I use, and can highly recommend, the Sonoff Zigbee 3.0 USB Dongle Plus with my Home Assistant server (running ZHA). However, recently I had an issue where I added a new Aqara Smart Plug to my setup, and while adding it went just fine, it didn’t reflect the power measurements in Home Assistant. This surprised me since I had added a few Aqara plugs just a few months ago. I decided to update the firmware on my sonoff zigbee dongle, which I hadn’t done before – after all, everything had been working flawlessly so far. Even though flashing the dongle turned out to be pretty easy, finding information about it wasn’t. So here are a few notes I’ve made in the process to help out anyone else facing the same task.
Checking your current firmware version
In order to find out which firmware version I was running, I opened Home Assistant > Settings > Devices and services > Zigbee Home Automation (clicked on x devices) > Zigbee Coordinator
Now, when viewing the Zigbee Coordinator, I clicked the “three dots” button under Device Info and choose “Download Diagnostics”. In this file search for
"device_type": "Coordinator" and a few lines above that you will find a few lines looking like this.
"manufacturer": "Texas Instruments", "model": "CC1352/CC2652, Z-Stack 3.30+ (build 20210708)", "name": "Texas Instruments CC1352/CC2652, Z-Stack 3.30+ (build 20210708)",
The build number is what you are looking for (20210708) in this example.
Updating the firmware (using a mac)
Before you follow the link to the guide, let me quickly share what I did. First off, make a backup of your Zigbee ZHA Coordinator, just in case. I opened Home Assistant > Settings > Devices and services > In the Zigbee Home Automation, click configure. Under Network Settings you’ll see a button saying Download Backup.
Now, at this point, I powered down my linux server. I then unplugged the Zigbee dongle, and took it over to my macbook, followed this guide by Dennis van Dalen, and was done in about 2 minutes. I plugged the dongle back into my server, powered it up, and everything was up and running again.
Did it solve the issue?
It did, but, not instantly. So Home Assistant was up and running again, everything worked as before. But in order to get the power readings from the plug, I did have to remove the plug from ZHA, and re-add it. Because I gave it the same name, the automations I had created for it just kept on working. Perfect!