Отключение сети грузит ЦП на 100%

Добрый день! Выловил баг - после отключения сети (Ethernet) - например, после перезагрузки роутера - одна из служб грузит проц на 100%. Зависимости не уловил, но ловил на этом wb-mqtt-serial и wb-rules.

приложен диагностический архив, доступен только сотрудникам поддержки
(443,1 КБ)

Изображение представляет собой вывод команды "top" в терминале, показывающий процессы, использование процессора и памяти на системе Linux. (Captioned by AI)

Спасает только перезапуск службы или ребут контроллера.

Контроллер 8.5.3A/4G1 1.3.4B-4G2
Билд wb-2507

Дополнительно выловил - в такие моменты почему-то начинает спамить одно из устройств в zigbee2mqtt - около 16 сообщений в секунду (сейчас выставил debounce = 1, понаблюдаю за поведением). Возможно, проблема в этом.

Добрый день.
Я вижу что настроен как минимум один порт TCP.
Для него использован тестовый вариант описания регистров без использования шаблона. Соответственно не заданы параметры, например

Если отключить TCP порт в настройках wb-mqtt-serial - воспроизводится?

Да, тоже про это думал - но не смог выявить закономерности.
Задавал и таймаут ответа и максимальное число неудачных циклов опроса - проблема то проявлялась, то оставалась.

Также проблема воспроизводилась с полностью отключенным портом MDOBUS TCP.

Сейчас для устройства явно задал оба параметра (device_timeout_ms = 5000 как для порта, device_max_fail_cycles = 2).

Проблема перестала воспроизводиться, когда я жестко “прикрутил” сообщения от одного девайса в zigbee2mqtt - установил debounce =1 и throttle = 2.

Смущает то, что когда проблема воспроизводилась, нагрузку на ЦП триггерили разные сервисы - и wb-rules, и wb-mqtt-serial, и один раз ловил mosquitto. В wb-rules у меня нет правил, использующих контролы zigbee-устройств, поэтому я все еще не уверен, что проблема именно в zigbee.

Я вполне допускаю что флуд от устройств из z2m вызывает нагрузку wb-rules (конвертор wb-zigbee2mqtt).
И проверить это несложно: достаточно подписаться на топик - просто по количеству сообщений (если больше 100-150 в секунду).
Но вот нагрузка на wb-mqtt-serial может быть только если изменения вызывают срабатывания правил. Ну и запись в mqtt → отправку rjvfyl pfgbcb d ibye/
Есть правила?

Так, про wb-rules понятно, но флуд там далеко не на 100 - 150 сообщений в секунду, а 10-20. Даже если одно событие в z2m пишет не в 1 топик, как в логе, а в 3 - т.е. сам z2m, конвертор, и топики для HomeAssistant, все равно получается 30-60 сообщений в секунду.

Пример лога с сильным флудом в z2m
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262103,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262107,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262185,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262189,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262317,linkquality:109,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262323,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262434,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262438,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262562,linkquality:109,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262568,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262693,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262698,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262818,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262823,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:02] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016262936,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:04] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016264935,linkquality:109,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:05] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016265100,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:05] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016265104,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’
[2025-11-24 20:31:05] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/valve_spalnya’, payload ‘{alarm_switch:null,battery:100,child_lock:LOCK,current_heating_setpoint:22,display_brightness:middle,last_seen:1764016265107,linkquality:105,local_temperature:21.6,local_temperature_calibration:-1,max_temperature:30,min_temperature:15,mode:comfort,position:2,preset:manual,running_state:heat,schedule_friday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_monday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_saturday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_sunday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_thursday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_tuesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,schedule_wednesday:06:00/21.0 12:00/22.0 18:00/22.0 22:00/21.0,screen_orientation:up,switch_deviation_eco:5,system_mode:auto,window:CLOSE,window_detection:OFF}’

Но единственное правило, которое связано с z2m, не должно давать сильную нагрузку на wb-mqtt-serial при таком флуде. Во-первых, я не ловил это устройство z2m на таком сильном флуде (было максимум 3-4 сообщений в секунду в течение 10-30 секунд), а во-вторых все равно непонятно, при чем тут отключение Ethernet.
Даже если z2m будет люто флудить, все должно отрабатывать в пределах самого контроллера и отключение сети не должно ни на что влиять.
Ну и непонятна причина самого флуда z2m при дерагнии сети, конечно…

