Событийные датчики
Событийные датчики используются для отображения свойств устройства в УДЯ. Например: открытие двери (закрыта/открыта) или уровень воды (пустой/низкий/нормальный).
Для автоматически обнаруженных датчиков из 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 , low off , normal |
button | single — Одиночное нажатиеdouble_click — Двойное нажатиеlong_press — Долгое нажатие |
click , single double_click , double , many long_press , long , hold |
food_level | empty — Пустойlow — Низкийnormal — Нормальный |
empty low normal |
gas | detected — Обнаруженоnot_detected — Не обнаруженоhigh — Высокий уровень |
on , detected off , not_detected high |
motion | detected — Обнаруженоnot_detected — Не обнаружено |
on , detected off , not_detected |
open | opened — Открытоoff , closed — Закрыто |
on , opened off , closed |
smoke | detected — Обнаруженоnot_detected — Не обнаруженоhigh — Высокий уровень |
on , detected off , not_detected high |
vibration | tilt — Переворачиваниеfall — Падениеvibration — Вибрация |
tilt , rotate fall , drop on , vibration |
water_leak | leak — Протечкаdry — Нет протечки |
on , leak off , dry |
water_level | empty — Пустойlow — Низкийnormal — Нормальный |
empty on , low off , normal |
on
: Любая логическая истина:on
,true
,yes
,1
off
: Любая логическая ложь: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
через параметр объекта Отображать как
в Настройки
→ Устройства и объекты
→ Объекты