Zigbee2MQTT crashes randomly - Sonoff Dongle E V2

Hi all,
any help is appreciated: I have Homeassistant running on a raspberry pi and use a Sonoff Dongle E V2 with Z2M. After a reboot, Z2M starts without a hitch and all my Zigbee devices work like a charm, but after a couple of hours, Z2M crashes with error messages suggesting the dongle disconnected.

Troubleshooting I have already tried:

As I said, any help is very much appreciated - most of my devices are zigbee and they used to work fine out of the box with ZHA, until I recently installed thermostats which required me to migrate to Z2M (yes, of course I removed ZHA when configuring Z2M). As it is the setup is not usable, the zigbee devices are offline more often than online…

Setup info:

Home Assistant OS 16.3
Core 2025.11.1
Supervisor 2025.11.2 
Frontend 20251105.0

Mosquitto broker 6.5.2
Zigbee2MQTT 2.6.3-1

Raspberry Pi rpi3-64
SONOFF Zigbee 3.0 USB Dongle E Plus V2 with ID /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20240105095150-if00
with Firmware v7.4.5.0 for Baudrate 230400 flashed

Z2M log:

[16:24:24] INFO: Preparing to start...
[16:24:25] INFO: Socat not enabled
[16:24:26] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-13 16:25:00] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,248,67,105,22,6,83]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '45494'.))
[2025-11-13 16:25:03] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-13 16:25:03] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-11-13 16:25:03] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:25:03] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-11-13 16:25:03] error: 	z2m: Adapter disconnected, stopping
[16:25:24] INFO: Preparing to start...
[16:25:25] INFO: Socat not enabled
[16:25:26] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-13 16:25:57] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,248,127,105,22,6,143]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '45494'.))
[2025-11-13 16:26:30] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=82 Len=26].
[2025-11-13 16:26:30] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=82 Len=26].
[2025-11-13 16:26:31] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=83 Len=26].
[2025-11-13 16:26:31] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=83 Len=26].
[2025-11-13 16:26:59] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=65 Len=26].
[2025-11-13 16:27:00] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=65 Len=26].
[2025-11-13 16:28:11] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=165 Len=26].
[2025-11-13 16:28:20] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=165 Len=26].
[2025-11-13 16:28:42] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-13 16:28:45] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-11-13 16:28:45] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:28:45] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-11-13 16:29:24] error: 	z2m: Adapter disconnected, stopping
[16:30:19] INFO: Preparing to start...
[16:30:19] INFO: Socat not enabled
[16:30:21] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-13 16:30:54] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,249,167,105,22,7,183]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '45494'.))
[2025-11-13 16:30:55] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=80 Len=26].
[2025-11-13 16:30:55] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=80 Len=26].
[2025-11-13 16:30:58] error: 	zhc:tuya: Failed to sync time with '0xa4c13823fa33b71f' (Error: ZCL command 0xa4c13823fa33b71f/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,249,167,105,22,7,183]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed ({"target":26098,"apsFrame":{"profileId":260,"clusterId":61184,"sourceEndpoint":1,"destinationEndpoint":1,"options":4416,"groupId":0,"sequence":160},"zclSequence":1,"commandIdentifier":11} timed out after 10000ms))
[2025-11-13 16:31:05] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=185 Len=26].
[2025-11-13 16:31:07] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=185 Len=26].
[2025-11-13 16:31:09] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=186 Len=26].
[2025-11-13 16:31:09] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=186 Len=26].
[2025-11-13 16:31:54] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-13 16:32:00] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-11-13 16:32:01] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:32:01] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-11-13 16:32:02] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:32:10] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ASH_ERROR_TIMEOUTS. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=227 Len=7].
[2025-11-13 16:32:20] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ASH_NCP_FATAL_ERROR. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=227 Len=7].
[2025-11-13 16:32:33] error: 	z2m: Adapter disconnected, stopping
[16:33:08] INFO: Preparing to start...
[16:33:09] INFO: Socat not enabled
[16:33:10] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-13 16:33:47] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,250,85,105,22,8,101]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '45494'.))
[2025-11-13 16:33:47] error: 	zhc:tuya: Failed to sync time with '0xa4c13823fa33b71f' (Error: ZCL command 0xa4c13823fa33b71f/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,250,85,105,22,8,101]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '26098'.))
[2025-11-13 16:36:59] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-13 16:37:01] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-11-13 16:37:01] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:37:01] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-11-13 16:37:01] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:37:01] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:37:14] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ASH_ERROR_TIMEOUTS. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=5 Len=7].
[2025-11-13 16:37:14] error: 	zh:controller: Failed to disable join on stop: Error: ASH_ERROR_TIMEOUTS
[2025-11-13 16:37:15] error: 	z2m: Failed to stop Zigbee2MQTT (Error: NOT_CONNECTED
    at Ezsp.ezspGetNetworkParameters (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:3158:19)
    at /app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1590:46
    at Queue.execute (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/utils/queue.ts:36:20)
    at EmberAdapter.backup (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1588:16)
    at Controller.backup (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/controller/controller.ts:363:28)
    at Controller.stop (/app/node_modules/.pnpm/[email protected]/node_modules/zigbee-herdsman/src/controller/controller.ts:337:13)
    at Zigbee.stop (/app/lib/zigbee.ts:224:9)
    at Controller.stop (/app/lib/controller.ts:304:13)
    at stop (/app/index.js:160:5)
    at process.handleQuit (/app/index.js:168:13))
