Здравствуйте. Есть следующая проблема - есть zigbee устройства (датчики контроля протечки), и хотелось бы видеть, что устройства в сети. По логам я увидел, что устройства отправляют свои данные каждые 4 часа даже если ничего не произошло. Но, чтобы как то выполнить проверку на условие что устройство не так давно что то присылало - из идей использовать только last_seen и вычислять сколько времени прошло, что не очень удобно.
В документации по zigbee2mqtt нашел, что есть еще такой параметр как availability. Включив его - я в логах вижу, что есть сообщения в топике “zigbee2mqtt/zigbee_leakage_sensor_2_flor/availability”, но не понятно как из этого топика получить значения, потому что его не видно в “Настройки => Каналы MQTT”
Вот часть настройки availability в /mnt/data/root/zigbee2mqtt/data/configuration.yaml:
availability:
active:
# Time after which an active device will be marked as offline in
# minutes (default = 10 minutes)
timeout: 10
passive:
# Time after which a passive device will be marked as offline in
# minutes (default = 1500 minutes aka 25 hours)
timeout: 1500
devices:
'0xa4c138f82b88857a':
friendly_name: 'zigbee_leakage_sensor_2_flor'
description: 'Water leakage sensor 2 flor'
availability:
timeout: 300
Обычная отправка от устройства (из лога):
Zigbee2MQTT:info 2023-11-07 01:57:33: MQTT publish: topic 'zigbee2mqtt/zigbee_leakage_sensor_2_flor', payload '{"battery":100,"battery_low":false,"last_seen":1699322253567,"linkquality":109,"tamper":false,"water_leak":false}'
availability сообщение от устройства (из лога):
Zigbee2MQTT:info 2023-11-07 01:57:33: MQTT publish: topic 'zigbee2mqtt/zigbee_leakage_sensor_2_flor/availability', payload '{"state":"online"}'
Собственно сам вопрос - подскажите пожалуйста как получить доступ к ‘zigbee2mqtt/zigbee_leakage_sensor_2_flor/availability’ state из wb-rules, если такого топика в “Настройки => Каналы MQTT” нет (есть только топики просто zigbee2mqtt/zigbee_leakage_sensor_2_flor)?
Спасибо.