Перейти к содержанию

Событийные датчики

Событийные датчики используются для отображения свойств устройства в УДЯ. Например: открытие двери (закрыта/открыта) или уровень воды (пустой/низкий/нормальный).

Для автоматически обнаруженных датчиков из binary_sensor будут использоваться только два значения, например для "Наличие газа": on - обнаружено, off - не обнаружено, а "Высокий уровень" (high) никак задействован не будет.

Для задействования всех возможных событий используйте sensor на шаблоне или параметр value_template.

Ручное добавление

Событийные датчики могут быть добавлены к любому устройству вручную через список properties в entity_config. Каждый датчик содержит один или несколько параметров.

Устройство может иметь одновременно событийные и цифровые датчики.

Пример настройки датчиков

yandex_smart_home:
  entity_config:
    humidifier.room:
      properties:
        - type: float.water_level
          entity: sensor.room_humidifier_water_level
        - type: open
          value_template: '{{ is_state("binary_sensor.room_humidifer_water_tank", "off" }}'
    media_player.tv:
      properties:
        - type: motion
          entity: binary_sensor.motion_near_tv

Тип датчика

Параметр: type (обязательный)

Может быть задан в сокращённом или полном виде (event.X). Полный вид желательно использовать для датчиков, которые могут быть как числовыми, так и событийными (battery_level, food_level, water_level).

Тип (сокр.) Тип (полный) Описание
battery_level event.battery_level Cобытия заряда батареи
button event.button События нажатия кнопки
food_level event.food_level События, связанные с уровнем корма
gas event.gas Cобытия наличия газа в помещении
motion event.motion События, связанные с наличием движения в области действия датчика
open event.open Cобытия открытия/закрытия дверей, окон и т. п.
smoke event.smoke События наличия дыма в помещении
vibration event.vibration События физического воздействия: вибрация, падение, переворачивание
water_leak event.water_leak События протечки воды
water_level event.water_level События, связанные с уровнем воды

Источник состояния (объект)

Параметры: entity и/или attribute

Задают объект и/или его атрибут, в котором находится текущее состояние датчика. Нельзя использовать совместо с value_template.

Описание

yandex_smart_home:
  entity_config:
    humidifier.room:
      properties:
        # Задан только атрибут, значение датчика будет взято из атрибута объекта, для которого задаются датчики
        # В даннном случае - атрибут humidifier.fault объекта humidifer.room
        - type: event.water_leak
          attribute: humidifier.fault

        # Значение датчика будет взято из состояния объекта sensor.humidier_room_water_tank
        - type: event.open
          entity: sensor.humidier_room_water_tank

        # Значение датчика будет взято из атрибута action объекта sensor.button
        - type: event.button
          entity: sensor.button
          attribute: action

Источник состояния (шаблон)

Параметр: value_template

Задаёт шаблон для вычисления текущего состояние датчика. Нельзя использовать совместно с entity и/или attribute.

Описание

yandex_smart_home:
  entity_config:
    humidifier.room:
      properties:
        - type: event.water_level 
          value_template: | 
            {% set water_level = states("sensor.humidier_room_water_level")|int(0) %}
            {% if water_level > 60 %}
              normal
            {% elif water_level > 20 %}
              empty
            {% else %}
              low 
            {% endif %}

Типы событий

Компонент автоматически пытается сопоставить значения датчика в Home Assistant со значением в УДЯ. Для каждого типа датчика поддерживается ограниченный набор событий.

Если в HA происходит событие (например, нажатие на кнопку), но в УДЯ оно не появляется - начните отладку на странице интеграции Yandex Smart Home, сгенерирйте событие и поищите в журнале событий по Unknown event.

Тип Поддерживаемые значения: HA - УДЯ
battery_level on, low- Низкий
off, normal - Нормальный
button click, single - Одиночное нажатие
double_click, double, many - Двойное нажатие
long_press, long, hold - Долгое нажатие
food_level empty - Пустой
low- Низкий
normal - Нормальный
gas on, detected - Обнаружено
off, not_detected - Не обнаружено
high - Высокий уровень
motion on, detected - Обнаружено
off, not_detected - Не обнаружено
open on, opened - Открыто
off, closed - Закрыто
smoke on, detected - Обнаружено
off, not_detected - Не обнаружено
high - Высокий уровень
vibration tilt, rotate - Переворачивание
fall, drop - Падение
on, vibration - Вибрация
water_leak on, leak - Протечка
off, dry - Нет протечки
water_level empty - Пустой
on, low- Низкий
off, normal - Нормальный
  • on: Любая логическая истина: on, true, yes, 1
  • off: Любая логическая ложь: off, false, no, 0

Перечислена только часть поддерживаемых значений со стороны Home Assistant.

Выбор класса бинарного датчика

Некоторые интеграции создают бинарные датчики с пустым или неверным атрибутом device_class. Такие датчики автоматически обнаружены не будут, но по-прежнему могут быть добавлены вручную.

Вы можете самостоятельно задать атрибут device_class через параметр объекта Отображать как в НастройкиУстройства и объектыОбъекты