Hi folks. I recently converted my 50+ node setup from deconz to zigbeetomqtt, and I thought I would do a brief writeup with the hope that others doing a zigbee conversation would find it useful.
I have been running deconz for controlling my zigbee network before I was running Home Assistant. It was one of the addons for homeseer (and much better than their organic one they had), and so when I went to Home Assistant, I just kept all the devices and conbee hardware that ran on a separate raspberry Pi and used the deconz integration to bring them all into HA. Things generally worked very reliably, with the exception of some aqara sensors that seemed to drop off often, especially in some areas.
But the thing that caused me to finally make the move was this zigbee Tuya temp/humidity sensor: Tuya Smart Temperature And Humidity Sensor WiFi APP Remote Monitor For Smart Home var SmartLife WorkWith Alexa Google Assistant| | - AliExpress, which uses AAA batteries instead of a coin battery. That was important for my use case, which was sticking these in a couple freezer compartments to keep tabs on the temps and if the drawer was left open by the kids (sometimes it’s hard to tell if the freezer drawer is completely closed). The coin batteries never lasted long at low temps, but you can get lithium cells that work fine in the cold. The sensor is cheap, speaks zigbee 3.0 and a nice form factor with long lived easy to replace batteries. I like it a lot.
Deconz didn’t pair with these, and along with the desire for better diagnostics (zigbee2mqtt is really quite good!), I made the decision to switch. I did look at ZHA, but I run HA in a virtual machine (so much easier to backup and restore with a VM snapshot!), and the server is in the basement, so I really like the ability to run it remotely on a Pi in a better physical location.
@Hedda did reply in a thread that ZHA supports ser2net (it’s not in the documentation) so that would have worked as a workaround to a direct USB connection, but I really like having the Zigbee function running separately from HA. Having to update to the newest version of HA to get new device support was really unappealing to me, as I usually run a month or two behind the most current HA release to make sure the bugs are worked out (the early monthly releases are really betas), and my family really depends on HA running for a number of functions. This sort of issue was one reason why Chrome destroyed IE as a browser - IE updates came with windows updates, which weren’t always safe to do, whereas Chrome updates happened independently of OS updates. That allowed Chrome to innovate and iterate much faster than IE in the corporate world.
Anyways, I got one of the new Sonoff CC2652P sticks as a coordinator: SONOFF Zigbee 3.0 Dongle P ZB Dongle Plus Wireless Zigbee Gateway Support SONOFF ZBMINI ZHA Zigbee2MQTT USB Capture with Antenna| | - AliExpress, and updated the firmware, and the installed the zigbee2mqtt docker on the Pi. That Pi also runs zwave2mqtt, so all the docker setup was already there. I also used a 6 ft USB extension to keep it away from any interference from the Pi, that also has it’s Wifi and BT shut off. It’s a Pi 3, so it doesn’t have the usually noise from from it’s USB3 ports like a Pi 4 does, but it was also important to keep it separated from the conbee stick that was still running deconz. I actually kept the channel number set to 25 for both of them, as that was the best channel for my network (because of all the WiFi AP’s around), and I didn’t want to try to change channels after the conversions were all done.
Then I started converting the powered devices, and then renaming each one as I did it. I was shocked at how much better zigbee2mqtt’s OTA support was - it was trivial to upgrade my Tradfri bulbs and repeaters. I did all the powered devices first and then the battery devices after, since many of the sensors have trouble switching to a different router. Things were much easier to pair than in deconz, though my securifi peanut plugs needed some manual tweaks to be set up properly, and after a firmware upgrade were greater routers. Some of the sensors had issues staying online. I discovered some of my old OSRAM bulbs were not good routers and causing problems, but a combination of replacing bulbs and using zigbee2mqtt’s permit to join a specific device fixed those. Zigbee2mqtt’s diagnostics were great - so much better than the deconz map, and made me wonder why I put up with phoscon for so long.
After I converted everything, I stopped deconz and removed the deconz from the Pi. It served it’s purpose well over the years, but better options are now available.
My new Tuya sensors paired easily and everything went well, though re-pairing everything took awhile. Zigbee2mqtt also opened up new levels of functionality compared with deconz. In deconz, my peanut plugs were switches, but in zigbee2mqtt, they also could tell me power consumption. So many devices had more visibility on battery levels or other options compared to deconz.
I think most vendors do a lot of tweaking to the zigbee standard so you will be motivated to use their bridge and service platform (using cloud based) to make more profits than just the hardware alone. So zigbee configs will always need a lot of hand tweaking - a lot of that has been invested in zigbee2mqtt and it shows.
Anyways, I am very pleased, and I should have made the leap a long time ago. The diagnostics that helped me debug where issues were was very handy, esp where deconz wouldn’t show where a sensor was connected to, and it’s as fast to execute commands as it was before - much better than my zwave devices, even though the network is much smaller.
Anyway, I hope this is useful for folks who are thinking about platform choices or on deconz like I was.