[16:37:31] INFO: Preparing to start...
[16:37:31] INFO: Socat not enabled
[16:37:33] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-13 16:38:16] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,251,94,105,22,9,110]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '45494'.))
[2025-11-13 16:38:16] error: 	zhc:tuya: Failed to sync time with '0xa4c13823fa33b71f' (Error: ZCL command 0xa4c13823fa33b71f/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,21,251,95,105,22,9,111]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Delivery failed for '26098'.))
[2025-11-13 16:38:16] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=108 Len=26].
[2025-11-13 16:38:16] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=108 Len=26].
[2025-11-13 16:39:43] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-13 16:39:49] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-11-13 16:39:51] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:39:51] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-11-13 16:39:51] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:39:52] error: 	z2m: Adapter disconnected, stopping
[16:40:11] INFO: Preparing to start...
[16:40:12] INFO: Socat not enabled
[16:40:14] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-13 16:41:02] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=122 Len=26].
[2025-11-13 16:41:08] error: 	zh:ember:ezsp: ERROR Transaction failure; status=ERROR_WRONG_DIRECTION. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=122 Len=26].
[2025-11-13 16:41:15] error: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-13 16:41:15] error: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2025-11-13 16:41:15] error: 	zh:ember:uart:ash: Error while parsing received frame, status=ASH_NCP_FATAL_ERROR.
[2025-11-13 16:41:15] error: 	zh:ember: Adapter fatal error: HOST_FATAL_ERROR
[2025-11-13 16:41:17] error: 	z2m: Adapter disconnected, stopping

Z2MQTT config:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  server: mqtt://core-mosquitto:1883
  user: mqtt-user
  password: #######
serial:
  port: >-
    /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20240105095150-if00
  adapter: ember
  rtscts: true
  baudrate: 230400

Mosquitto broker log:

