Событийные датчики
Событийные датчики используются для отображения свойств устройства в УДЯ. Например: открытие двери (закрыта/открыта) или уровень воды (пустой/низкий/нормальный).
Для автоматически обнаруженных датчиков из 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_humidifier_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 | События заряда батареи |
| button | event.button | События нажатия кнопки |
| food_level | event.food_level | События, связанные с уровнем корма |
| gas | event.gas | События наличия газа в помещении |
| motion | event.motion | События, связанные с наличием движения в области действия датчика |
| open | event.open | События открытия/закрытия дверей, окон и т. п. |
| 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 объекта humidifier.room
- type: event.water_leak
attribute: humidifier.fault
# Значение датчика будет взято из состояния объекта sensor.humidifier_room_water_tank
- type: event.open
entity: sensor.humidifier_room_water_tank
# Значение датчика будет взято из атрибута action объекта sensor.button
- type: event.button
entity: sensor.button
attribute: action
Источник состояния (шаблон)¶
Параметр:
value_template
Задаёт шаблон для вычисления текущего состояние датчика. Нельзя использовать совместно с entity и/или attribute и для объектов event.*.
Описание
Типы событий¶
Компонент автоматически пытается сопоставить значения датчика в Home Assistant с событием в УДЯ. Для каждого типа датчика поддерживается ограниченный набор событий.
| Тип | События | Поддерживаемые значения в HA |
|---|---|---|
| battery_level | low — Низкийnormal — Нормальный |
on, lowoff, normal |
| button | single — Одиночное нажатиеdouble_click — Двойное нажатиеlong_press — Долгое нажатие |
click, singledouble_click, double, manylong_press, long, hold |
| food_level | empty — Пустойlow— Низкийnormal — Нормальный |
empty lownormal |
| gas | detected — Обнаруженоnot_detected — Не обнаруженоhigh — Высокий уровень |
on, detectedoff, not_detectedhigh |
| motion | detected — Обнаруженоnot_detected — Не обнаружено |
on, detectedoff, not_detected |
| open | opened — Открытоoff, closed — Закрыто |
on, openedoff, closed |
| smoke | detected — Обнаруженоnot_detected — Не обнаруженоhigh — Высокий уровень |
on, detectedoff, not_detectedhigh |
| vibration | tilt — Переворачиваниеfall — Падениеvibration — Вибрация |
tilt, rotatefall, dropon, vibration |
| water_leak | leak — Протечкаdry — Нет протечки |
on, leakoff, dry |
| water_level | empty — Пустойlow — Низкийnormal — Нормальный |
emptyon, lowoff, normal |
on: Любая логическая истина:on,true,yes,1off: Любая логическая ложь:off,false,no,0
Перечислена только часть поддерживаемых значений со стороны Home Assistant.
Сопоставление значений можно так же можно настроить вручную через раздел entity_config в YAML конфигурации.
При ручной настройке отключается автоматическое сопоставление для этого устройства и типа события.
Пример сопоставления событий
yandex_smart_home:
entity_config:
sensor.button:
events:
button:
single: click_1
double_click: click_double_1
button- тип события со стороны УДЯsingle,double_click- событие со стороны УДЯclick_1,click_double_1- значения датчика со стороны Home Assistant
Если в HA происходит событие (например, нажатие на кнопку), но в УДЯ оно не появляется — начните отладку на странице интеграции Yandex Smart Home,
сгенерируйте событие и поищите в журнале событий по Unknown event. После этого задайте соответствия вручную.
Выбор класса бинарного датчика¶
Некоторые интеграции создают бинарные датчики с пустым или неверным атрибутом device_class. Такие датчики автоматически обнаружены не будут, но по-прежнему могут
быть добавлены вручную.
Вы можете самостоятельно задать атрибут device_class через параметр объекта Отображать как в Настройки → Устройства и объекты → Объекты
