Компонент позволяет добавить устройства из Home Assistant в платформу умного дома Яндекса (УДЯ) и управлять ими с любого устройства с Алисой: умные колонки, приложение на телефоне, веб интерфейс квазар.
- Установка
- Подготовка к настройке
- Настройка интеграции
- Расширенные настройки и возможности
- Проблемы
- Вопросы и ответы
- Полезные ссылки
Для работы компонента требуется Home Assistant версии 2021.7 или новее.
Способ 1: HACS
HACS > Интеграции > Добавить > Yandex Smart Home
Способ 2:
Вручную скопируйте папку custom_components/yandex_smart_home
из latest release в директорию /config/custom_components
После установки перезапустите Home Assistant.
В Умном доме Яндекса существует ряд особенностей и ограничений, которые необходимо знать для максимально безпроблемной эксплуатации компонента.
В названиях устройств возможны только русские символы и цифры. Во избежание ручного переименования, рекомендуется сразу задать правильные названия в Home Assistant. Способы сделать это:
- На странице "Настройки" > "Объекты" используя поле "Название"
- Через атрибут
friendly_name
в customization.yaml - Через параметр
name
в расширенной настройке устройств - Через параметр
alias
для скриптов
Для нового устройства в УДЯ комната может назначаться автоматически, для этого она должна быть указана в Home Assistant. К именам комнат предъявляются те же требования, что и к именам устройств (только русские символы и цифры). Способы добавить устройство в комнату:
- На странице "Настройки" > "Пространства" создайте нужные комнаты. Выберите комнату в свойствах устройства на странице "Настройки" > "Объекты" или "Настройки" > "Устройства"
- Через параметр
room
в расширенной настройке устройств
Важно! Комнаты в УДЯ нужно создать вручную через квазар перед добавлением устройств: нажмите иконку "плюс" в правом верхнем углу > выберите "Комнату".
При ручном обновлении списка устройств важно не выбирать "Дом", а просто понажимать стрелку "Назад":
Нажать "Далее" | Не нажимать "Выбрать", вместо этого нажимать стрелку назад. После выхода в список устройств обновите страницу |
Во время настройки интеграции вам будет предложено выбрать устройства, которые будут добавлены в УДЯ (фильтры). Сперва рекомендуется выбрать как можно меньше устройств, а остальные добавлять постепенно.
Причина - фильтры используется только при добавлении новых устройств. Если устройство уже добавлено в УДЯ, его исключение с помощью фильтров не даст никакого эффекта и его придётся удалять из УДЯ вручную. Для удаления всех устройств - отвяжите навык/производителя.
Для продвинутых пользователей есть возможность настраивать фильтры через YAML.
Интеграция поддерживает два типа подключения:
- Через облако (бета-тест): доступно с версии 0.3.0, настройка в несколько кликов, не требует доступа к Home Assistant из интернета, полностью бесплатно
- Прямое подключение: только для продвинутых пользователей, УДЯ подключается к Home Assistant через интернет, необходимо самостоятельно настроить доступ к Home Assistant по HTTPS извне, сложная многоступенчатая настройка (подробнее)
Для настройки интеграции:
- В Home Assistant: Настройки > Интеграции > Добавить интеграцию > Yandex Smart Home. Если интеграции нет в списке - обновите страницу.
- Внимательно следуйте указаниям мастера настройки.
- Тип подключения можно выбрать только при добавлении интеграции. Для перехода с прямого подключения на облачное или наоборот:
- Отвяжите навык/производителя с полным удалением всех устройств.
- Удалите интеграцию на странице "Интеграции" и добавьте заново с нужным типом подключения.
- Не удаляйте интеграцию с облачным подключением без надобности. При её удалении происходит отвязка от УДЯ и при повторной настройке интеграции потребуется снова выполнять привязку к Яндексу через квазар (уже с новыми реквизитами).
- При изменении типа подключения конфигурацию в YAML менять или удалять не требуется. Настройка
notifier
в облачном подключении не используется, можно удалить её из YAML.
Компонент поддерживает расширенную настройку устройств и фильтров через configuration.yaml.
Для применения изменений из YAML перезагрузите интеграцию на странице "Настройки" -> "Интеграции" или "Настройки" -> "Сервер" (не забудьте включить "Расширенный режим" в профиле пользователя).
- Проверьте журнал Home Assistant на наличие ошибок (Настройки > Журнал), возможно вы ошиблись в YAML конфигурации (особенно в параметрах
properties
илиcustom_*
). - Если используется прямое подключение - повторно нажмите кнопку "Опубликовать" в настройках диалога. Если при этом возникают ошибки - подробнее о них здесь.
- Убедитесь, что устройство не исключено в фильтрах (в настройках интеграции через GUI или YAML).
- Перезапустите Home Assistant.
- Выполните ручное "Обновление списка устройств" в УДЯ через квазар: нажмите иконку "плюс" в правом верхнем углу > "Устройство умного дома" > Найти/выбрать ваш диалог (Yaha Cloud для облачного подключения) > "Обновить список устройств"
- Если это не помогло cоздайте issue или напишите в чат.
К сообщению приложите:
- ID и атрибуты проблемных устройств. Их можно найти в "Панель разработчика" (Developer Tools) > "Состояния" (States).
- YAML конфигурацию
yandex_smart_home
(если имеется, лучше целиком, или толькоfilter
иentity_config
для проблемного устройства). - Для прямого подключения:
- Крайне желательно (но можно не сразу) приложить лог обновления списка устройств (лучше файлом)
- Если в окне отладки пусто, а УДЯ выдает ошибку "Не получилось обновить список устройств" - нужен лог запросов и ответов со стороны Home Assistant
- Для облачного подключения:
- Первые 8-10 символов вашего ID (можно посмотреть в настройках интеграции)
- Дату и время обновления списка устройств
Если попытаться "быстро" управлять устройством, например изменять температуру многократными нажатиями "+", выскочит ошибка: "Что-то пошло не так. Попробуйте позднее ещё раз".
Это нормально. УДЯ ограничивает количество запросов, которые могут придти от пользователя в единицу времени. Нажимайте кнопки медленнее :)
В некоторых случаях может потребоваться полностью отвязать диалог/навык/производителя от УДЯ и удалить все устройства. Это может быть полезно если в УДЯ выгрузили много лишнего из Home Assistant, и удалять руками каждое устройство не хочется.
Для отвязки через квазар:
- Нажмите иконку "плюс" в правом верхнем углу > "Устройство умного дома" > Найти/выбрать ваш диалог (Yaha Cloud для облачного подключения)
- Нажмите корзинку в правом верхнем углу
- Поставьте галочку "Удалить устройства" и нажмите "Отвязать от Яндекса"
При использовании облачного подключения в УДЯ выбирается навык со странным названием Yaha Cloud, а не с логичным Home Assistant.
Почему? Причина проста: "Home Assistant" является зарегистрированной торговой маркой, а по правилам каталога навыков Алисы торговую марку может использовать только её владелец (в данном случае компания Nabu Casa).
Что значит Yaha? Всё просто - YAndex + HomeAssistant :)
- https://t.me/yandex_smart_home - Чат по компоненту в Телеграме
- https://github.com/AlexxIT/YandexStation - Управление колонками с Алисой из Home Assistant и проброс устройств из УДЯ в Home Assistant
- https://github.com/allmazz/yandex_smart_home_ip - Список IP адресов платформы умного дома Яндекса
- https://stats.uptimerobot.com/QX83nsXBWW - Мониторинг доступности облачного подключения