2025-11-13 16:20:33: Client <unknown> closed its connection.
2025-11-13 16:21:03: Client mqttjs_d662dfc5 disconnected.
2025-11-13 16:21:59: New connection from 172.30.33.3:57554 on port 1883.
2025-11-13 16:22:00: New client connected from 172.30.33.3:57554 as mqttjs_10cf6c3c (p2, c1, k60, u'mqtt-user').
2025-11-13 16:22:34: New connection from 172.30.32.2:42696 on port 1883.
2025-11-13 16:22:35: Client <unknown> closed its connection.
2025-11-13 16:23:45: Client mqttjs_10cf6c3c disconnected.
2025-11-13 16:24:35: New connection from 172.30.32.2:38672 on port 1883.
2025-11-13 16:24:35: Client <unknown> closed its connection.
2025-11-13 16:24:49: New connection from 172.30.33.3:36286 on port 1883.
2025-11-13 16:24:49: New client connected from 172.30.33.3:36286 as mqttjs_7493c7f8 (p2, c1, k60, u'mqtt-user').
2025-11-13 16:25:04: Client mqttjs_7493c7f8 disconnected.
2025-11-13 16:25:49: New connection from 172.30.33.3:40452 on port 1883.
2025-11-13 16:25:49: New client connected from 172.30.33.3:40452 as mqttjs_4d8a54f7 (p2, c1, k60, u'mqtt-user').
2025-11-13 16:26:35: New connection from 172.30.32.2:55530 on port 1883.
2025-11-13 16:26:35: Client <unknown> closed its connection.
2025-11-13 16:28:36: New connection from 172.30.32.2:41954 on port 1883.
2025-11-13 16:28:37: Client <unknown> closed its connection.
2025-11-13 16:30:05: Client mqttjs_4d8a54f7 disconnected.
2025-11-13 16:30:36: New connection from 172.30.32.2:45830 on port 1883.
2025-11-13 16:30:36: Client <unknown> closed its connection.
2025-11-13 16:30:45: New connection from 172.30.33.3:58820 on port 1883.
2025-11-13 16:30:45: New client connected from 172.30.33.3:58820 as mqttjs_ee73544a (p2, c1, k60, u'mqtt-user').
2025-11-13 16:32:37: New connection from 172.30.32.2:36514 on port 1883.
2025-11-13 16:32:38: Client <unknown> closed its connection.
2025-11-13 16:32:41: Client mqttjs_ee73544a disconnected.
2025-11-13 16:33:36: New connection from 172.30.33.3:56408 on port 1883.
2025-11-13 16:33:36: New client connected from 172.30.33.3:56408 as mqttjs_212764be (p2, c1, k60, u'mqtt-user').
2025-11-13 16:34:38: New connection from 172.30.32.2:58904 on port 1883.
2025-11-13 16:34:38: Client <unknown> closed its connection.
2025-11-13 16:36:38: New connection from 172.30.32.2:34090 on port 1883.
2025-11-13 16:36:38: Client <unknown> closed its connection.
2025-11-13 16:36:51: Client mqttjs_212764be disconnected.
2025-11-13 16:38:01: New connection from 172.30.33.3:40802 on port 1883.
2025-11-13 16:38:01: New client connected from 172.30.33.3:40802 as mqttjs_9cb81904 (p2, c1, k60, u'mqtt-user').
2025-11-13 16:38:38: New connection from 172.30.32.2:54764 on port 1883.
2025-11-13 16:38:38: Client <unknown> closed its connection.
2025-11-13 16:39:54: Client mqttjs_9cb81904 disconnected.
2025-11-13 16:40:37: New connection from 172.30.33.3:54642 on port 1883.
2025-11-13 16:40:37: New client connected from 172.30.33.3:54642 as mqttjs_7498d8a8 (p2, c1, k60, u'mqtt-user').
2025-11-13 16:40:38: New connection from 172.30.32.2:40606 on port 1883.
2025-11-13 16:40:38: Client <unknown> closed its connection.
2025-11-13 16:41:18: Client mqttjs_7498d8a8 disconnected.
2025-11-13 16:42:38: New connection from 172.30.32.2:48530 on port 1883.
2025-11-13 16:42:38: Client <unknown> closed its connection.

Supervisor log:

2025-11-13 16:40:02.149 INFO (SyncWorker_7) [supervisor.docker.manager] Cleaning addon_45df7312_zigbee2mqtt application
2025-11-13 16:40:11.557 INFO (MainThread) [supervisor.docker.addon] Starting Docker add-on ghcr.io/zigbee2mqtt/zigbee2mqtt-aarch64 with version 2.6.3-1
2025-11-13 16:40:13.734 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/info access from 45df7312_zigbee2mqtt
2025-11-13 16:41:27.087 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-82270' coro=<Addon.watchdog_container() done, defined at /usr/src/supervisor/supervisor/addons/addon.py:1588> exception=AddonsJobError('Rate limit exceeded, more than 10 calls in 0:30:00')>
Traceback (most recent call last):
  File "/usr/src/supervisor/supervisor/addons/addon.py", line 1602, in watchdog_container
    await self._restart_after_problem(event.state)
  File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 287, in wrapper
    if not await self._handle_throttling(group_name):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/supervisor/supervisor/jobs/decorator.py", line 544, in _handle_throttling
    raise on_condition(
        f"Rate limit exceeded, more than {self.throttle_max_calls} calls in {self.throttle_period(group_name)}",
    )
