I’ve been starting with ZHA and I have realised that Zigbee2mqtt seems to have better device support for the current devices I’ve been buying like Aqara TVOC sensor and Aqara power plug. Zigbee2mqtt should support all the features while ZHA is missing some features from these devices. Also, Zigbee2mqtt apparently added support for new devices quickly while ZHA request for a new device doesn’t seem to be progressing. In general, quickly browsing https://zigbee.blakadder.com/ it looks like Zigbee2mqtt supports more devices than ZHA.
How is it? Is my analysis correct? Is Zigbee2mqtt having better support for latest devices in general and I should pick that? So far ZHA has been dead simple to setup but Zigbee2mqtt might be just little bit more complex.
i have the same question. I tried with zha, only some shutter relays (nothing is working at this moment, new firmwares are pushed out to the shutterrelay every week by the company and i dont know the workflow for new “zigbee commands” to implement. At the moment it seems like the right persons are busy to answer i think.
Yes your analysis is pretty correct but there are also some other long-term factors to consider, like:
ZHA have much better support for any Zigbee coordinator that is not based on Texas Instruments, (and just to be clea, ZHA also have great support for Texas Instruments based Zigbee coordinators as well).
ZHA currently have fewer active HA core developers, but that might change in the future now that the announced Home Assistant Amber hardware features a Zigbee module that is best supported by ZHA.
ZHA integration is a native Home Assistant component so is easier to get started with Home Assistant, (but the downside is that because ZHA is not a standa-alone application you can not run it separately).
ZHA integration and its dependencies like zha-quirks (device handlers) and zigpy with its radio libs are all written in Python, while Zigbee2MQTT and its zigbee-herdsman are written in JavaScript/TypeScript.
Migrating back and forth between ZHA and Zigbee2MQTT is today not really possible as of yet without again resetting and then pairing/joining all of your Zigbee devices one by one, so migration is a pain.
That is the weak spot of ZHA. It ties your entire Zigbee network to one HA instance. if HA is restarted, your Zigbee network gets restarted. If a HA instance crashed, you can’t switch to your backup HA instances without moving your stick (and repairing everything).