Converting similar tools
I recently converted from the native Z-Wave JS to Z-Wave JS UI. Both run on Z-Wave JS, so the conversion is just copying a few files and copy-pasting your keys.
Converting to Zigbee2MQTT
Converting between ZHA (built-in Zigbee Home Assistant) and Zigbee2MQTT is a lot more involved, and neither solution is going to 100% solve every issue.
From what I understand, Zigbee2MQTT → ZHA is simple. Just copy the network and import in ZHA.
On the other hand, going from ZHA → Zigbee2MQTT is the problem and why I created this thread.
A common situation
It’s more common that you’ll use the default ZHA integration in Home Assistant without a second thought because stuff just works, and then you’ll see all these guys with killer Zigbee setups and wonder “how can I have that too?”.
I’m in this situation myself. I have over 90 Zigbee devices, and more are coming. I also have hundreds of Wi-Fi devices too and as hard as it’s gonna be to recreate my Zigbee network, it’s just as hard to change the Wi-Fi password on tons of “smart” (inconvenient) devices.
Comparisons
ZHA
ZHA has a lot going for it
- Supports standards-compliant Zigbee devices outta the box. Don’t even need to wait for someone to create an integration in some cases.
- It comes with Home Assistant and is a 1st-class citizen in the ecosystem showing a fancy Zigbee logo for each device.
On the other hand…
- All the cool kids are on Zigbee2MQTT.
- Device support is supposedly worse than Zigbee2MQTT, but that hasn’t been an issue for me, and probably won’t be for folks buying newer Zigbee 3.0 devices.
- It’s cool that the network mesh view exists, but it’s sub-par compared to both Z-Wave JS UI and Zigbee2MQTT.
- Because the tooling is less troubleshooting-friendly, you also have a harder time finding and fixing issues.
- Troubleshooting tools are a must for any technology you own especially when you have hundreds of them scattered around your home.
- We’re all our own IT guys, so we need IT-guy-level tooling.
Zigbee2MQTT
Zigbee2MQTT has drawbacks
- It’s not easy to install.
- If you wanna convert from ZHA, it requires completely recreating your entire Zigbee network. This is where most people like me stop. Redoing 90+ devices and making sure all automations and dashboards still work? No way.
- Zigbee2MQTT isn’t a first-class citizen. All devices show up as MQTT rather than Zigbee with that nice red logo.
- It’s not even guaranteed all MQTT devices are Zigbee. I have one in particular (my bed) that also uses MQTT.
- Surprisingly, Z-Wave JS UI also uses MQTT, but it doesn’t have this issue because it doesn’t use the Home Assistant MQTT. This is why it can be treated like a first-class citizen and work with the existing Z-Wave stack.
- It’s very complicated to setup. You have to install this stuff, and it’s not straightforward. You have to want to tinker to use this tool, yet the tool is pretty important if you want to have an extensive Zigbee network .
Why use Zigbee2MQTT?
Then why would I wanna use Zigbee2MQTT?
- All the cool kids use it. I dunno how much I have to stress this. It means that if you want support or if you wanna watch a YouTube video on Zigbee, they’re probably running Zigbee2MQTT, so you should probably do that as well.
- Zigbee2MQTT supports just about every Zigbee device. This is where the “community” is in terms of device support. Great network view, great device view with pictures, great Z2M dashboard just for Zigbee devices, etc. It’s separate from Home Assistant, but that’s partly what makes it so powerful!
- You can have multiple controllers in your network as part of a single mesh. This is still confusing to me but unlike ZHA, you can have multiple Zigbee controllers around your house, even PoE ones, and those can all act like a single Zigbee network just like adding Wi-Fi access points!
Conclusion
It’s not exactly clear which way you should go especially if you already built out a Zigbee network with hundreds of devices. You could have both, but let’s be honest, we only really want to manage one solution.
If there was an easier way of converting from ZHA to Z2M, I’d say go for it. Probably worth the time investment. Since you have to redo the whole thing from scratch, you will run into issues for months after, and it will take time to figure out and fix everything.