De Google Home heeft een ongedocumenteerde lokale API waartoe u nu toegang heeft

click fraud protection

Google Home, de reeks slimme thuisluidsprekers van Google, mist een goede API. Maar een onverschrokken ontwikkelaar op Reddit heeft onofficiële documentatie samengesteld door lokaal netwerkverkeer te bespeuren.

Google huis, de groeiende reeks AI-aangedreven luidsprekers van Google, biedt een schat aan mogelijkheden voor smart home-hobbyisten. Het probleem is dat het behoorlijk stevig is vergrendeld. Als het gaat om toegang tot alarmgegevens, instellingen, Bluetooth-modi en andere informatie op het apparaat, dan heeft u de keuze twee opties: de Google Home Companion-app op uw smartphone en/of tablet controleren, of een roepen commando. Op dit moment mist Google Home een goede API.

Dat heeft een onverschrokken ontwikkelaar op de Google Home-subreddit door er zelf eentje in elkaar te zetten. Redditor rithvikvibhu snoof nauwgezet het verkeer van een Google Home-apparaat op en registreerde elk netwerkverzoek, waarbij de resultaten werden verzameld in een handig spiekbriefje op Github. Tot nu toe is hij erin geslaagd lokale GET- en POST-opdrachten te identificeren voor equalizerinstellingen, apparaatopties, nachtmodus en meer, naast connectiviteitsverzoeken die de Wi-Fi-configuratie van een bepaalde spreker retourneren, de ondersteunde lijst met tijdzones en landinstellingen, en de namen van verbonden Bluetooth-apparaten.

Het is een relatief eenvoudig proces. Nadat je het IP-adres van je Google Home-luidspreker hebt geïdentificeerd met behulp van een app zoals Gooien, kunt u GET- en POST-aanroepen uitvoeren door het adres toe te voegen met URI's in de lokale API-documentatie van Google Home.

Deze URI haalt bijvoorbeeld een lijst met lokale alarmen en timers op een Google Home-luidspreker:

/setup/assistant/alarms

Hier is de GET-oproep (de "X"-markeringen zijn tijdelijke aanduidingen):

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

Als u naar dat adres navigeert op elk apparaat dat is verbonden met hetzelfde netwerk als de Google Home, wordt een JSON-antwoord geretourneerd met de dag, maand, jaar en tijd waarop het alarm moet klinken:

Bron: Google Home Lokale API

Deze gerelateerde URI retourneert de alarm- en timervolume op een Google Home-luidspreker:

/setup/assistant/alarms/volume

De POST-oproep retourneert het volumeniveau in decimale vorm:

0.8199999928474426

Als je moedig bent: deze URI wordt opnieuw opgestart een Google Home-apparaat:

/setup/reboot

De onofficiële documentatie voor de lokale API van Google Home is beschikbaar op rithvikvibhu's Github-opslagplaats, samen met de code die nodig is om het te gebruiken. Houd er echter rekening mee dat het op geen enkele manier officieel is: verwacht niet dat de API's zich voorspelbaar gedragen.


Bron: Google Home Lokale APIBron 2: /r/GoogleHome