supervisor.exceptions.AddonsJobError: Rate limit exceeded, more than 10 calls in 0:30:00

Try a different power supply perhaps.

That looks to me (not an expert though…) like issues connecting to mqtt. Both because you look like connection issues and that the mesh worked well with ZHA.

I would try to add another user and password to the MQTT broker, then change this Z2M login to match that. Don’t put the MQTT word in the username at all.

I believe the MQTT log is looking normal.

You mean where it connects and disconnects from the Z2m container

a dozen times in 5 minutes?

It may be that there is 2 copies trying to run because the .2 and the .3 are connecting and dis-connecting each other. Therefore change the login on something to see if it settles.

I have exactly the same in mine which never has misbehaved.

You are probably seeing something like this

2025-11-14 11:59:42: Client <unknown> closed its connection.
2025-11-14 12:01:42: New connection from 172.30.32.2:45098 on port 1883.
2025-11-14 12:01:42: Client <unknown> closed its connection.
2025-11-14 12:03:42: New connection from 172.30.32.2:46332 on port 1883.
2025-11-14 12:03:42: Client <unknown> closed its connection.
2025-11-14 12:05:42: New connection from 172.30.32.2:42012 on port 1883.
2025-11-14 12:05:42: Client <unknown> closed its connection.
2025-11-14 12:07:42: New connection from 172.30.32.2:60706 on port 1883.
2025-11-14 12:07:42: Client <unknown> closed its connection.
2025-11-14 12:09:42: New connection from 172.30.32.2:45248 on port 1883.

Where it closes and starts the same connection, but that one is alternating between 2 IP addresses, x.x.x.2 and x.x.x.3 which is the part I’m wondering about.

You’re right, I missed that!

Thank you so much for the quick replies - I tried Sir_Goodenough’s solution first, renamed the MQTT-user to z2m-user.
If I do not update this in z2m config, z2m can’t connect:

[19:41:51] INFO: Preparing to start...
[19:41:52] INFO: Socat not enabled
[19:41:54] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-14 19:42:11] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-11-14 19:42:11] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-11-14 19:42:11] error: 	zh:ember:uart:ash: Received ERROR from adapter while connecting, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-14 19:42:16] error: 	z2m: MQTT failed to connect, exiting... (Connection refused: Not authorized)
[19:42:28] INFO: Preparing to start...
[19:42:28] INFO: Socat not enabled
[19:42:30] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT without watchdog.
[2025-11-14 19:42:47] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-11-14 19:42:47] error: 	zh:ember:uart:ash: Received frame with CRC error
[2025-11-14 19:42:47] error: 	zh:ember:uart:ash: Received ERROR from adapter while connecting, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2025-11-14 19:42:52] error: 	z2m: MQTT failed to connect, exiting... (Connection refused: Not authorized)

Mosquitto broker log after I changed the user name both in home assistant, Mosquitto broker and Z2M:

