Accidentally flashed my working Zigbee Sonoff dongle with a wrong file, now nothing is working

As the title says i accidentally overwrote the firmware on my zigbee dongle (sonoff zigbee 3.0 usb dongle plus) when playing around with esphome.

I immediately noticed that none of my zigbee was working (not any wonder here). I went to re-flash the latest correct firmware (tried both v. 20221226 and v. 20230507), thinking that would solve my issue.

However after flashing i was able to enter my zigbee2mqtt dashboard in home assistant, however i still could not turn on or off any zigbee lights. However if i used my hue dimmer i could visibly see the lights turn on/off in the dashboard.
I think it’s odd that i can see values changing but not control it?

I’ve tried rebooting HA and unplugging my sonof zigbee dongle many times, but no luck.

In the zigbee2mqtt logs i get the following:

[23:57:33] INFO: Preparing to start...
[23:57:34] INFO: Socat not enabled
[23:57:37] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:error 2024-02-23 23:58:14: Publish 'set' 'state' to 'Hue Bedroom Closet1' failed: 'Error: Command 0x001788010c44045e/11{}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'
Zigbee2MQTT:error 2024-02-23 23:58:14: Publish 'set' 'state' to 'Hue Bedroom Closet2' failed: 'Error: Command 0x001788010c43e863/11{}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'

This is my configuration:

data_path: /config/zigbee2mqtt
  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: {}
serial: {}
zigbee_herdsman_debug: false

And zigbee configuration:

  "external_converters": [],
  "devices": [
  "groups": [
  "homeassistant": true,
  "permit_join": false,
  "mqtt": {
    "base_topic": "zigbee2mqtt",
    "user": "xxx",
    "password": "xxx",
    "server": "mqtt://core-mosquitto:1883"
  "serial": {
    "port": "/dev/ttyUSB0"
  "advanced": {
    "log_level": "warn",
    "pan_id": 6754,
    "channel": 11,
    "network_key": [
    "availability_blocklist": [],
    "availability_passlist": []
  "device_options": {},
  "blocklist": [],
  "passlist": [],
  "queue": {},
  "frontend": {
    "port": 8099
  "experimental": {}

At this point i’m kinda stuck. Any help would be greatly appreciated!

Edit** Managed to solve this by physically turning off the light on the wall contact and then turning them on again…

I had this same problem after flashing my dongle from the original. State updates from the devices were being reported but could not be controlled. In the logs it had entries like “2000 messages queued” or words to that effect. I tried reflashing to the same versions you tried but the one that restored functionality for me was CC1352P2_CC2652P_launchpad_coordinator_20210708 (apparently that is the version shipped with the dongles).

If you have been able to sort it out by power cycling devices that’s great, but if it starts to degrade again, might be something worth trying.

1 Like

Thanks, i’ll keep that in mind :slight_smile: