Задержка обработки событий zigbee2mqtt

Вроде проверял - не влияет, но для чистоты эксперимента, проверю ещё раз - остановлю на пару суток.
Вчера запустил запись лога, завтра пришлю

Ну и, чуть испортит эксперимент - но можно последовательно, когда время реакции будет большим перезапустить node-red, zigbe2mqtt, ну и сам брокер, оценивая изменения.

Логи с момента последней перезагрузки, up time 4d 18h 48m:
динамика роста задержки:
wb-rules_20231207T161025.log (105,5 КБ)
динамика роста задержки детально:
wb-rules_20231207T161025 (1).log (864,2 КБ)

за некоторое время
zigbee.log (632,3 КБ)

up time 2d 5h 32m

начинает потихоньку подтормаживать …
wb-rules_20231211T163008.log (98,1 КБ)

запись лога за это время:
zigbee.log (1,7 МБ)

О, отлично.
Вот как стенд выглядит:

Воспроизвожу, Сейчас отлажу процесс и отдам (настоящим) программистам.

Отлично! Запись лога продолжаю дальше.

Нагружает хорошо


Интересно, что воспроизведение остановил нескоко минут назад а процесс правил все еще создает нагрузку:

В общем сейчас набросаю (да или использую тот что выше) скрипт для оценки “задержки”.

И MQTT token timeout есть, хорошо. Но это - синтетически, у меня нету реле MR6C_2/K5

Dec 12 06:41:51 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Включаем реле MR6C_2/K5 1702363311223
Dec 12 06:41:51 wirenboard-AWWCDXFH wb-rules[23683]: ERROR: [rule error] failed to SetValue for unexisting control MR6C_2/K5: true
Dec 12 06:41:52 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Пришло значение из топика zigbee2mqtt/Aqara_M&I_sensor_3 - {"illuminance":15,"last_seen":1702152247117,"linkquality":25,"occupancy":false} 1702363312396
Dec 12 06:41:52 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Выключаем реле MR6C_2/K5 1702363312397
Dec 12 06:41:52 wirenboard-AWWCDXFH wb-rules[23683]: ERROR: [rule error] failed to SetValue for unexisting control MR6C_2/K5: false
Dec 12 06:41:54 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Пришло значение из топика Aqara_M&I_sensor_3/occupancy - true 1702363314264
Dec 12 06:41:57 wirenboard-AWWCDXFH wb-rules[23683]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0xd31440 <nil>} 15559})
Dec 12 06:42:04 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Пришло значение из топика Aqara_M&I_sensor_3/occupancy - false 1702363324364
Dec 12 06:42:05 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Пришло значение из топика Aqara_M&I_sensor_3/occupancy - true 1702363325644
Dec 12 06:42:08 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Пришло значение из топика zigbee2mqtt/Aqara_M&I_sensor_3 - {"battery":100,"illuminance":15,"last_seen":1702154720861,"linkquality":25,"occupancy":false,"voltage":3015} 1702363328852
Dec 12 06:42:08 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Выключаем реле MR6C_2/K5 1702363328853

Здорово что процесс выяснения причин сдвинулся с места. Очень хочется разобраться и понять почему так происходит и в полной мере использовать zigbee устройства. А вообще есть какие то предложения?

Пока подозреваю очереди внутри go.

Dec 12 07:11:33 wirenboard-AWWCDXFH wb-rules[23683]: INFO: [rule info] Задержка составила 22255мс

Вы имеете в виду Go scheduler?

Да. У меня после того как поток сообщений в MQTT уже останавливается у же остановлен несколько минут - правила продолжают их обрабатывать. То есть они кэшируются уже после того как поступили в движок правил.

И что с этим делать? Как решить эту проблему?

Отдам разработчикам - они достоверно опредлят причины и, возможно, способы решения проблемы.

1 Like

Ок, тогда ждемс …

Совсем большие задержки начались …
wb-rules_20231213T174502.log (57,9 КБ)

И вот еще: полный лог WB-rules, пошли ошибки MQTT
wb-rules_20231213T175020.log (1,4 МБ)

Ошибки mosquitto
mosquitto_20231213T174636.log (50,6 КБ)

zigbee.log (5,4 МБ)

и заодно диагностический архив

приложен диагностический архив, доступен только сотрудникам поддержки
(89,0 КБ)
кстати, из веб интерфейса выгрузка работать не хочет

Задержки стали совсем не приемлемыми,
вам нужна какая-либо информация с контроллера для диагностики в таком состоянии, логи и т.д.
Или можно перезагрузить контроллер, wb-rules ?!

Да, можно перезапускать сервис, у меня устойчиво воспроизводится.

Хорошо.
Посмотрите, вчера лог WB-rules вам скидывал, почему-то еще и ошибки MQTT начались …

Да, вижу, это интересно, конечно. Но тут надо ждать настоящего программиста, гуру.