Home Assistant и несколько аккаунтов Яндекс: Умный дом
Содержание
Задача
Квартира, в разных комнатах которой установлены Яндекс-станции (обычная и мини). Станции привязаны к аккаунтам разных членов семьи, поэтому вместе управлять одним умным домом Яндекс по умолчанию они не могут.
На вики есть похожая инструкция "Home Assistant и несколько аккаунтов Яндекс: медиаплеер". Однако она решает немного другую задачу: добавляет колонки в качестве медиаплееров и позволяет управлять из Home Assistant ими, а не умными устройствами другого аккаунта с них.
Нам же нужно с любой колонки управлять устройствами Умного дома Яндекса.
Решение
Для подключения потребуются:
- Установленный и настроенный Home Assistant (в инструкции созданы отдельные пользователи Home Assistant для каждого из членов семьи. Будет ли работать, если всех подключить как одного пользователя, не проверялось).
- Установленный и настроенный компонент Yandex Smart Home от dmitry-k (Алиса и Home Assistant).
Действия в нашем аккаунте:
- В меню своего приватного навыка в Диалогах заходим на вкладку «Доступ».
- Нажимаем на кнопку «Сгенерировать», получаем одноразовую ссылку - и отправляем ее тому, кого хотим подключить.
Действия в подключаемом аккаунте:
- Из-под нового аккаунта переходим по ссылке. Наш приватный навык добавлен в профиль другого пользователя.
- Нажимаем "Добавить" -> "Другое устройство".
- В списке/поиске производителей находим название нашего навыка.
- Связываем аккаунты Яндекс и Home Assistant (указываем логин и пароль соответствующего пользователя в Home Assistant).
- Обновляем список устройств.
- Настраиваем отображение устройств по комнатам и группам.
Теперь мы можем с умной колонки или смартфона, привязанных к другому аккаунту, управлять устройствами умного дома.
Уведомления УДЯ об изменении статуса устройств в дополнительных аккаунтах
Для этого нужно прописать нужные параметры в файле configuration.yaml по шаблону:
yandex_smart_home: notifier: - oauth_token: XXXXXXXXXXXXXXXXXXXXXXXXXXX skill_id: xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx user_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxx - oauth_token: YYYYYYYYYYYYYYYYYYYYYYYYYYY skill_id: yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyy user_id: yyyyyyyyyyyyyyyyyyyyyyyyyyyy
Заметьте, что для каждого аккаунта будет свой OAuth-токен. Skill ID будут одинаковые, с учетом того, что навык один и тот же и им просто поделились. А вот ID пользователя может быть как один, если в Home Assistant один пользователь, так и разные - для случая, когда каждому члену семьи соответствует свой пользователь в Home Assistant.
Готово!
С возникающими вопросами и проблемами можно обратиться в чат Станции или чат компонента.