[19:29:30] INFO: Setting up user z2m-user
[19:29:34] INFO: SSL is not enabled
cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0
cont-init: info: running /etc/cont-init.d/nginx.sh
cont-init: info: /etc/cont-init.d/nginx.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun mosquitto (no readiness notification)
services-up: info: copying legacy longrun nginx (no readiness notification)
s6-rc: info: service legacy-services successfully started
[19:29:41] INFO: Starting NGINX for authentication handling...
[19:29:42] INFO: Starting mosquitto MQTT broker...
2025-11-14 19:29:42: Warning: Mosquitto should not be run as root/administrator.
2025-11-14 19:29:42: mosquitto version 2.0.22 starting
2025-11-14 19:29:42: Config loaded from /etc/mosquitto/mosquitto.conf.
2025-11-14 19:29:42: Loading plugin: /usr/share/mosquitto/go-auth.so
2025-11-14 19:29:42:  ├── Username/password checking enabled.
2025-11-14 19:29:42:  ├── TLS-PSK checking enabled.
2025-11-14 19:29:42:  └── Extended authentication not enabled.
2025-11-14 19:29:42: Opening ipv4 listen socket on port 1883.
2025-11-14 19:29:42: Opening ipv6 listen socket on port 1883.
2025-11-14 19:29:42: Opening websockets listen socket on port 1884.
2025-11-14 19:29:42: mosquitto version 2.0.22 running
2025-11-14 19:29:45: New connection from ::1:55034 on port 1883.
2025-11-14 19:29:45: Client <unknown> disconnected due to protocol error.
2025-11-14 19:29:50: New connection from 172.30.32.1:49219 on port 1883.
2025-11-14 19:29:50: New client connected from 172.30.32.1:49219 as 2vAfDP2ipCh2jsxxguiVEC (p2, c1, k60, u'homeassistant').
[19:29:53] INFO: Successfully send discovery information to Home Assistant.
[19:29:56] INFO: Successfully send service information to the Supervisor.
2025-11-14 19:30:05: New connection from 172.30.33.3:37626 on port 1883.
2025-11-14 19:30:05: New client connected from 172.30.33.3:37626 as mqttjs_f5896a1e (p2, c1, k60, u'z2m-user').
2025-11-14 19:31:39: New connection from 172.30.32.2:59066 on port 1883.
2025-11-14 19:31:39: Client <unknown> closed its connection.

The 172.30.32.3 connection apparently is z2m - at 19:30:05 I had changed the mqtt config in Z2M to the new username. When I saw that the 172.30.32.2 still connects I changed it back, so now I am getting:

2025-11-14 19:33:39: New connection from 172.30.32.2:52876 on port 1883.
2025-11-14 19:33:39: Client <unknown> closed its connection.
2025-11-14 19:35:39: New connection from 172.30.32.2:48736 on port 1883.
2025-11-14 19:35:39: Client <unknown> closed its connection.
2025-11-14 19:37:39: New connection from 172.30.32.2:33342 on port 1883.
2025-11-14 19:37:39: Client <unknown> closed its connection.
2025-11-14 19:39:39: New connection from 172.30.32.2:50668 on port 1883.
2025-11-14 19:39:39: Client <unknown> closed its connection.
2025-11-14 19:40:46: Client mqttjs_f5896a1e disconnected.
2025-11-14 19:41:38: New connection from 172.30.33.3:47786 on port 1883.
2025-11-14 19:41:38: Client mqttjs_5c06bb09 disconnected, not authorised.
2025-11-14 19:41:40: New connection from 172.30.32.2:39610 on port 1883.
2025-11-14 19:41:40: Client <unknown> closed its connection.
2025-11-14 19:42:16: New connection from 172.30.33.3:51350 on port 1883.
2025-11-14 19:42:16: Client mqttjs_f48af2c1 disconnected, not authorised.
2025-11-14 19:42:52: New connection from 172.30.33.3:60342 on port 1883.
2025-11-14 19:42:52: Client mqttjs_5e465116 disconnected, not authorised.
2025-11-14 19:43:25: New connection from 172.30.33.3:47314 on port 1883.
2025-11-14 19:43:25: Client mqttjs_073f598f disconnected, not authorised.
2025-11-14 19:43:39: New connection from 172.30.32.2:37202 on port 1883.
2025-11-14 19:43:39: Client <unknown> closed its connection.
2025-11-14 19:43:57: New connection from 172.30.33.3:56384 on port 1883.
2025-11-14 19:43:57: Client mqttjs_128ad810 disconnected, not authorised.
2025-11-14 19:44:33: New connection from 172.30.33.3:37022 on port 1883.
2025-11-14 19:44:33: Client mqttjs_f66f2322 disconnected, not authorised.
2025-11-14 19:45:06: New connection from 172.30.33.3:45138 on port 1883.
2025-11-14 19:45:06: Client mqttjs_86a7aac1 disconnected, not authorised.
2025-11-14 19:45:37: New connection from 172.30.33.3:56684 on port 1883.
2025-11-14 19:45:37: Client mqttjs_f4e56a94 disconnected, not authorised.
2025-11-14 19:45:39: New connection from 172.30.32.2:41258 on port 1883.
2025-11-14 19:45:39: Client <unknown> closed its connection.
2025-11-14 19:46:12: New connection from 172.30.33.3:49252 on port 1883.
2025-11-14 19:46:12: Client mqttjs_bfe04a92 disconnected, not authorised.

