Google Home har ett odokumenterat lokalt API som du nu kan komma åt

Google Home, Googles sortiment av smarta hemhögtalare, saknar ett ordentligt API. Men en oförskämd utvecklare på Reddit satte ihop inofficiell dokumentation genom att sniffa lokal nätverkstrafik.

Google Home, Googles växande sortiment av AI-drivna högtalare, erbjuder en mängd möjligheter för amatörer för smarta hem. Problemet är att det är ganska hårt låst. När det gäller åtkomst till larmdata, inställningar, Bluetooth-lägen och annan information på enheten har du två alternativ: Kontrollera Google Home-appen på din smartphone och/eller surfplatta, eller ropa ett kommando. Just nu saknar Google Home ett riktigt API.

Det har inte stoppat en oförskämd utvecklare på Google Home subreddit från att sätta ihop en själv. Redditor rithvikvibhu sniffade mödosamt trafiken på en Google Home-enhet och spelade in varje nätverksbegäran och samlade resultaten i ett snyggt fuskark på Github. Hittills har han lyckats identifiera lokala GET- och POST-kommandon för equalizerinställningar, enhetsalternativ, nattläge och mer, förutom anslutningsbegäranden som returnerar en given högtalares Wi-Fi-konfiguration, dess lista över tidszoner och lokaler som stöds och namnen på bundna Bluetooth-enheter.

Det är en relativt enkel process. När du har identifierat IP-adressen för din Google Home-högtalare genom att använda en app som Förälskelse, kan du göra GET- och POST-anrop genom att lägga till adressen med URI: er i Google Homes lokala API-dokumentation.

Denna URI tar till exempel en lista över lokala larm och timers på en Google Home-högtalare:

/setup/assistant/alarms

Här är GET-anropet ("X"-märkena är platshållare):

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

Om du navigerar till den adressen på valfri enhet som är ansluten till samma nätverk som Google Home returneras ett JSON-svar med dag, månad, år och tid då alarmet är schemalagt att ljuda:

Källa: Google Home Local API

Denna relaterade URI returnerar larm och timervolym på en Google Home-högtalare:

/setup/assistant/alarms/volume

POST-anropet returnerar volymnivån i decimalform:

0.8199999928474426

Om du känner dig modig, denna URI startar om en Google Home-enhet:

/setup/reboot

Den inofficiella dokumentationen för Google Homes lokala API finns på rithvikvibhus Github-förvaret, tillsammans med koden som krävs för att använda den. Kom dock ihåg att det inte på något sätt är officiellt – förvänta dig inte att API: erna ska bete sig förutsägbart.


Källa: Google Home Local APIKälla 2: /r/GoogleHome