Z2MQTT Started To Have Error And Sonoff Dongle M Disconnects Causing Z2M To Reboot

Started using HA 2mths ago and accumulated about 70 devices, just Zigbee alone.

Everything was well until a few days ago when I started noticing automations and device reaction slowing and somethings not firing at all.

Started troubleshooting and have since noticed a trend. Error starts to appear for some devices. Tried reconfiguring in Z2M, deleting and re-adding but error continues to occur.

|2026-04-01 18:21:46] error: |zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:SEND_UNICAST Seq=125 Len=29].|
|---|---|
|[2026-04-01 18:21:46] error: |zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:SEND_UNICAST Seq=125 Len=29].|
|[2026-04-01 18:21:46] error: |z2m: Publish 'set' 'state' to 'Kitchen_Flood_Light_2' failed: 'Error: ZCL command 0x54ef441000d975f9/1 genLevelCtrl.moveToLevelWithOnOff({level:0,transtime:20,optionsMask:0,optionsOverride:0}, {timeout:10000,disableResponse:false,disableRecovery:false,disableDefaultResponse:false,direction:0,reservedBits:0,writeUndiv:false}) failed (~x~> [ZCL to=0x54ef441000d975f9:51486 apsFrame={profileId:260,clusterId:8,sourceEndpoint:1,destinationEndpoint:1,options:4416,groupId:0,sequence:0}] Failed to send request with status=FAIL.)'|

[2026-04-01 18:21:41] error: z2m: Failed to configure 'Kitchen_Hob_Switch', attempt 3 (Error: Device 0x54ef441000d558f2 has no input cluster genAnalogInput

And it eventually ends with error from adaptor before stopping

|[2026-04-01 18:16:00] error: |zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.|
|---|---|
|[2026-04-01 18:16:00] error: |zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR|
|[2026-04-01 18:16:00] error: |zh:ember:ezsp: Fatal error, status=ASH_NCP_FATAL_ERROR. Last Frame: [FRAME: ID=52:SEND_UNICAST Seq=101 Len=7]|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash: ASH COUNTERS since last clear:|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Total frames: RX=2497, TX=2846|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Cancelled   : RX=0, TX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   DATA frames : RX=2367, TX=358|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   DATA bytes  : RX=70706, TX=9414|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Retry frames: RX=115, TX=6|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   ACK frames  : RX=13, TX=2481|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   NAK frames  : RX=0, TX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   nRdy frames : RX=0, TX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   CRC errors      : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Comm errors     : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Length < minimum: RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Length > maximum: RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Bad controls    : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Bad lengths     : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Bad ACK numbers : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Out of buffers  : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Retry dupes     : RX=115|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   Out of sequence : RX=0|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash:   ACK timeouts    : RX=6|
|[2026-04-01 18:16:00] info: |zh:ember:uart:ash: ======== ASH stopped ========|
|[2026-04-01 18:16:00] info: |zh:ember:ezsp: ======== EZSP stopped ========|
|[2026-04-01 18:16:00] info: |zh:ember: ======== Ember Adapter Stopped ========|
|[2026-04-01 18:16:00] error: |z2m: Adapter disconnected, stopping|
|[2026-04-01 18:16:00] info: |z2m: Stopping Zigbee2MQTT (restart=false, code=2, signal=undefined)|
|[2026-04-01 18:16:00] info: |z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{state:offline}'|
|[2026-04-01 18:16:00] info: |z2m: Disconnecting from MQTT server|
|[2026-04-01 18:16:00] info: |z2m: Stopping zigbee-herdsman...|
|[2026-04-01 18:16:00] info: |z2m: Stopped zigbee-herdsman|
|[2026-04-01 18:16:00] info: |z2m: Stopped Zigbee2MQTT|

And the cycle begins.

I’ve tried all kinds of restarting and power cycle of HA, Z2M, and my Sonoff Dongle M on Zigbee router mode.

I’ve also tried updating the dongle to the latest firmware and re-trying. I’m now on version 10.0.8 beta and the results are still the same. The dongle is connected via TCP and I can see that the Z2M indicator in the web interface greys out, indicating a disconnection. I’ve tried repositioning the the dongle with no help.

I’ve noticed that just before Z2M stops, the WiFi network itself will almost grind to a halt and once Z2M stops, the WiFi works properly again.

Using my Tapo camera app also quickens Z2M from disconnecting.

Does anyone have any suggestions on the things I should try? I am currently waiting for Sonoff to reply about this issue.

Did some tidy up by making sure my WiFi and ZB isn’t crossing, which makes the network less buggy but Z2M continues to stop and restart.

Error logs are now mainly “Device has no input cluster genAnalogInput at getEndpointsWithCluster”


[03-04-2026 16:02:47] error: 	z2m: Failed to configure 'Kitchen_Dishwasher_Switch', attempt 2 (Error: Device 0x54ef441000d01a84 has no input cluster genAnalogInput
    at getEndpointsWithCluster (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman-converters/src/lib/modernExtend.ts:75:15)
    at configure (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman-converters/src/lib/modernExtend.ts:241:29)
    at Object.configure (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman-converters/src/index.ts:362:27)
    at Configure.configure (/app/lib/extension/configure.ts:135:13)
    at Immediate.<anonymous> (/app/lib/extension/configure.ts:65:17))