Google Home, linia inteligentnych głośników domowych Google, nie ma odpowiedniego interfejsu API. Jednak nieustraszony programista Reddit zebrał nieoficjalną dokumentację, wąchając ruch w sieci lokalnej.
Strona główna Google, rosnąca linia głośników Google wyposażonych w sztuczną inteligencję, oferuje mnóstwo możliwości dla hobbystów zajmujących się inteligentnym domem. Problem w tym, że jest dość szczelnie zamknięty. Jeśli chodzi o dostęp do danych alarmów, ustawień, trybów Bluetooth i innych informacji na urządzeniu, masz dwie możliwości: sprawdzenie aplikacji towarzyszącej Google Home na smartfonie i/lub tablecie lub krzyknięcie: Komenda. W tej chwili Google Home nie ma odpowiedniego interfejsu API.
Nie powstrzymało to nieustraszonego programisty ds Subreddit Google Home od samodzielnego złożenia jednego. Redditor rithvikvibhu skrupulatnie wąchał ruch na urządzeniu Google Home i rejestrował każde żądanie sieciowe, zestawiając wyniki w sprytnej ściągawce na Githubie. Jak dotąd udało mu się zidentyfikować lokalne polecenia GET i POST dotyczące ustawień korektora, opcji urządzenia, trybu nocnego i innych, a także żądania połączenia, które zwracają konfigurację Wi-Fi danego głośnika, listę obsługiwanych stref czasowych i ustawień regionalnych oraz nazwy połączonych Urządzenia Bluetooth.
To stosunkowo prosty proces. Po zidentyfikowaniu adresu IP głośnika Google Home za pomocą aplikacji takiej jak Rzucać, możesz wykonywać wywołania GET i POST, dołączając do adresu identyfikatory URI w dokumentacji lokalnego interfejsu API Google Home.
Na przykład ten identyfikator URI pobiera listę lokalnych alarmów i timerów na głośniku Google Home:
/setup/assistant/alarms
Oto wywołanie GET (znaki „X” są symbolami zastępczymi):
http://192.168.x.x: 8008/setup/assistant/alarms
Przejście pod ten adres na dowolnym urządzeniu podłączonym do tej samej sieci co Google Home spowoduje zwrócenie odpowiedzi JSON z rozszerzeniem dzień, miesiąc, rok i godzinę zaplanowanego włączenia alarmu:
Ten powiązany identyfikator URI zwraca plik głośność alarmu i timera na głośniku Google Home:
/setup/assistant/alarms/volume
Wywołanie POST zwraca poziom głośności w postaci dziesiętnej:
0.8199999928474426
Jeśli czujesz się odważny, ten identyfikator URI uruchamia się ponownie urządzenie Google Home:
/setup/reboot
Nieoficjalna dokumentacja lokalnego interfejsu API Google Home jest dostępna na stronie rithvikvibhu Repozytorium Githubawraz z kodem niezbędnym do jego użycia. Pamiętaj jednak, że nie jest to w żaden sposób oficjalne — nie oczekuj, że interfejsy API będą zachowywać się przewidywalnie.
Źródło: Lokalny interfejs API Google HomeŹródło 2: /r/GoogleHome