Алиса и Home Assistant
Небольшое введение
Open-source платформа умного дома Home Assistant (а подробнее на русском например, здесь), написанная на питоне, поддерживает Amazon Alexa и Google Assistant. К сожалению, на момент написания статьи Yandex Smart Home / Алисы в комплектных компонентах Ассистента отсутствует. Но есть и хорошая новость: существует система пользовательских компонентов, позволяющая добавить такую поддержку вручную. После завершения всех действий Home Assistant окажется виртуальным производителем в списке поставщиков УД приложения Яндекс.
Далее подразумевается, что Home Assistant уже настроен и работает - и осталось только соединить его с системой умного дома Яндекса.
Возможности компонента
Неофициальный компонент из текущей инструкции пока может только включать-выключать устройства. В будущем планируется:
- поддержка громкости/mute в media_player;
- яркость/цвет ламп;
- скорость увлажнителя/вентилятора.
Подключение компонента
- Создать папку custom_component внутри каталога настроек, если такой нет (например, ~/.homeassistant/custom_component);
- Склонировать (или скачать архив и распаковать) https://github.com/dmitry-k/yandex_smart_home в созданную папку .homeassistant/custom_component (в результате получится, например ~/.homeassistant/custom_component/yandex_smart_home)
- Включить компонент в configuration.yaml:
- минимальная настройка - добавить строку "yandex_smart_home:"
- более тонкая настройка описана в README на github
- Перезапустить Home Assisstant
- Зайти на dialogs.yandex.ru и создать диалог "Умный дом" (ВАЖНО: это необходимо сделать из-под того аккаунта, который планируется использовать!)
- Заполнить форму;
- в качестве Endpoint URL использовать https://[YOUR HOME ASSISTANT URL:PORT]/api/yandex_smart_home
- включить приватность.
- На https://dialogs.yandex.ru/developer/settings/oauth создать связку аккаунтов:
Client identifier https://social.yandex.net/ API authorization endpoint https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize Token Endpoint https://[YOUR HOME ASSISTANT URL:PORT]/auth/token Refreshing an Access Token https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
- Опубликовать/"Отправить на модерацию" (для приватных навыков она автоматическая и моментальная).
- В приложении Яндекс на Android/iOS добавить устройства (созданный нами диалог должен появиться в популярных производителях).