Поиск по базе знаний

Проброс выпадающих списков из HA в Алису как режимов работы

Управление сложными системами умного дома часто требует выбора одного из нескольких предустановленных режимов работы. Например, для отопления это могут быть режимы «Эко», «Комфорт» или «Защита от замерзания», а для освещения в гостиной — сценарии «Кино», «Чтение» или «Вечеринка». В Home Assistant для таких задач используется виртуальный вспомогательный элемент — выпадающий список input_select.

Однако при интеграции с голосовым помощником Алисой пользователи часто сталкиваются с проблемой: по умолчанию Яндекс не умеет напрямую работать со свободными текстовыми списками. Чтобы решить эту задачу, необходимо выполнить правильный маппинг (сопоставление) сущностей Home Assistant с контроллерами режимов (mode controllers) Умного Дома Яндекса. Это позволит переключать режимы голосом и выбирать их в графическом интерфейсе приложения «Дом с Алисой».

Шаг 1. Создание выпадающего списка в Home Assistant

Для начала настроим саму сущность выпадающего списка, которая будет хранить текущее состояние выбранного режима.

  1. Откройте панель управления Home Assistant, перейдите в раздел Настройки ➡️ Устройства и службы ➡️ Вспомогательные элементы.
  2. Нажмите Создать вспомогательный элемент в нижнем углу экрана и выберите тип Выпадающий список (Dropdown).
  3. Присвойте элементу понятное имя, например, «Режим дома» (система сгенерирует идентификатор input_select.house_mode).
  4. В поле «Параметры» добавьте список возможных значений (каждое значение с новой строки):
    • eco (Экономичный)
    • comfort (Комфортный)
    • turbo (Интенсивный)
  5. Нажмите кнопку Создать. Теперь у вас есть готовый переключатель в Home Assistant.

NOTE

Имена опций лучше писать на латинице в нижнем регистре. Это упростит сопоставление с внутренними идентификаторами режимов Яндекса и предотвратит возможные сбои при обработке кириллических символов в коде интеграции.

Шаг 2. Конфигурация интеграции yandex_smart_home

Чтобы Алиса поняла, что этот список является переключателем режимов, нам нужно отредактировать конфигурационный файл умного дома. Мы воспользуемся возможностями популярного кастомного компонента Yandex Smart Home (устанавливаемого через HACS).

  1. С помощью файлового редактора откройте файл configuration.yaml.
  2. В раздел настроек интеграции yandex_smart_home добавьте блок entity_config для вашего списка. Нам нужно указать тип устройства devices.types.other и сопоставить наши опции со стандартными режимами Яндекса.

Пример конфигурации:

yandex_smart_home:
  entity_config:
    input_select.house_mode:
      name: "Режим работы дома"
      type: devices.types.other
      properties: []
      capabilities:
        - type: devices.capabilities.mode
          instance: program
          modes:
            - value: eco
              modes: [eco]
            - value: comfort
              modes: [comfort]
            - value: turbo
              modes: [turbo]

В данном примере мы используем функцию devices.capabilities.mode с инстансом program. Мы связываем наши внутренние значения eco, comfort и turbo со стандартными значениями Яндекса (которые также называются eco, comfort и turbo). Благодаря этому Алиса будет корректно распознавать команды.

IMPORTANT

Яндекс поддерживает фиксированный набор режимов (например: auto, eco, comfort, normal, fast, slow, turbo и др.). Вы не можете передать туда произвольное слово, поэтому ваши опции в input_select должны быть сопоставлены с одним из поддерживаемых Яндексом значений.

Шаг 3. Синхронизация и проверка в приложении

После внесения изменений в конфигурационный файл необходимо применить настройки.

  1. Перейдите в Настройки ➡️ Система ➡️ Управление сервером.
  2. Выполните проверку конфигурации, и, если всё в порядке, нажмите Перезапустить Home Assistant.
  3. После перезапуска откройте приложение «Дом с Алисой» на вашем смартфоне.
  4. Перейдите в настройки и обновите список подключенных устройств.
  5. В списке появится устройство «Режим работы дома». Нажав на него, вы увидите кнопки выбора режимов: «Эко», «Комфорт» и «Турбо». Вы можете переключать их как вручную в приложении, так и голосом, говоря: «Алиса, включи режим комфорт на Режиме работы дома».

Шаг 4. Создание автоматизаций на стороне Home Assistant

Теперь осталось связать изменение состояния списка с реальными действиями умного дома.

  1. В Home Assistant перейдите в раздел Настройки ➡️ Автоматизации и сцены ➡️ Создать автоматизацию.
  2. В качестве триггера выберите: Состояние (State) ➡️ Сущность input_select.house_mode. Поле «To» оставьте пустым, чтобы автоматизация срабатывала при любом изменении.
  3. В блоке действий используйте условные операторы choose (выбор) для выполнения команд в зависимости от выбранного режима.

Например, при выборе eco система выключит лишний свет и снизит температуру обогревателей, при выборе comfort — вернет комфортные уставки, а при turbo — активирует вентиляцию на полную мощность.

Также можно настроить голосовые оповещения на самой Яндекс Станции при смене режима, чтобы система подтверждала голосом успешность выполнения операции. Для этого в автоматизацию HA добавляется отправка медиафайла или текста на медиаплеер Алисы.

Этот гибкий вспомогательный инструмент незаменим при создании глобальных сценариев автоматического приветствия и интеллектуального управления домом. Чтобы узнать, как применить эти переключатели режимов при вашем возвращении домой, подробно изучите нашу практическую статью по настройке сценария приветствия на Яндекс Станции, где детально разбирается интеграция умных колонок, медиаплееров и создание уютной атмосферы при изменении глобального статуса присутствия жильцов в квартире. Это позволит вам синхронизировать слаженную работу вентиляции, кондиционеров и аудиосистем в едином красивом комплексе сценариев, запускаемых голосом Алисы при входе в квартиру.

Для точного расчета энергопотребления виртуальных приборов используйте виртуальный мониторинг Powercalc в Home Assistant.

Инструкция по настройке

1

Создание сущности input_select в Home Assistant

Создайте вспомогательный элемент выпадающего списка с перечнем режимов работы (например, режимы отопления или освещения).

2

Маппинг режимов в файле конфигурации

Используйте интеграцию yandex_smart_home для описания режимов input_select и сопоставления их с поддерживаемыми режимами Алисы.

3

Перезагрузка и обновление устройств

Примените изменения конфигурации и обновите список устройств в приложении Умный Дом Яндекса для появления контроллера режимов.

4

Создание сценариев автоматизации

Настройте автоматические правила в Home Assistant, реагирующие на выбор конкретной опции из проброшенного списка.