Пример флуда устройства z2m, используемого в правиле wb-rules
[2025-11-21 19:59:42] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755182750,linkquality:120,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:43] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755183300,linkquality:120,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:43] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755183552,linkquality:120,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:44] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755184108,linkquality:123,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:52] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755192749,linkquality:116,occupancy:false,sensitivity:high}’
[2025-11-21 19:59:53] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755193304,linkquality:123,occupancy:false,sensitivity:high}’
[2025-11-21 19:59:53] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755193577,linkquality:120,occupancy:false,sensitivity:high}’
[2025-11-21 19:59:54] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755194114,linkquality:120,occupancy:false,sensitivity:high}’
[2025-11-21 19:59:54] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755194367,linkquality:116,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:54] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755194922,linkquality:120,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:55] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755195182,linkquality:120,occupancy:true,sensitivity:high}’
[2025-11-21 19:59:55] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755195732,linkquality:120,occupancy:true,sensitivity:high}’
[2025-11-21 20:00:08] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755208518,linkquality:120,occupancy:false,sensitivity:high}’
[2025-11-21 20:00:09] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755209072,linkquality:116,occupancy:false,sensitivity:high}’
[2025-11-21 20:00:09] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755209325,linkquality:120,occupancy:false,sensitivity:high}’
[2025-11-21 20:00:09] info: z2m:mqtt: MQTT publish: topic ‘zigbee2mqtt/motion_sensor_vanna’, payload ‘{battery:100,illuminance:232,illuminance_interval:60,keep_time:10,last_seen:1763755209880,linkquality:116,occupancy:false,sensitivity:high}’
Код правила

function makeMALight(sensor, lights, timeout){
var offTimer = null;
defineRule({
whenChanged: sensor,
then: function(newValue){
var time = new Date(), hour = time.getHours() + 3, minute = time.getMinutes(); //Получаем текущие час и минуту
if (newValue == “true”) { //Включаем свет при активации датчика движения
if (offTimer) {
clearTimeout(offTimer); //Обнуляем таймер выключения, если включен
offTimer = null;
// log (“Таймер выключения обнулен по движению”);
}
if (dev[lights[0]] == false && dev[lights[1]] == false && dev[lights[2]] == false){
if ((hour < 20 || (hour == 20 && minute < 30)) && (hour > 7 || (hour == 7 && minute >= 30))) { //Если время между 7:30 и 20:30
dev[lights[0]] = true;
// log(“Включили свет днем”);
} else {
dev[lights[1]] = true;
// log(“Включили свет ночью”);
}
}
return;
}
if (newValue == “false”) { //Выключаем свет
// log(“Свет выключится через “,timeout / 1000 / 60,” минут”);
if (offTimer) {
clearTimeout(offTimer); // На всякий случай очищаем старый таймер
offTimer = null;
}
offTimer = setTimeout(function() {
lights.forEach(function(light){
dev[light] = false;
});
// log (“Свет выключен”);
offTimer = null;
}, timeout);
}
}
});
lights.forEach(function(light){ // Если любой светильник включился — отменяем таймер
defineRule({
whenChanged: light,
then: function(newValue){
if (newValue == true && offTimer) {
clearTimeout(offTimer);
offTimer = null;
// log(“Таймер выключения обнулен из-за включения света”)
}
}
});
});
}

//Создаем правило (сенсор, выключаемые светильники, тайм-аут):
makeMALight(
“motion_sensor_vanna/occupancy”,
[
“wb-mr6c_196/K5”,
“wb-mrgbw-d-fw3_121/Channels 3_4 (G_W)”,
“wb-mrgbw-d-fw3_61/Channel 3 (G)”
],
5 * 60 * 1000 // 5 минут
);

Вот отсюда посмотрте: Отсутствие опроса устройств при отключении ряда из них - #19 от пользователя BrainRoot

А настроен ли в нем web-интерфейс, кстати?

Ну да, тут нет записи в modbus_tcp устройства, поэтому моя гипотеза несостоятельна.
Попробую восчпроизвести.

Да, проблема была с включённым веб-интерфейсом. Сейчас он выключен, пробоему ещё не ловил.

Ок, если проблему снова поймаю, то попробую с тайм-аутами поиграться.

Так, даю апдейт.
Проблему с нагрузкой смог локализовать - она 100% в спаме от z2m. На этот раз проявилась уже без дерагния сети.
Несмотря на выставленные параметры троттлинга и дебаунса все равно одно устройство спамит в mqtt по нескольку сообщений в секунду. Версия z2m - 2.6.2 (из testing репозитория).
Настройки драйвера serial-утсройств никак не влияют. Веб-морда z2m так же вырублена.

А если выключить это устройство (снять питание)?

Если снять питание, то и спама нет.
В общем, со спамом я разобрался аардинально - поставил в игнор атрибуты LastSeen и LinkQuality - они единственные менялись в топиках. Спам закончился в принципе ото всех устройств.
Вместо этого включил проверку доступности.
Думаю, что тему можно закрывать, цепочку причин почти что размотали)
Почему начинался спам при отключении сети - точно не выяснили, но моё подозрение на баг в z2m.