Zigbee2MQTT with Sonoff Dongle Plus stops working after 5 min

About a month I started having issues with Zigbee Devices. No Zigbee device was responding restarting Ha did not fix it, restarting the Zigbee2MQTT integration helps sometimes.
When the issue started it kind of worked for 24 hours and would stop again now I am down to 5 min before Zigbee dies.
A complete shutdown and manual power up, seems to work reliably to get the Zigbee network back up and running.
Nuc Hardware is tested no issues
I tried to update the Sonoff Dongle to the latest Firmware (using https://www.youtube.com/watch?v=KBAGWBWBATg (via TI Flash Programmer) but am getting an error message that the Dongle is not in firmware boot loader mode.

At this point I suspect my Sonoff Dongle is unstable, the issue seems similar to

but no answers in this thread.
Any recommendations would be greatly appreciated.
Here are my questions :

  1. Should my dongle firmware be upgradable?
    (I read that the Firmware maybe locked, preventing me from upgrading)
  2. What would be the easiest way to monitor Zigbee traffic?
    I’m ordering another ZigBee stick and will try Wireshark
  3. How can I determine if I have a hardware or software issue with HA?

TX Matthias

I am running Haos
Core2024.9.1
Supervisor2024.08.0
Operating System13.1
Frontend 20240906.0
Zigbee2MQTT V 1.40.1
Hardware Intel Nuc I3 16 GB Ram and 512 SSD ( overkill)
Sonoff Zigbee3.0 Dongle plus (cc2652P) firmware 20221102 (Latest 20240710)
Dongle about 24 month old and has been working fine until recently.

Here is a sample log of Z@M failing after 5 min (after Z2M Restart. Once I get an error in the Z2M logs any other command to ZigBee devices will fail.
See last message for error

Preformatted textPreformatted text`info 2024-09-09 09:59:09z2m: Restarting Zigbee2MQTT
info 2024-09-09 09:59:09z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/restart', payload '{"data":{},"status":"ok","transaction":"eto6t-2"}'
info 2024-09-09 09:59:25z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Master Bath Light', payload '{"brightness":221,"color":{"x":0.659,"y":0.325},"color_mode":"xy","color_temp":277,"linkquality":40,"power_on_behavior":null,"state":"OFF"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116_0x00124b0025e1e091/connection_state/config', payload '{"device":{"hw_version":"zStack3x0 20221102","identifiers":["zigbee2mqtt_bridge_0x00124b0025e1e091"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.40.1"},"device_class":"connectivity","entity_category":"diagnostic","name":"Connection state","object_id":"zigbee2mqtt_bridge_connection_state","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"payload_off":"offline","payload_on":"online","state_topic":"zigbee2mqtt/bridge/state","unique_id":"bridge_0x00124b0025e1e091_connection_state_zigbee2mqtt","value_template":"{{ value_json.state }}"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/light/0xb0ce1814030e1889/light/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"brightness":true,"brightness_scale":254,"command_topic":"zigbee2mqtt/Sengled Bulb 1/set","device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"name":null,"object_id":"sengled_bulb_1","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"schema":"json","state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_light_zigbee2mqtt"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0xb0ce1814030e1889/power/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"device_class":"power","enabled_by_default":true,"entity_category":"diagnostic","object_id":"sengled_bulb_1_power","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"state_class":"measurement","state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_power_zigbee2mqtt","unit_of_measurement":"W","value_template":"{{ value_json.power }}"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0xb0ce1814030e1889/energy/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"device_class":"energy","enabled_by_default":true,"object_id":"sengled_bulb_1_energy","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"state_class":"total_increasing","state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_energy_zigbee2mqtt","unit_of_measurement":"kWh","value_template":"{{ value_json.energy }}"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0xb0ce1814030e1889/linkquality/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:signal","name":"Linkquality","object_id":"sengled_bulb_1_linkquality","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"state_class":"measurement","state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_linkquality_zigbee2mqtt","unit_of_measurement":"lqi","value_template":"{{ value_json.linkquality }}"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0xb0ce1814030e1889/update_state/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:update","name":"Update state","object_id":"sengled_bulb_1_update_state","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_update_state_zigbee2mqtt","value_template":"{{ value_json['update']['state'] }}"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/binary_sensor/0xb0ce1814030e1889/update_available/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"device_class":"update","enabled_by_default":false,"entity_category":"diagnostic","name":null,"object_id":"sengled_bulb_1_update_available","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"payload_off":false,"payload_on":true,"state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_update_available_zigbee2mqtt","value_template":"{{ value_json['update']['state'] == \"available\" }}"}'
info 2024-09-09 09:59:27z2m:mqtt: MQTT publish: topic 'homeassistant/update/0xb0ce1814030e1889/update/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"command_topic":"zigbee2mqtt/bridge/request/device/ota_update/update","device":{"identifiers":["zigbee2mqtt_0xb0ce1814030e1889"],"manufacturer":"Sengled","model":"Element classic (A19) (E11-G13)","name":"Sengled Bulb 1","via_device":"zigbee2mqtt_bridge_0x00124b0025e1e091"},"device_class":"firmware","entity_category":"config","entity_picture":"https://github.com/Koenkk/zigbee2mqtt/raw/master/images/logo.png","json_attributes_template":"{\"in_progress\": {{ iif(value_json['update']['state'] == 'updating', 'true', 'false') }} }","json_attributes_topic":"zigbee2mqtt/Sengled Bulb 1","latest_version_template":"{{ value_json['update']['latest_version'] }}","latest_version_topic":"zigbee2mqtt/Sengled Bulb 1","name":null,"object_id":"sengled_bulb_1","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"payload_install":"{\"id\": \"0xb0ce1814030e1889\"}","state_topic":"zigbee2mqtt/Sengled Bulb 1","unique_id":"0xb0ce1814030e1889_update_zigbee2mqtt","value_template":"{{ value_json['update']['installed_version'] }}"}'
info 2024-09-09 09:59:59z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Master Bath Light', payload '{"brightness":221,"color":{"x":0.659,"y":0.325},"color_mode":"xy","color_temp":277,"linkquality":40,"power_on_behavior":null,"state":"ON"}'
info 2024-09-09 10:00:00z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Master Bath Light', payload '{"brightness":221,"color":{"x":0.659,"y":0.325},"color_mode":"xy","color_temp":277,"linkquality":40,"power_on_behavior":null,"state":"OFF"}'
info 2024-09-09 10:00:03z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Office Rear Motion', payload '{"battery":16.5,"battery_low":false,"linkquality":98,"occupancy":false,"tamper":false,"update":{"installed_version":-1,"latest_version":-1,"state":null},"update_available":null,"voltage":2600}'
info 2024-09-09 10:00:37z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Sonoff Temp Sensor test unit', payload '{"battery":94,"humidity":66.78,"linkquality":94,"temperature":27.27,"voltage":2900}'
info 2024-09-09 10:01:29z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Sonoff Temp Sensor test unit', payload '{"battery":94,"humidity":66.88,"linkquality":98,"temperature":27.27,"voltage":2900}'
info 2024-09-09 10:03:41z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Master Bath presence sensor', payload '{"action":null,"approach_distance":"medium","device_temperature":31,"linkquality":40,"monitoring_mode":"undirected","motion_sensitivity":"high","power_outage_count":17,"presence":false,"presence_event":"leave","update":{"installed_version":58,"latest_version":54,"state":"idle"},"update_available":null}'

error 2024-09-09 10:04:54z2m: Publish 'set' 'state' to 'Master Bath Light' failed: 'Error: ZCL command 0x00158d0001907f9e/1 genOnOff.on({}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (SRSP - AF - dataRequest after 6000ms)'

I use this method to flash:

Hi @walberjunior Thank you for the tip that helped.
Flashing with Python I got an error message at the end:

Verifying by comparing CRC32 calculations.
Verified (match: 0xd9dd0124)
ERROR: int() can’t convert non-string with explicit base

but the dongle is now reporting V 20240710 and has been working for longer than 5 min lets hope that fixed it …

I also replaced the USB extension cable …

48h and no issues looks like the update of the Sonoff Zigbee3.0 Dongle plus (cc2652P) from firmware 20221102 to 20240710 fixed the issue
Thanks @walberjunior

1 Like

hah, as you mentioned my post, I have to say that I moved my Z2M and MQTT instances back as addons (instead of separate containers, running in another VM) and that it kind of fixed my own issue. So I guess it was a network issue on my end.

But fun fact is I’ve got half of my zigbee devices offline again today, and had to restart HA again in order to get (part) of them back. I will try to flash my controller to latest firmaware as well, as I did not do it in a long time. But if this ain’t stabilizing things, I think I’ll want to find a better controller. Any recommendations welcome ! (I have a Sonoff Zigbee 3.0 USB Dongle Plus (10c4:ea60) at the moment)

@mswbusch You sir, are a diamond! Thank you for documenting.
Precisely the same issue solved by the firmware update.
My coordinator was also a 2022 but an earlier revision.
The 20240710 corrected the issue.
And the Python method… well sh*t… that is right up my street and so much easier! No faff whatsoever!
Thank you!