Google Home, гамата от интелигентни домашни високоговорители на Google, няма подходящ API. Но безстрашен разработчик на Reddit събра неофициална документация, като надуши трафика на локалната мрежа.
Начална страница на Google, нарастващата гама на Google от високоговорители, работещи с AI, предлага изобилие от възможности за любителите на интелигентния дом. Проблемът е, че е заключен доста здраво. Когато става въпрос за достъп до данни за аларми, настройки, Bluetooth режими и друга информация на устройството, вие имате две опции: Проверка на придружаващото приложение Google Home на вашия смартфон и/или таблет или извикване a команда. Към момента Google Home няма подходящ API.
Това не е спряло един безстрашен разработчик на Google Home subreddit от сглобяването на един сам. Redditor ритвиквибху старателно надуши трафика на устройство Google Home и записа всяка мрежова заявка, като съпостави резултатите в страхотен измамен лист в Github. Досега той успя да идентифицира локални команди GET и POST за настройки на еквалайзера, опции на устройството, нощен режим и други, в допълнение към заявки за свързване, които връщат Wi-Fi конфигурацията на даден говорител, поддържания списък с часови зони и локали и имената на свързаните Bluetooth устройства.
Това е относително прост процес. След като идентифицирате IP адреса на своя високоговорител Google Home с помощта на приложение като Хвърляне, можете да правите GET и POST извиквания, като добавите адреса с URI в документацията за локалния API на Google Home.
Този URI, например, грабва списък с локални аларми и таймери на високоговорител на Google Home:
/setup/assistant/alarms
Ето извикването GET (знаците "X" са контейнери):
http://192.168.x.x: 8008/setup/assistant/alarms
Навигирането до този адрес на всяко устройство, свързано към същата мрежа като Google Home, ще върне JSON отговор с ден, месец, година и час, когато е планирано да звучи алармата:
Този свързан URI връща звук на алармата и таймера на високоговорител Google Home:
/setup/assistant/alarms/volume
Извикването POST връща нивото на звука в десетична форма:
0.8199999928474426
Ако се чувствате смели, този URI рестартира устройство Google Home:
/setup/reboot
Неофициалната документация за локалния API на Google Home е достъпна на rithvikvibhu's Github хранилище, заедно с кода, необходим за използването му. Имайте предвид обаче, че това по никакъв начин не е официално - не очаквайте API да се държат предвидимо.
Източник: Google Home Local APIИзточник 2: /r/GoogleHome