Google Home, Googles utvalg av smarthushøyttalere, mangler et skikkelig API. Men en uforferdet utvikler på Reddit satte sammen uoffisiell dokumentasjon ved å snuse lokal nettverkstrafikk.
Google Home, Googles voksende utvalg av AI-drevne høyttalere, tilbyr et vell av muligheter for amatører av smarte hjem. Problemet er at det er ganske tett låst. Når det gjelder tilgang til alarmdata, innstillinger, Bluetooth-moduser og annen informasjon på enheten, har du to alternativer: Sjekke Google Home-appen på smarttelefonen og/eller nettbrettet, eller rope en kommando. Per nå mangler Google Home en skikkelig API.
Det har ikke stoppet en uforferdet utvikler på Google Home subreddit fra å sette sammen en selv. Redditor rithvikvibhu snuste møysommelig trafikken til en Google Home-enhet og registrerte hver nettverksforespørsel, og samlet resultatene i et lurt jukseark på Github. Så langt har han klart å identifisere lokale GET- og POST-kommandoer for equalizerinnstillinger, enhetsalternativer, nattmodus og mer, i tillegg til tilkoblingsforespørsler som returnerer en gitt høyttalers Wi-Fi-konfigurasjon, dens støttede liste over tidssoner og lokaliteter, og navnene på bundet Bluetooth-enheter.
Det er en relativt enkel prosess. Etter at du har identifisert IP-adressen til Google Home-høyttaleren din ved å bruke en app som Flørt, kan du foreta GET- og POST-anrop ved å legge til adressen med URIer i Google Homes lokale API-dokumentasjon.
Denne URIen, for eksempel, fanger en liste over lokale alarmer og tidtakere på en Google Home-høyttaler:
/setup/assistant/alarms
Her er GET-kallet (X-merkene er plassholdere):
http://192.168.x.x: 8008/setup/assistant/alarms
Navigering til den adressen på en hvilken som helst enhet som er koblet til det samme nettverket som Google Home vil returnere et JSON-svar med dag, måned, år og klokkeslett for alarmen er planlagt å gå:
Denne relaterte URI-en returnerer alarm og timervolum på en Google Home-høyttaler:
/setup/assistant/alarms/volume
POST-anropet returnerer volumnivået i desimalform:
0.8199999928474426
Hvis du føler deg modig, denne URI starter på nytt en Google Home-enhet:
/setup/reboot
Den uoffisielle dokumentasjonen for Google Homes lokale API er tilgjengelig på rithvikvibhus Github-depot, sammen med koden som kreves for å bruke den. Husk imidlertid at det på ingen måte er offisielt – ikke forvent at API-ene oppfører seg forutsigbart.
Kilde: Google Home Local APIKilde 2: /r/GoogleHome