Yandex Smart Home в Home Assistant: как работает управление Алисой
Yandex Smart Home — основной способ интеграции Алисы с Home Assistant. В статье разобрано, как работает голосовое управление устройствами, какие типы устройств поддерживаются, как они отображаются в приложении «Яндекс Дом» и какие ограничения важно учитывать.
В Telegram-канале @iot7m_ru публикуются практические заметки по Home Assistant: опыт эксплуатации устройств, интеграция с различным оборудованием, создание дашбордов и разбор типовых проблем. Многие материалы основаны на реальных запросах и консультациях. Подпишитесь на @iot7m_ru, если используете Home Assistant на практике.
Зачем нужен Yandex Smart Home в Home Assistant
Yandex Smart Home — это основной и наиболее распространённый способ интеграции Яндекс Алисы с Home Assistant для голосового управления умным домом. Он позволяет управлять устройствами умного дома голосом, а также отображать эти устройства и их состояния в мобильном приложении «Яндекс Дом».
В этой схеме Home Assistant выступает как центр автоматизации и логики, а Алиса — как голосовой интерфейс и часть экосистемы Яндекса. Пользователь взаимодействует с умным домом привычными командами, а Home Assistant принимает и обрабатывает эти команды, управляя реальными и виртуальными устройствами.
Yandex Smart Home реализует поддержку официальной спецификации «Умного дома» Яндекса. Эта спецификация разработана Яндексом с учётом лучших практик проектирования API, включая требования к стабильности и обратной совместимости, поэтому интеграция отличается предсказуемым и устойчивым поведением. При этом она строго следует возможностям, заложенным в спецификации, и не покрывает все возможные сценарии автоматизации.
В рамках этой статьи рассматривается именно управление устройствами и передача их состояний в экосистему Яндекса. Возможности голосовой обратной связи и озвучивания событий выходят за рамки этого подхода и разбираются отдельно.
Подробнее об общей архитектуре интеграции Алисы с Home Assistant и различиях между Yandex Smart Home и Yandex Station рассказано в статье
Как подключить Алису к Home Assistant: Yandex Smart Home или Yandex Station.
Как Алиса управляет устройствами Home Assistant
С точки зрения архитектуры взаимодействие Алисы и Home Assistant происходит через облако Яндекса. Когда пользователь произносит голосовую команду, Алиса обрабатывает её, включая этап распознавания речи (speech-to-text), и сопоставляет результат с устройством или сценарием «Умного дома» Яндекса.
После этого облако Яндекса передаёт запрос в Home Assistant. Запрос содержит информацию о целевом устройстве и требуемом действии — включение, выключение, изменение яркости, температуры и другие поддерживаемые операции. Home Assistant принимает запрос, сопоставляет его с соответствующей сущностью и выполняет действие локально. Детали этого взаимодействия описаны в спецификации умного дома Яндекса в разделе, посвящённом протоколу работы платформы (ссылка на документацию приведена в конце статьи в разделе «Полезные ссылки»).
Обратный процесс работает по тому же принципу. При изменении состояния устройства Home Assistant уведомляет облако Яндекса, и состояние обновляется в приложении «Яндекс Дом». Благодаря этому Алиса и приложение всегда видят актуальное состояние устройств. Механизм таких уведомлений и требования к ним также формализованы в спецификации Яндекса, в разделе, описывающем протокол работы сервиса уведомлений (см. раздел «Полезные ссылки» в конце статьи).
Важно понимать, что Алиса не взаимодействует с устройствами напрямую. Вся логика управления и автоматизации остаётся внутри Home Assistant, а Yandex Smart Home выполняет роль стандартизированного интерфейса между двумя системами.
Какие устройства поддерживаются в «Яндекс Доме»
Yandex Smart Home поддерживает как физические устройства Home Assistant, так и виртуальные сущности. Это могут быть реальные лампы, розетки, термостаты, а также шаблонные или объединённые сущности, созданные для удобства управления.
Поддержка устройств определяется не конкретной моделью, а типом сущности и её возможностями. Например, выключатели, лампы, розетки и климатические устройства корректно вписываются в спецификацию «Умного дома» и отображаются в экосистеме Яндекса. Полный перечень поддерживаемых типов устройств приведён в спецификации Яндекса в разделе «Типы устройств».
В приложении «Яндекс Дом» устройства группируются по комнатам и категориям. Название устройства обычно задаётся в Home Assistant, однако такие параметры, как комната или размещение, могут быть изменены и на стороне приложения Яндекса. Часть атрибутов фиксирована спецификацией и не может быть произвольно изменена.
На практике это означает, что один и тот же объект в Home Assistant может выглядеть в приложении Яндекса иначе, чем в интерфейсе HA. Это нормальное поведение, которое важно учитывать при проектировании структуры сущностей.
Навык «Умного дома» в Яндекс Диалогах
Чтобы связать Home Assistant с экосистемой Яндекса, требуется навык «Умного дома». Навык — это компонент в экосистеме Алисы, который описывает, какие устройства доступны, как ими управлять и как Алиса должна взаимодействовать с внешней системой. Фактически навык определяет контракт взаимодействия между облаком Яндекса и Home Assistant. Упрощённо, в нашем случае навык — это мост для передачи команд и получения уведомлений между Алисой и Home Assistant.
В экосистеме Яндекса существуют два типа навыков «Умного дома»: публичные и приватные. Публичные навыки доступны для подключения любым пользователем и используются как готовые сервисы без возможности гибкой настройки под конкретные требования пользователя; такие навыки проходят модерацию и публикацию со стороны Яндекса. Приватные навыки создаются для конкретной учётной записи и применяются в случаях, когда требуется собственная конфигурация или прямой доступ; для них публикация и модерация не требуются. Независимо от типа, каждый навык привязывается к учётной записи Яндекса через механизм связки аккаунтов, реализованный на базе OAuth 2.0.
Навык «Умного дома» нельзя делегировать или настраивать для других пользователей — все параметры и доступы жёстко привязываются к одной учётной записи Яндекса (на момент написания статьи — декабрь 2025 года).
Способы подключения Yandex Smart Home
Чтобы обеспечить взаимодействие между Яндекс Алисой и Home Assistant, необходимо организовать обмен командами и состояниями между облаком Яндекса и системой автоматизации. В рамках Yandex Smart Home это можно реализовать несколькими способами, которые отличаются требованиями к сети, модели доверия и возможностям масштабирования.
Прямое подключение по HTTPS
Прямое подключение предполагает, что облако Яндекса обращается к Home Assistant напрямую. Для этого Home Assistant должен быть доступен из интернета по внешнему URL-адресу с корректно настроенным HTTPS-сертификатом.
В качестве внешнего доступа может использоваться статический или динамический IP-адрес. Более подробно этот вопрос разобран в статье Удалённый доступ к Home Assistant: обзор способов.
Облачное подключение через Yaha Cloud
Облачное подключение через Yaha(=Yandex Home Assistant) Cloud предполагает, что облако Яндекса обращается не к Home Assistant напрямую, а к публично доступному промежуточному узлу, например yaha-cloud.ru, при этом со стороны Home Assistant инициируется исходящее соединение к этому узлу. Таким образом, Home Assistant не требуется делать публично доступным из интернета: вся входящая коммуникация со стороны Яндекса проходит через облачный компонент, а Home Assistant поддерживает только исходящее соединение.
Поддержка нескольких экземпляров Home Assistant
При необходимости использовать несколько независимых экземпляров Home Assistant ключевыми факторами выбора схемы интеграции становятся наличие прямого доступа к каждому Home Assistant из интернета и ограничение платформы Яндекса на использование одного навыка «Умного дома» в рамках одной учётной записи.
У платформы Яндекса существует ограничение на добавление нескольких экземпляров одного и того же навыка с разными параметрами аутентификации и авторизации (на момент написания статьи — декабрь 2025 года). Это означает, что при использовании публичного навыка невозможно подключить несколько независимых экземпляров Home Assistant одновременно.
В зависимости от этих условий возможны разные варианты. Например, можно использовать разные учётные записи Яндекса и подключить каждый Home Assistant через навык Yaha Cloud. В другом сценарии применяется одна учётная запись Яндекса: один Home Assistant подключается через Yaha Cloud, а второй — через прямое подключение с собственным навыком. Также возможны варианты, при которых только один Home Assistant напрямую интегрируется с экосистемой Яндекса, а остальные подключаются к нему через сетевые механизмы Home Assistant.
Конкретный выбор схемы зависит от архитектуры сети и допустимого уровня сложности настройки.
Сравнение вариантов подключения
Ниже в таблице собраны основные факторы, которые влияют на выбор варианта подключения Yandex Smart Home.
| Фактор / Тип подключения | Прямое подключение | Yaha Cloud |
|---|---|---|
| Создание собственного навыка | Да | Нет |
| Требуется внешний доступ | Да | Нет |
| Модель передачи данных | Прямая | Через шлюз |
| Настройка HTTPS | Да | Нет |
| Поддержка нескольких Home Assistant | Да | Нет |
Если у вас используется один экземпляр Home Assistant и важна простота настройки, обычно выбирают подключение через Yaha Cloud. Если же требуется больший контроль над инфраструктурой или поддержка нескольких систем, используется прямое подключение.
Создание навыка в Яндекс Диалогах
При использовании прямого подключения требуется создать собственный навык «Умного дома» в Яндекс Диалогах. Это выполняется в консоли разработчика Яндекса и включает несколько ключевых шагов. Ниже приведена практическая последовательность шагов для создания навыка «Умного дома» при использовании прямого подключения.
Перейдите в консоль Яндекс Диалоги и нажмите Создать диалог → Умный дом. При создании навыка необходимо заполнить две ключевые вкладки: «Настройки», где указывается общая информация о навыке и параметры backend-подключения, и «Связка аккаунтов», в которой настраивается механизм авторизации и доступа Home Assistant через OAuth.
На вкладке Настройки укажите:
- Язык: Русский
- Название: Home Assistant (или другое удобное название)
- Описание подключения устройств: произвольный текст
- Backend: <ВНЕШНИЙ_URL_HA>/api/yandex_smart_home
- Тип доступа: Приватный
- Имя разработчика: произвольное
- Иконка: по желанию
Сохраните настройки и перейдите на вкладку Связка аккаунтов.
Заполните параметры OAuth:
- Идентификатор приложения: https://social.yandex.net/
- Секрет приложения: произвольное значение
- URL авторизации: <ВНЕШНИЙ_URL_HA>/auth/authorize
- URL получения токена: <ВНЕШНИЙ_URL_HA>/auth/token
- URL обновления токена: <ВНЕШНИЙ_URL_HA>/auth/token
Сохраните изменения, перейдите на вкладку Общие сведения и нажмите Опубликовать. После сохранения и публикации навыка его можно использовать для привязки Home Assistant в мобильном приложении «Дом с Алисой». На этапе публикации возможны предупреждения или ошибки валидации — они не всегда критичны и могут быть исправлены после завершения первичной настройки.
Настройка Yandex Smart Home в Home Assistant
Интеграция устанавливается через HACS. Для установки выполните следующие шаги:
- Откройте HACS в боковом меню Home Assistant
- Перейдите в раздел Интеграции
- Найдите Yandex Smart Home и нажмите Установить
- После завершения установки перезапустите Home Assistant
- Перейдите в Настройки → Устройства и службы → Интеграции
- Нажмите Добавить интеграцию и выберите Yandex Smart Home
- Выберите тип подключения (облачное или прямое) и следуйте мастеру настройки
После завершения настройки Home Assistant создаёт соответствующую конфигурацию интеграции и подготавливает данные для привязки к экосистеме Яндекса.
Привязка Home Assistant к «Яндекс Дому»
Для завершения интеграции необходимо добавить навык в приложении «Дом с Алисой»: это может быть публичный навык Yaha Cloud (Yaha — сокращение от Yandex + Home Assistant) или собственный созданный навык. Пользователь выбирает навык из списка в мобильном приложении, проходит авторизацию и подтверждает доступ к устройствам, после чего устройства из Home Assistant появляются в приложении «Яндекс Дом». Корректность подключения можно проверить, выполнив голосовую команду или изменив состояние устройства и убедившись, что оно синхронизируется между системами.
Диагностика интеграции через логи Home Assistant
Пользователь может видеть весь процесс взаимодействия Home Assistant с экосистемой Яндекса в логах системы. При выполнении голосовой команды или изменении состояния устройства в мобильном приложении «Яндекс Дом» соответствующие запросы и события фиксируются в логах Home Assistant. Это позволяет отследить, какие команды были получены, как они обработаны и какие состояния переданы обратно в Яндекс.
Например, при обновлении списка устройств или выполнении синхронизации устройств навыка Yaha Cloud в мобильном приложении «Яндекс Дом» в логах Home Assistant можно увидеть входящий запрос от облака Яндекса и сформированный ответ со списком доступных устройств. Типичный пример такого события в логах выглядит следующим образом:
DEBUG [custom_components.yandex_smart_home.cloud] Request: /user/devices
DEBUG [custom_components.yandex_smart_home.cloud] Response: {
"request_id": "...",
"payload": {
"user_id": "...",
"devices": [
{
"id": "input_boolean.security_mode",
"name": "Режим безопасности",
"type": "devices.types.switch",
"capabilities": [...]
},
...
]
}
}
В этом фрагменте видно, что Яндекс запрашивает список устройств (/user/devices), а Home Assistant формирует и возвращает описание всех доступных сущностей, включая их типы, возможности и идентификаторы. Такие записи позволяют точно понять, какие устройства и в каком виде передаются в экосистему Яндекса, и используются для диагностики проблем при синхронизации или обновлении навыка.
Для появления подобных записей необходимо включить отладочный уровень логирования для компонента Yandex Smart Home, например:
logger:
default: warning
logs:
custom_components.yandex_smart_home: debug
Для применения конфигурации необходимо перезапустить Home Assistant. После включения debug-логов все запросы и ответы между Home Assistant и экосистемой Яндекса будут фиксироваться в системных логах.
Типовые сценарии использования
На практике Yandex Smart Home чаще всего используется для голосового управления освещением и розетками, а также для управления климатом — изменения температуры, включения и выключения обогрева или кондиционирования. Устройства Home Assistant при этом могут быть как физическими, так и виртуальными. Дополнительно устройства Home Assistant могут использоваться в сценариях Алисы, что позволяет комбинировать голосовое управление и логику автоматизаций, оставаясь в рамках официальной спецификации. В совокупности этот подход успешно применяется в реальных проектах и позволяет закрыть широкий спектр повседневных задач умного дома.
Полезные ссылки
- Yaha Cloud (навык) — навык Yaha Cloud для подключения Home Assistant к Алисе
- Yandex Smart Home API — спецификация и документация Яндекса по умному дому
- Yandex Smart Home (документация и сервис) — официальный ресурс навыка Yandex Smart Home, включая документацию по подключению
- Yandex Smart Home (исходный код) — проект интеграции Yandex Smart Home для Home Assistant