Управление умным домом Home Assistant через Яндекс Алиса

23 мая Яндекс представила свою систему “Умный Дом”. Умными устройствами можно управлять не только из мобильного приложения «Яндекс», но и голосом через помощника Алиса и умные колонки.  Нам же необходимо управлять устройствами Home Assistant, нормальную поддержку которого, на данный момент можно получить лишь с помощью пользовательского комонента.

На просторах GitHub был найден компонент, позволяющий подружить Алису и Home Assistant: https://github.com/dmitry-k/yandex_smart_home

Скачиваем из него все файлы и переносим в custom_components/yandex_smart_home/

Затем в configuration.yaml добавляем:

yandex_smart_home: !include yandex_smart_home.yaml

и создаем сам файл yandex_smart_home.yaml

В нем нужно прописать, какие типы устройств нужно добавить в Алису, а так же можно вручную указать имена для нужных устройств и их комнаты (если они не обозначены в самом Home Assistant):

exposed_domains:
  - switch
  - light
  - group
  - media_player
  - cover
  - input_boolean
  - fan

# Устройства:
entity_config:

# Спальня:
  light.bedroom_light:
    name: 'Cвет'
    room: 'Спальня'

и так далее.

Теперь переходим на https://dialogs.yandex.ru/developer/ и создаем Диалог Умный Дом.

Заполняем все поля в соответствии с инструкцией в репозитории:

Endpoint URLhttps://[YOUR HOME ASSISTANT URL:PORT]/api/yandex_smart_home

Теперь в новой вкладке перейдем в https://dialogs.yandex.ru/developer/settings/oauth и настроим Связку аккаунтов:

Client identifierhttps://social.yandex.net/
API authorization endpointhttps://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize
Token Endpointhttps://[YOUR HOME ASSISTANT URL:PORT]/auth/token
Refreshing an Access Tokenhttps://[YOUR HOME ASSISTANT URL:PORT]/auth/token

Сохраняем, возвращаемся на вкладку создания Диалога, и выбираем созданную связку аккаунтов. Перезагружаем Home Assistant.

Скачиваем приложение Яндекс, заходим в аккаунт и жмем Устройства:

Жмем Умный дом:

Добавить устройство:

И выбираем созданный ранее Диалог:

Объединить аккаунты:

Откроется страница авторизации нашего Home Assistant, авторизуемся.

Затем Обновить список устройств:

И переходим к списку устройств.

Если все настроено правильно, можно смело просить Алису включить свет, установить ночник на 70% яркости и так далее

Огромное спасибо автору компонента https://github.com/dmitry-k

Поделитесь с друзьями
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

46 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Sem2000
Sem2000
5 лет назад

После добавления компоненты и yaml файла в «Состояние» HA ничего не появляется ?

Азат
5 лет назад

1. Почему-то после настройки Диалога я не вижу «своего устройства» в списке Яндекса. У меня там филипс хью и далее по списку популярных производителей. Может быть, Диалог ещё нужно отправить на модерацию или без неё должен появиться? Галочка «Опубликовать в каталоге» включена. 2. Не знаете ли, как потом дать доступ к моему диалогу другим домочадцам? Отправлять на модерацию и, возможно, дом перейдёт под управление всего мира? Или каждому из членов семьи создавать в своей яндексовой учётке такой же диалог? 3. Если с компьютера открыть страницу https://quasar.yandex.ru/skills/iot/ , должен ли пользователь увидеть там свой настроенный диалог или он только строго в… Подробнее »

Азат
5 лет назад
Ответить на  kvv

Действительно, надо бы сделать s/Сохраняем, возвращаемся на вкладку создания Диалога, и выбираем созданную связку аккаунтов. /Сохраняем, возвращаемся на вкладку создания Диалога, и выбираем созданную связку аккаунтов. Отправляем Диалог на модерацию. Если галочка «опубликовать в каталоге» не включена, модерация происходит мгновенно. / Правда мне это не до конца помогло. Диалог в списке появился, после нажатия «Соединить аккаунты» открывается страница логина в hass, логинюсь, возвращаюсь в Яндекс, а список устройств всё равно пустой. Попробую ещё с аккаунта супруги проделать эти трюки. Кстати, я так понял, русскоязычных пользователей hass множество, но ещё нет места для коммуникации в более реальном времени. Приглашаю всех в… Подробнее »

