Периодически отключается Zigbee модуль и не работает zigbbe2mqtt

Алекс, разобрались по диагностическому архиву. Модуль Zigbee и адаптер исправны, дело в связке MQTT-брокера (mosquitto) и сервиса zigbee2mqtt.

Что происходит. Примерно раз в 1–3 дня mosquitto аварийно завершается (в журнале видно out of memory и выход с ошибкой). В этот же момент systemd штатно останавливает и zigbee2mqtt, так как сервис привязан к брокеру. Сам брокер сразу поднимается автоматически, а zigbee2mqtt обратно не стартует и остаётся выключенным до перезагрузки. Поэтому ребут временно всё возвращает.

Падение брокера не связано с нехваткой ОЗУ на контроллере, свободной памяти было достаточно. Брокер упирается в собственный внутренний лимит и начинает сбрасывать клиентов.

Обходной шаг, он вернёт Zigbee к работе после перезапуска брокера без полной перезагрузки. Сделайте zigbee2mqtt независимым от жизненного цикла mosquitto, переподключаться к MQTT он умеет сам. Создайте файл /etc/systemd/system/zigbee2mqtt.service.d/override.conf

[Unit]
BindsTo=
Requires=
Wants=mosquitto.service
After=mosquitto.service

и примените

systemctl daemon-reload
systemctl restart zigbee2mqtt

После этого при перезапуске брокера zigbee2mqtt переподключится сам и Zigbee отваливаться не будет. Саму привязку сервиса к брокеру мы поправим в одном из обновлений, чтобы этот шаг не требовался.

Это снимает симптом. Чтобы добить причину, то есть сами перезапуски mosquitto, пришлите, пожалуйста, при штатной работе вывод

mosquitto_sub -t '$SYS/broker/heap/#' -C 2 -v
grep -R memory_limit /usr/share/wb-configs/mosquitto/ /etc/mosquitto/

и уточните, есть ли у вас внешний подписчик, читающий все топики (например, Home Assistant или сторонний сервис, в архиве виден клиент с адреса 192.168.95.8). Это поможет понять, что переполняет память брокера.

Напишите, помог ли обходной шаг, и пришлите эти данные, продолжим по причине перезапусков.