Пульт Zigbee подключен к ZHA (интеграция Zigbee в Home Assistant), но нажатия кнопок не запускают автоматизации. Проверьте, приходит ли zha_event при нажатии, чтобы использовать триггер типа «Событие» вместо триггера устройства.
Как выглядит проблема
У устройства могут отсутствовать триггеры нажатий или не срабатывать уже созданные. Пользователи форума описывали несколько вариантов:
- Sunricher ZG2858A показывает только сущности батареи, identify (идентификация) и firmware (прошивка), событий кнопок для автоматизаций нет.
- EGLO connect.z Smart Home Remote Control 2.0 (AwoX 99099) не отдает
zha_eventв ZHA - появляются только непригодные сущности. - В редакторе автоматизаций у кнопки недоступны триггеры устройства (device triggers), поэтому триггер на нажатие просто не создать.
- Триггеры устройства на короткое и длинное нажатие создаются, но не срабатывают.
Причины
ZHA может не распознавать события кнопок конкретного пульта, которому, возможно, нужен свой quirk. Это предположение по одной ветке форума, без прямого подтверждения участников. Quirk - файл, который переводит возможности устройства из формата производителя в формат, понятный Zigpy и ZHA.
| Проверка | Результат | Что сделать |
|---|---|---|
Приходят ли нажатия как zha_event | События появляются при прослушивании | Собрать автоматизацию с триггером события |
| Появляются ли данные нажатий в Zigbee2MQTT, если в ZHA событий нет | У EGLO/AwoX 99099 доступны action и action_group | Использовать эти значения в автоматизации |
Что помогает
Триггер по событию zha_event помог в трех ветках форума из четырех, где его пробовали. Получено три сообщения об успехе и одно о неудаче.
Триггер по событию zha_event
Откройте Настройки → Инструменты (Settings → Tools) → События (Events) - прежний путь Developer Tools > Events. Укажите тип события zha_event, запустите прослушивание и нажмите кнопки пульта. В документированном примере есть device_ieee (адрес устройства) и command (команда), точный набор полей зависит от события. Используйте полученные данные в автоматизации с триггером события, как описано в документации по инструментам разработчика и триггеру события.
Автоматизация одного из пользователей выглядит так - пульт по команде off выключает розетку:
alias: Turn off media center
description: ""
trigger:
- platform: event
event_type: zha_event
event_data:
device_ieee: 2c:11:65:ff:fe:57:dd:6d
command: "off"
condition: []
action:
- type: turn_off
device_id: 2a68672f0cdc556b05a40787e614afb5
entity_id: switch.lumi_lumi_plug_maeu01_switch_2
domain: switch
mode: single
Здесь триггер event фильтрует zha_event по адресу пульта и команде, а действие выключает розетку.
Пульт в Zigbee2MQTT
В одной ветке форума пользователи подключили пульт EGLO/AwoX 99099 к Zigbee2MQTT на втором Zigbee-стике (USB-адаптере) и строили автоматизации по значениям action (действие) и action_group (группа действия). Получено два сообщения об успехе, сообщений о неудаче нет. По странице устройства в документации Zigbee2MQTT эти значения публикуются в состоянии устройства.
Пример такой автоматизации - триггер MQTT слушает топик пульта, шаблон достает action, условие проверяет action_group:
triggers:
- trigger: mqtt
topic: zigbee2mqtt/Remote Eglo99099
payload: "on"
value_template: "{{ value_json.action }}"
id: Group1On
conditions:
- condition: template
value_template: "{{ trigger.payload_json.action_group == 32778 }}"
actions:
- choose:
- conditions:
- condition: trigger
id:
- Group1On
sequence:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.ceilinglight_eglo
Значение 32778 и топик (адрес сообщений MQTT) взяты из конфига пользователя, подставьте свои. Как поставить и настроить Zigbee2MQTT, описано в гайде по установке Zigbee2MQTT в Home Assistant. Отдельная страница посвящена кнопкам и пультам в автоматизациях Zigbee2MQTT 2.0.
Готовый blueprint
Шаблон автоматизации blueprint позволяет добавить готовый сценарий. Документация Home Assistant называет blueprints самым простым способом добавления автоматизаций, скриптов и шаблонных сущностей.
Если не помогло
Написание своего quirk и поиск или адаптация blueprint остались без сообщений об успехе. На форуме каждый из этих путей обсуждали в одной ветке:
- Свой quirk для ZHA - более трудный путь. Один пользователь пробовал написать его и бросил.
- Найти или адаптировать blueprint под свою модель кнопки. Итог неизвестен, искать стоит в разделе обмена blueprints сообщества Home Assistant.
Частые вопросы
С какими устройствами встречалась проблема?
Проблему описывали для Sunricher ZG2858A, EGLO connect.z Smart Home Remote Control 2.0 (AwoX 99099), Aqara Wireless Mini Switch T1 и Livarno. Среди упомянутых версий Home Assistant есть 2024.3.3. Всего на форуме четыре ветки; тип установки указан в одной - HAOS, в трех остальных он неизвестен.
Можно ли учитывать аргументы команды в триггере?
Да, аргументы команды тоже можно использовать в триггере типа «Событие». В решении с прослушиванием zha_event они упомянуты вместе с device_ieee и command. Данные для такого триггера берут из события после нажатия кнопки своего пульта. Ориентируйтесь на его содержимое при выборе полей фильтра автоматизации.
Что умеет blueprint для Sunricher ZG2858A?
Он управляет цветом, температурой и яркостью света с помощью триггеров по данным zha_event. Пользователь форума сообщил об успешном запуске такого шаблона в одной ветке; сообщение об успехе одно, сообщений о неудаче нет. Blueprint для Sunricher ZG2858A опубликован в сообществе Home Assistant.