Азат
5 лет назад

Наконец-то получилось! На всякий случай опишу свои мытарства, вдруг ещё кто столкнётся с ошибками при связке аккаунтов. Сначала должен сказать, что лично у меня все андроиды старые (4.4), более-менее новый установлен в автомобильной системе. Соответственно на моих устройствах последнее приложение Яндекса седьмой версии, где нет настроек умного дома. Бегать в машину для настройки мне надоело и я решился запустить виртуалку. Поставил android studio, создал android virtual device (сначала эмулировал pixel 2 с android q, но там почему-то google play ничего не скачивал, поэтому вторым вариантом создал nexus 5 с android q), поставил туда Яндекс и дальше действовал по инструкции. Устройства… Подробнее »

Азат
5 лет назад
Ответить на  Азат

Оказывается, все команды конкретного «устройства» можно посмотреть на https://quasar.yandex.ru/skills/iot/

Плеер
Пульт управления
Голосовые команды
Вы можете управлять этим устройством с помощью голоса. Вот какие команды поймёт Алиса:
Алиса,
включи плеер
выключи плеер
выключи звук на плеере
выключи звук плеера
включи звук на плеере
включи звук плеера

Маловато пока что, но хоть что-то.

Азат
5 лет назад
Ответить на  kvv

media_player:
— platform: kodi
host: 192.168.1.20
name: Кухня
username: user
password: pwd
turn_off_action:
service: media_player.media_pause
turn_on_action:
service: media_player.media_play

Да, по умолчанию работает только включение/выключение звука, но если такой конфиг написать, то по командам «выключи/включи плеер на кухне» Алиса останавливает и продолжает воспроизведение. Только что проверил. Соответственно, работает команда «выключи всё на кухне». Мне этого предостаточно.

Игорь
Игорь
5 лет назад

Полезная информация! Но у меня почему то не заработало в ХА при дабовлении yandex_smart_home: !include yandex_smart_home.yaml и создании файла файл конфигурации не проходит проверку и соответственно Ха не грузится!

Игорь
Игорь
5 лет назад
Ответить на  kvv

Спасибо направление )) Хоть понял в чем дело ))

Сергей
Сергей
5 лет назад
Ответить на  Игорь

Это уже починичили

Азат
5 лет назад
Ответить на  kvv

Вы в багтрекере написали, что фикс работает с климатическим оборудованием. Что за оборудования у Вас, можно ли узнать? Кондиционер или котёл? Интереснее всего было бы почитать развёрнутую статью на Вашем сайте.

Игорь
Игорь
5 лет назад

Я конечно не в тему НО! Кто подскажет как сделать ssl Hassio что бы https:// было!

Игорь
Игорь
5 лет назад
Ответить на  kvv

ssl работает и в локальной и с инета через duckdns! а вот в яндекс где добавлять устройства соединение аккаунтов по чему то не происходит

Игорь
Игорь
5 лет назад
Ответить на  Игорь

Разобрался! Это был глюк телефона! А с компа такое вообще не работает!

Алексей
Алексей
4 лет назад
Ответить на  Игорь

мне расскажите

Сергей
Сергей
5 лет назад

Может кто сталкивался, все сделал по инструкции. Объединение аккаунтов проходит нормально, запрашивается авторизация и проходит. Потом нажимаю «обновить список устройств» и выходит «Internal Server Error». Пробовал пересоздавать яндекс навык, тоже самое.
Куда можно копать? Логи custom components в ha ничего не показывают. Включил их в настройках.
Как-то можно понять в чем ошибка?

Сергей
Сергей
5 лет назад
Ответить на  kvv

Первый раз ставил.

Сергей
Сергей
5 лет назад
Ответить на  kvv

ок, попробую поковырять компонент, питон я знаю. Может чего-то найду.

Сергей
Сергей
5 лет назад
Ответить на  Сергей

Проблема была с настройками ha, сбросил конфиг на дефолт стало все работать. Буду по половине добавлять обратно, может найду причину что вызывало internal server error.

Эдуард
Эдуард
4 лет назад
Ответить на  Сергей

