Многие люди, вероятно, не знают, что в Google Columns есть свои собственные локальный API .
Я сейчас не говорю о протоколе Chromecast, который, несомненно, хорош.
Я говорю об API, который позволяет настраивать колонки Google с помощью мобильного приложения Google Home.
Первая информация об этом протоколе появилась в январе 2018 года.
API можно было свободно использовать внутри локальной сети.
В январе 2019 года Google выпустила обновление, которое добавило обязательную авторизацию.
Для выполнения команд требовался локальный токен — так же, как и в колонки яндекса .
Сообщество нашло решение в виде запуска виртуальной машины с рутованным Android, а затем извлечение токенов из приложения Google Home через adb. Сложность этого подхода заставила многих отказаться от этого API. А совсем недавно автор неофициальной документации локального API предложил более цивилизованный способ получения локального токена — с помощью логина и пароля от аккаунта Google. Во-первых, вам необходимо получить мастер-токен для вашей учетной записи Google. Для этого вам нужно прикинуться Android-приложением от Google, используя библиотеку gpsoauth (Сервисы Google Play OAuth).
В целях безопасности вы можете создать и использовать пароль Google Apps вместо основного пароля.
И в конце сохраните только токен.
Это длится долго.
Затем, используя ту же библиотеку, получите токен доступа.
И с его помощью, с помощью утилиты gRPCurl и файл, предложенный автором прото , получить ваш Главная График .
Сам Home Graph очень интересен: он содержит полную информацию о вашем умном доме Google, включая список устройств, комнат, местоположение во всех подробностях.
Home Graph имеет токены локальных столбцов.
Существует также список типов устройств, которые Google потенциально будет поддерживать.
Я насчитал 130 штук, и среди них есть кошачьи и собачьи «приборы».
Типы устройств из Home Graph AC_HEATING: кондиционер и обогреватель.
AC_UNIT: Кондиционер ВОЗДУШНЫЙ ОХЛАДИТЕЛЬ: Воздушный охладитель AIRFRESHENER: Освежитель воздуха.
ОЧИСТИТЕЛЬ ВОЗДУХА: Очиститель воздуха СИГНАЛИЗАЦИЯ: Тревога АУДИО_ВИДЕО_РЕСИВЕР: АВР АВТО: Автомобиль ТЕНТ: Тент СУМКА: Сумка ВАННА: Ванна БАТАРЕЯ: Аккумулятор КРОВАТЬ: Кровать ВЕЛОСИПЕД: Велосипед БЛЕНДЕР: Блендер ЖАЛЮЗИ: Жалюзи КОТЕЛ: Котел КНОПКА: Кнопка КАМЕРА: Камера CARBON_MONOXIDE_DETECTOR: Детектор угарного газа.
Кот кот ЗАРЯДНОЕ УСТРОЙСТВО: Зарядное устройство ХРОМЕКАСТ: Chromecast ЧАСЫ: Часы CLOCKRADIO: радиочасы ШКАФ: Шкаф ОДЕЖДА: Одежда COFFEE_MAKER: Кофеварка КОМПЬЮТЕР: Компьютер ВАРОЧНАЯ ПАНЕЛЬ: Варочная панель ЗАНАВЕС: Занавес ОСУШИТЕЛЬ: Осушитель ДЕГИДРАТОР: Дегидратор ПОСУДОМОЕЧНАЯ МАШИНА: Посудомоечная машина ДИСПЛЕЙ: Дисплей Собака Собака ДВЕРЬ: Дверь ДВЕРНОЙ ЗВОНОК: Дверной звонок ЯЩИК: Ящик СУШИЛКА: Сушилка ЛИФТ: Лифт ФАН: Фанат КРАН: Кран ФИЛЬТР: Фильтр КАМИН: Камин МОРОЗИЛЬНАЯ КАМЕРА: Морозильная камера ФРИТЮРНИЦА: Фритюрница GAME_CONSOLE: игровая консоль.
ГАРАЖ: Гараж САД: Сад ВОРОТА: Ворота GOOGLE_HOME: Спикер ГРИЛЬ: Гриль НАУШНИКИ: Наушники ОБОГРЕВАТЕЛЬ: Обогреватель КАПОТ: Вытяжка УВЛАЖНИТЕЛЬ: Увлажнитель IDBADGE: идентификационный бейдж ИНТЕРКОМ: Интерком ЧАЙНИК: Чайник КЛЮЧИ:Ключи НОУТБУК: Ноутбук СВЕТ: Свет LOCTORTAG: Тег локатора ЗАМОК: Замок ПОЧТОВЫЙ ЯЩИК: Почтовый ящик МАТРАС: Матрас МИКРОФОН: Микрофон МИКРОВОЛНОВАЯ ПЕЧЬ: Микроволновая печь МИКСЕР: Миксер Швабра: Швабра КОСИЛКА: Косилка МУЛЬТИВАРКА: Мультиварка СЕТЬ: Сеть БЛОКНОТ: Блокнот ВЫХОД: Выход ДУХОВКА: Духовка ПАСПОРТ: Паспорт ПЕРГОЛА: Пергола PETFEEDER: Кормушка для домашних животных ТЕЛЕФОН: Телефон ИЗОБРАЖЕНИЕ: Рамка для фотографий СКОРОВАРКА: Скороварка РАДИАТОР: Радиатор ХОЛОДИЛЬНИК: Холодильник ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ: Дистанционное управление РОБОТ: Робот КРЫША: Крыша МАРШРУТИЗАТОР: Маршрутизатор ПРОЦЕДУРА: Маршрутизатор СЦЕНА: Сцена ЭКРАН: Экран СИСТЕМА БЕЗОПАСНОСТИ: Система безопасности ДАТЧИК: Датчик SETTOP: ТВ-приставка ДУШ: Душ ЗАТВОР: Затвор SMOKE_DETECTOR: Детектор дыма ЗВУКОВАЯ БАР: Звуковая панель СУВИД: Плита су-вид. ДОКЛАДЧИК: Спикер SPEAKER_GROUP: группа докладчиков SPEAKER_PAIR: пара динамиков СПРИНКЛЕР: Спринклер STANDMIXER: Стационарный миксер STREAMING_BOX: Блок потоковой передачи STREAMING_SOUNDBAR: потоковая звуковая панель STREAMING_STICK: потоковая флешка СТАЙЛЕР: Стайлер ПЕРЕКЛЮЧАТЕЛЬ: Переключатель SYNCBOX: окно синхронизации.
ТАБЛЕТКА: Таблетка ТЕРМОСТАТ: Термостат ТУАЛЕТ: Туалет ИГРУШКА: ИГРУШКА ТВ:ТВ ЗОНТИК: Зонтик ВАКУУМ: Вакуум КЛАПАН: Клапан ВЕНТИЛЯТОР: Вентилятор КОШЕЛЕК: Кошелек СМОТРЕТЬ: Смотреть ШАЙБА: Шайба ВОДОНАГРЕВАТЕЛЬ: Водонагреватель ВОДООЧИСТИТЕЛЬ: Очиститель воды WATERSOFTENER: Смягчитель воды ПОГОДНАЯ СТАНЦИЯ: Метеостанция ОКНО:Окно ВИННЫЙ ПОГРЕБ: Винный погреб ЙОГУРТАВТОР: Йогуртница Так что хорошо локальный API ? С его помощью можно узнать список будильников и удалить их (создать их нельзя).
Вы можете управлять эквалайзером и режимом «Не беспокоить».
Но самое интересное, что вы можете искать окружающие Bluetooth-устройства.
В списке устройств Bluetooth будет указан MAC-адрес и уровень сигнала.
И, если можно, название и класс устройства.
На основе этих данных можно построить «логику присутствия».
Конечно, при условии, что ваши устройства позволяют себя обнаружить.
В Home Assistant когда-нибудь это было долго именно такой компонент, но оно было удалено после появления авторизации в API. Если у вас в доме есть несколько колонок Google, можно попробовать реализовать позиционирование человека внутри квартиры.
мне хватит много проектов сделать это также.
Но я надеюсь, что кто-то воспользуется этими знаниями и сделает что-то крутое для себя, а может и для сообщества.
Теги: #Разработки для Интернета вещей #Гаджеты #Умный дом #Bluetooth #google home #google home mini
-
Скройте Свой Ip-Адрес На Mac – Снова
19 Oct, 24 -
Система Доставки Почты: Лавина Спама
19 Oct, 24 -
Службы Терминалов: Windows Server 2008 (R2)
19 Oct, 24 -
Ning: Платформа Для Социальных Приложений
19 Oct, 24