Google Home, la gamme d'enceintes intelligentes de Google, ne dispose pas d'une API appropriée. Mais un développeur intrépide sur Reddit a reconstitué une documentation non officielle en reniflant le trafic du réseau local.
Accueil Google, la gamme croissante d'enceintes alimentées par l'IA de Google, offre une multitude de possibilités aux amateurs de maison intelligente. Le problème, c'est qu'il est assez étroitement verrouillé. Lorsqu'il s'agit d'accéder aux données d'alarmes, aux paramètres, aux modes Bluetooth et à d'autres informations sur l'appareil, vous disposez de deux options: consulter l'application compagnon Google Home sur votre smartphone et/ou tablette, ou crier un commande. Pour le moment, Google Home ne dispose pas d’une API appropriée.
Cela n'a pas arrêté un développeur intrépide sur le Sous-reddit Google Home d'en reconstituer un lui-même. Rédacteur rithvikvibhu a minutieusement reniflé le trafic d'un appareil Google Home et enregistré chaque requête réseau, rassemblant les résultats dans une aide-mémoire astucieuse sur Github. Jusqu'à présent, il a réussi à identifier les commandes locales GET et POST pour les paramètres de l'égaliseur, les options de l'appareil, le mode nuit, etc., en plus de requêtes de connectivité qui renvoient la configuration Wi-Fi d'un haut-parleur donné, sa liste de fuseaux horaires et de paramètres régionaux pris en charge, ainsi que les noms des utilisateurs liés. Appareils Bluetooth.
C'est un processus relativement simple. Après avoir identifié l'adresse IP de votre enceinte Google Home à l'aide d'une application telle que Jeter, vous pouvez effectuer des appels GET et POST en ajoutant l'adresse avec des URI dans la documentation de l'API locale de Google Home.
Cet URI, par exemple, récupère une liste d'alarmes et de minuteries locales sur un haut-parleur Google Home :
/setup/assistant/alarms
Voici l'appel GET (les marques "X" sont des espaces réservés) :
http://192.168.x.x: 8008/setup/assistant/alarms
Naviguer vers cette adresse sur n'importe quel appareil connecté au même réseau que Google Home renverra une réponse JSON avec le jour, mois, année et heure à laquelle l'alarme doit retentir:
Cet URI associé renvoie le volume de l'alarme et de la minuterie sur une enceinte Google Home :
/setup/assistant/alarms/volume
L'appel POST renvoie le niveau de volume sous forme décimale :
0.8199999928474426
Si vous vous sentez courageux, cet URI redémarre un appareil Google Home :
/setup/reboot
La documentation non officielle de l'API locale de Google Home est disponible sur le site de rithvikvibhu. Dépôt Github, ainsi que le code requis pour l'utiliser. Gardez cependant à l’esprit que ce n’est en aucun cas officiel: ne vous attendez pas à ce que les API se comportent de manière prévisible.
Source: API locale de Google HomeSource 2: /r/GoogleHome