Перейти к содержанию

Алиса и Home Assistant: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 20: Строка 20:




Неофициальный компонент из текущей инструкции пока может только '''включать-выключать устройства'''. В будущем планируется:  
Неофициальный компонент из текущей инструкции пока поддерживает следующие категории устройств:
* поддержка громкости/mute в media_player;
climate (вкл/выкл, температура, режим, скорость вентиляции)
* яркость/цвет ламп;
cover (вкл/выкл = закрыть/открыть)
* скорость увлажнителя/вентилятора.
fan (вкл/выкл, скорость)
 
group (вкл/выкл)
input_boolean (вкл/выкл)
light (вкл/выкл, яркость, цвет, цветовая температура)
media_player (вкл/выкл, вкл/выкл звука)
switch (вкл/выкл)
vacuum (вкл/выкл)


== Подключение компонента ==
== Подключение компонента ==

Версия от 16:58, 12 июня 2019

Знания Применение информации с этой страницы требует специальных знаний и навыков
Всё описанное на этой странице вы производите на свой страх и риск, включая нарушение работы программного обеспечения и выход из строя оборудования, а также риск поражения током и травмы.
Материал носит информационный характер, и не является прямым указанием к действию!

Небольшое введение

Open-source платформа умного дома Home Assistant (а подробнее на русском например, здесь), написанная на питоне, поддерживает Amazon Alexa и Google Assistant. К сожалению, на момент написания статьи Yandex Smart Home / Алисы в комплектных компонентах Ассистента отсутствует. Но есть и хорошая новость: существует система пользовательских компонентов, позволяющая добавить такую поддержку вручную. После завершения всех действий Home Assistant окажется виртуальным производителем в списке поставщиков УД приложения Яндекс.

Далее подразумевается, что Home Assistant уже настроен и работает - и осталось только соединить его с системой умного дома Яндекса.

Возможности компонента

Неофициальный компонент из текущей инструкции пока поддерживает следующие категории устройств: climate (вкл/выкл, температура, режим, скорость вентиляции) cover (вкл/выкл = закрыть/открыть) fan (вкл/выкл, скорость) group (вкл/выкл) input_boolean (вкл/выкл) light (вкл/выкл, яркость, цвет, цветовая температура) media_player (вкл/выкл, вкл/выкл звука) switch (вкл/выкл) vacuum (вкл/выкл)

Подключение компонента

  • Склонировать (или скачать архив и распаковать) github.com/dmitry-k/yandex_smart_home в созданную папку .homeassistant/custom_components (в результате получится, например ~/.homeassistant/custom_components/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
    • включить приватность.
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 добавить устройства (созданный нами диалог должен появиться в популярных производителях).


PROFIT!!!

Возможные ошибки

Bad certificate

Опытным путём выяснилось, возникает не только для этого компонента, но и ряда Навыков. Тонкие настройки ssl, nginx с белым ip и корректным ssl от letsencrypt - к успеху не привели. При этом та же система работает с большинством других навыков.

Найденное решение: на сервере должен быть fullchain сертификат.