Did I mess up my initial MQTT login configuration maybe? I followed a youtube tutorial - unfortunately I’m not allowed to post the link as it is the third in this post…

I created a user (MQTT-user, as in the tutorial, now renamed to z2m-user) in home assistant:


I set this account up in Mosquitto broker:

logins:
  - username: z2m-user
    password: ####
require_certificate: false
certfile: fullchain.pem
keyfile: privkey.pem
customize:
  active: false
  folder: mosquitto

And I entered the user in the Z2M config:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  server: mqtt://core-mosquitto:1883
  user: z2m-user
  password: ####
serial:
  port: >-
    /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20240105095150-if00
  adapter: ember
  rtscts: true
  baudrate: 230400

How can I find out what the 172.30.32.2 login is about? And anything I can do about it?

fleskefjes I’ll try changing the power source, too. Mine is a 5V 2,5A Micro-USB, but I’ll get a new, original one just in case.

1 Like

Might want to reboot the host or hosts for everything to make sure any wierdness is gone. Almost seems like something is ghosting you or 2 z2m’s are trying to log into that broker.

Reboot, not restart in this case.

The error above sounds familiar. There were a couple of potentially breaking changes for Tuya in Z2M released last month. It might be a good idea to search in Z2M GitHub for issues with the same error.

Pretty sure you’ll find an identical issue. If not, you should create one yourself.

Okay everyone - thanks again for all the replies. I deliberately waited a couple of days before posting this just to be sure, but now I am certain that the problem has been solved.
Aparently all I had to do was move the raspberry pi with the zigbee dongle away from my router and connected tangle of cables. I moved it from where I had put it neatly out of sight with all the other tech stuff to a place I could reach more easily since I had to do a lot of manual rebooting to get Z2M working for a few hours again - and that did the trick! For a week now Z2M is running smoothly with instant reaction to toggle switches, pairing new devices within seconds - it’s amazing.

The error @ShadowFist mentioned stayed though:

[2025-11-21 16:33:52] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,32,134,86,105,32,148,102]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed ({"target":45494,"apsFrame":{"profileId":260,"clusterId":61184,"sourceEndpoint":1,"destinationEndpoint":1,"options":4416,"groupId":0,"sequence":121},"zclSequence":186,"commandIdentifier":11} timed out after 10000ms))
[2025-11-21 19:33:53] error: 	zhc:tuya: Failed to sync time with '0xa4c138beb69717f2' (Error: ZCL command 0xa4c138beb69717f2/1 manuSpecificTuya.mcuSyncTime({"payloadSize":8,"payload":[105,32,176,135,105,32,190,151]}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed ({"target":45494,"apsFrame":{"profileId":260,"clusterId":61184,"sourceEndpoint":1,"destinationEndpoint":1,"options":4416,"groupId":0,"sequence":84},"zclSequence":83,"commandIdentifier":11} timed out after 10000ms))

But this has not impaired functionality at all so far. I will take your advice and follow this up on GitHub, although with a somewhat lowered priority, because “don’t try to fix it if it is working”…

What I do not get is why interference (probably my 2.4 GHz Wifi with the dongle) led to these error messages and crashes while the communication with the devices was always smooth in the short intervals when Z2M was working - I would have expected connection errors instead of this…
Thanks anyways to all of you!