Всем здрасте! Выложу тут свою переписку с техподдержкой Алисы. Может кому нить и поможет… 1. «Здравствуйте! Сделал систему Умный дом на основе Home Assistant + Яндекс.Алиса + Умные колонки IRBIS A. Вот по этой инструкции https://kvvhost.ru/2019/05/31/home-assistant-alice/ Некоторое время все работало отлично. Но потом упал сервер Home Assistant. Я его восстановил из бекапа. Вроде все заработало, но при подключении Алисы, при обновлении устройств возникает ошибка. Тестировал в Яндекс.Диалоги, то же выскакивает ошибка при обновлении списка устройств. Помогите пожалуйста!» 2. «Пожалуйста, пришлите ссылку на настройки диалога. Для этого необходимо перейти в личный кабинет ( https://dialogs.yandex.ru/developer/ ), выбрать диалог, скопировать ссылку в адресной… Подробнее »

Максим
Максим
4 лет назад
Ответить на  Эдуард

Как вы отключили ipv6 ?

Эдуард
Эдуард
4 лет назад
Ответить на  Максим

Здравствуйте! Надо отключить не сам ipv6, а сделать так, что бы на запрос вашего доменного имени с HA, dns сервер выдавал адрес в формате ipv4. Сделать это проще в админке вашего регистратора или хостера. Необходимо отредактировать записи зоны вашего днс имени, просто сотрите запись АААА.

Максим
Максим
4 лет назад
Ответить на  Эдуард

Эдуард, извините может за глупый вопрос…. админке вашего регистратора или хостера? это где на роуторе или на сайте duckdns.org где зарегистрировано имя? подскажите как правильно.

Эдуард
Эдуард
4 лет назад
Ответить на  Максим

Это там, где вы регистрировали свое доменное имя для своего HA. Хотя, если вы воспользовались duckdns.org, то я не знаю где он хранить днс зоны. Просто, по возможности, лучше у вашего провайдера получить белый ip адрес (100 р в месяц) и не извращаться со всякими заморочками. Имея белый ip адрес, регистрируете собственное доменное имя у регистратора (например reg.ru) он вам предоставляет свои днс серверы и панель управления. Там вы и творите чудеса. Попробуйте хотя бы на роутере отрубить ipv6, может поможет…

Алексей
Алексей
4 лет назад

не могу заполнить вкладку: Создание связки аккаунтов, выдает ошибку….куда копать?

Гарегин
Гарегин
4 лет назад
Ответить на  kvv

Тоже никак не могу заполнить, пишет «Произошла ошибка». Причем ссылка https://dialogs.yandex.ru/developer/settings/oauth ведет к настройкам. где нет вкладки «Связка аккаунтов». Обращался в поддержку Яндекса их ответ: » Нам понадобится некоторое время, чтобы разобраться в причине возникшей ситуации. Как только у меня появятся новости, я свяжусь с вами!»

kostrum
kostrum
4 лет назад

Всем привет!
Подскажите как можно управлять через Алису своими девайсами в HA с таймером.
Суть: моугу сказать «включи свет в зале» и она включит. А вот если сказать «Алиса, включи свет в зале через 5 минут» она ответит что не может.
Может возможно как-то настроить для подобного?

Lenny
Lenny
4 лет назад

А есть вариант без открытия портов сервера HA наружу?

ps. Гугль авторизация у вас не работает

Vladimir Podgoretskiy
3 лет назад

Друзья, прошу помощи. Успешно интегрировал свой HA c Алисой. Могу управлять из Алисы светом, скриптами (на скриптах настроил включение ТВ).
Проблема в следующем. В HA создал «виртуальный» сенсор температуры через шаблон. Он у меня успешно подтянулся в Алису, там даже видно значение этого датчика. Но как ГОЛОСОМ спросить у Алисы значение этого датчика? Если «зайти» в этот датчик, там даже нет вкладки «голосовые команды» (с случае с телевизором и светом она есть)

Снимок2.PNG
Павел
Павел
3 лет назад
Ответить на  kvv

здравствуйте я новичок в этом деле но у меня все получилось в Алису подсосались датчики температуры в доме на даче и бойлерной итп Алиса прекрасно сообщает температуру на вопрос «температура в доме или в боилерной «

Павел
Павел
3 лет назад
Ответить на  kvv

так же можно организовать таким способом ка в ридми вот здесь

https://github.com/AlexxIT/YandexStation/commit/31ae5436b8b591288ea62ac040d4c78676a0d0af

## Управление умным домом Яндекса

Влад
Влад
3 лет назад

После обновление HA, Яндекс перестал видеть устройства. Кто ни будь нашел решение?