Google Home ima nedokumentirani lokalni API kojem sada možete pristupiti

Google Home, Googleova linija pametnih kućnih zvučnika, nema odgovarajući API. Ali neustrašivi programer na Redditu sastavio je neslužbenu dokumentaciju njuškajući promet lokalne mreže.

Google Home, Googleova rastuća linija zvučnika pokretanih umjetnom inteligencijom, nudi mnoštvo mogućnosti za hobiste pametnog doma. Problem je što je prilično čvrsto zaključan. Kada je u pitanju pristup podacima o alarmima, postavkama, Bluetooth načinima rada i drugim informacijama na uređaju, imate dvije mogućnosti: Provjera prateće aplikacije Google Home na vašem pametnom telefonu i/ili tabletu ili vikanje a naredba. Od sada Google Home nema odgovarajući API.

To nije spriječilo neustrašivog programera u Google Home subreddit od toga da sam sastavi jedan. Redditor rithvikvibhu mukotrpno je njuškao promet Google Home uređaja i bilježio svaki mrežni zahtjev, slažući rezultate u zgodnu varalicu na Githubu. Do sada je uspio identificirati lokalne GET i POST naredbe za postavke ekvilizatora, opcije uređaja, noćni način rada i više, uz zahtjeve za povezivanje koji vraćaju Wi-Fi konfiguraciju određenog zvučnika, njegov podržani popis vremenskih zona i lokaliteta te imena povezanih Bluetooth uređaji.

To je relativno jednostavan proces. Nakon što identificirate IP adresu svog Google Home zvučnika pomoću aplikacije poput Baciti, možete uputiti GET i POST pozive dodavanjem adrese s URI-jima u Google Home lokalnoj dokumentaciji API-ja.

Ovaj URI, na primjer, dohvaća popis lokalnih alarma i mjerača vremena na Google Home zvučniku:

/setup/assistant/alarms

Evo GET poziva (oznake "X" su rezervirana mjesta):

http://192.168.x.x: 8008/setup/assistant/alarms

Navigacija do te adrese na bilo kojem uređaju spojenom na istu mrežu kao Google Home vratit će JSON odgovor s dan, mjesec, godina i vrijeme kada se alarm treba oglasiti:

Izvor: Google Home Local API

Ovaj povezani URI vraća glasnoću alarma i timera na Google Home zvučniku:

/setup/assistant/alarms/volume

POST poziv vraća razinu glasnoće u decimalnom obliku:

0.8199999928474426

Ako se osjećate hrabro, ovaj URI ponovno pokretanje Google Home uređaj:

/setup/reboot

Neslužbena dokumentacija za lokalni API za Google Home dostupna je na rithvikvibhu's Github spremište, zajedno s kodom potrebnim za njegovu upotrebu. Ipak, imajte na umu da to ni na koji način nije službeno -- nemojte očekivati ​​da će se API-ji ponašati predvidljivo.


Izvor: Google Home Local APIIzvor 2: /r/GoogleHome