The advantage of a solution like Home Assistant is connecting very different systems together. This includes lamps, sockets, and sensors that listen to the ZigBee standard. These are now available as TINT (Müller Licht) at Aldi or under the name Silvercrest at Lidl.

⚠ [affiliate] Keine Produkte mit Cache für home-assistant.
Bitte affiliate-sync --lang en ausführen.
ConBee Stick II and DeConz/Phoscon – My Previous Solution
I have 15 lamps from Philips, Aldi, Osram, and Lidl plus another 25 sensors from Aqara (magnetic sensors and multi-sensors) , Tradfri, and Lidl in use. That’s already quite an extensive ZigBee setup. Until now, it ran with the ConBee Stick with Phoscon/DeConz in an external Docker DockerContainer platform for isolating applications. Each container includes all dependencies and runs independently of the host system. Home Assistant add-ons, Frigate, Paperless-ngx and many other self-hosted services use Docker container under UnRAID.
The reason for this was that I never managed to reliably pass through the ConBee II Stick to my virtual machine to run DeConz/Phoscon directly in Home Assistant. The only issue was that after HA updates, I often had to restart the DeConz container so the devices were reachable from HA again. However, I was able to solve this via a script that also restarted the Docker container after HA restarted.

A disadvantage of the DeConz solution with the ConBee II Stick is that new devices are often only supported much later, and the system can sometimes be a bit sluggish in execution. So I took a closer look at the other two solutions. Spoiler: it was a wild ride and sometimes really nerve-wracking, because you naturally have to re-pair all devices, adjust HA entities and automations, etc.
ZHA (ZigBee Home Automation) – Works, Doesn’t Work, Works, Doesn’t Work
ZHA ZHAZigbee Home Automation – built-in Home Assistant integration for controlling Zigbee devices without an additional coordinator (except a compatible stick like ConBee or Sonoff) is the direct implementation for ZigBee in Home Assistant. Simply install the integration, the ZigBee coordinator connection is usually automatically detected, and after a short time you have ZigBee available in Home Assistant. Integration IntegrationIn Home Assistant: connecting a device or service via ‘Devices & Services’. Each integration provides entities (e.g. Shelly, Zigbee, MCP). Not to be confused with the general IT term of found devices is just as you know it from Home Assistant and everything feels like it’s from a single mold. Passing through a Sonoff ZigBee USB 3.0 Dongle Plus Stick was no problem and it was recognized immediately.

The ZigBee devices were paired relatively quickly, though I had to note that devices often needed to be closer to the coordinator during pairing than I was used to with the ConBee Stick. The setup was almost identical: USB extension for the stick and it was at almost the same position in the house – so it couldn’t have been that.
I was somewhat enthusiastic about how nicely everything is integrated and built and already saw this as “my” solution, because ZHA is updated and restarted along with HA updates. The network topology display is good, although the descriptions of individual nodes only appear after strong zooming in.

After all devices were paired, first problems appeared: suddenly some (mainly) Hue lamps were no longer reachable. All sensors and TINT lights continued to work. After a restart, the lamps were reachable again, until they failed again a few hours later. There was no discernible pattern. Some lamps close to the ZigBee stick stopped working, while some far away functioned without issues. By re-pairing, they could be revived, with previous settings preserved. After an indefinite time, other devices went offline again.

Since ZHA’s logs showed communication with functioning devices without problems, it couldn’t be my virtual machine and the USB stick pass-through, especially since the sensors had no connection problems either. The behavior apparently didn’t depend on the ZigBee stick, as the effect was present with both the Sonoff stick and the ConBee equally.
Research revealed (here just ONE example: ZHA Zigbee Network Hell Since Updates ) that I wasn’t alone. Since the last HA updates, ZHA seems to work increasingly unreliably – regardless of whether on a Raspi, natively on PC hardware, HA as Docker or VM. Many also reported that DeConz never caused problems with the same setup.
That was naturally unacceptable, since some more important things are controlled via the ZigBee sensors at my place. So on to…
ZigBee2MQTT – Mature, Flexible, and with Broad Device Support
ZigBee2MQTT is an open-source implementation of the ZigBee protocol that runs independently of the smart home software used. You naturally need an MQTT MQTTLightweight publish/subscribe messaging protocol. Used in smart homes to exchange sensor data and control commands between devices broker like Mosquitto, which is available as an add-on in Home Assistant. ZigBee2MQTT can also be installed as an add-on under HA, but I decided to install it as a Docker container directly in UnRaid, which worked smoothly.

ZigBee2MQTT can be operated with various ZigBee solutions like the ConBee Stick, Sonoff ZigBee 3.0 , the Sonoff Bridge, or others. Since I wanted to test how ZigBee2MQTT behaves after the ZHA debacle, I installed it parallel to ZHA (with ConBee) and used the Sonoff Stick for it.
Initially, it was noticeable that pairing devices with the Sonoff Stick went much faster than under ZHA, and a direct comparison with both installations showed that ZigBee2MQTT responded faster to commands (especially during color changes) than ZHA. Much more importantly, however, the paired devices also stay reliably connected, and this system has shown no problems so far.

ZigBee2MQTT offers the broadest and fastest support for end devices and allows configuration down to the smallest detail. The network topology display is nicely solved and informative. You have a simple dashboard with all available devices that you can control directly from there, which is very practical during testing. Device names can be edited directly and, if desired, the new name is adopted in HA for the entity.

At zigbee2mqtt.io , there’s also a huge database on practically all ZigBee devices available on the market with descriptions, feature sets, and how to put them into pairing mode. This database is worth its weight in gold and helpful not only for users of this system.
ZigBee2MQTT also abstracts the ZigBee connection well, because through the MQTT base, you can access the connected devices with other systems directly and without going through Home Assistant.
Which ZigBee Solution Is Best for Home Assistant?
ZHA would definitely be the nicest solution since it’s directly integrated into Home Assistant. Unfortunately, usage fails due to the mentioned unreliability, which is apparently not an isolated case. Whether these failures are more frequent with larger networks and/or many different devices, I couldn’t determine.
Installations consisting of only 4 or 5 devices are also reported to show problems. It also doesn’t seem to depend on the ZigBee hardware like Sonoff, ConBee, or others. Therefore, this solution should be viewed with caution at the moment, and you should first do a test before deciding or throwing everything overboard.

ZigBee2MQTT is an established solution with many possibilities and the broadest hardware support. Updates and new hardware are available continuously and very promptly if problems arise.
The disadvantage of this solution is that you need an MQTT broker. At the same time, this can also be an advantage, because ZigBee2MQTT runs independently and detached from other applications. If you wanted to switch from Home Assistant to OpenHAB (why would you, but it’s just an example), you connect to the MQTT broker and immediately have access to the ZigBee devices.
ZigBee2MQTT works quickly and stably, and pairing also works quickly and reliably.
DeConz/Phoscon offers the nicest user interface, good hardware support – although new devices are often only supported months later. DeConz is not the fastest system, and if you run Home Assistant as a VM, you might have problems passing through the ConBee II Stick.

It’s the system that was in use the longest at my place (over 3 years) and always worked reliably. The integration in Home Assistant is well solved and it also works directly as a bridge. This means the ZigBee Stick with DeConz/Phoscon can also be connected directly to Alexa or an app like Hue Essentials. With ZHA/ZigBee2MQTT, this only works via Home Assistant or an additional application like diyHUE . But that also requires an additional installation as a Docker container or Home Assistant Add-On and increases complexity.
What Did I Choose?
Good question! I’m not sure yet. From the current perspective, I’ll let ZigBee2MQTT run in parallel with some lamps and observe. But my tendency is clearly back towards ConBee/DeConz/Phoscon. It worked reliably for a long time. All devices I currently use are supported, and it also works simultaneously as a bridge that functions even without Home Assistant.
If ZHA worked reliably, I would have no problem switching to it immediately. But first, you have to observe the experiences with future updates.
At the same time, I’ll take a look at how ZHA behaves on a different Home Assistant installation. For this, I’ll install a backup of my HA configuration once directly on PC hardware and once as a Proxmox VM.
I made a backup of my Home Assistant installation and installed it as a virtual machine – as announced – under Proxmox. For this, an old Dell Mini PC with 8 GB and i5 CPU (Dell Optiplex 790 SFF with Intel Core i5 2500, available with 8 GB and 250 GB SSD for under 100 euros ) had to serve, which I still had lying around. Here too, I passed the Sonoff ZigBee Stick through to the VM, and what can I say: ZHA runs absolutely problem-free here!

Even more interesting is that the same Home Assistant installation runs significantly faster here and responds more smoothly. I can even run Frigate with 4 cameras directly with the HA Add-on Add-onAdditional software package for Home Assistant OS/Supervised, installed via the add-on store (renamed to ‘Apps’ in newer HA versions). Runs as its own container alongside core – e.g. the SSH add-on WITHOUT Google Coral accelerator at 50 % CPU load. The first diagram shows the load of the Home Assistant VM with and without Frigate FrigateAI-based surveillance camera software with object detection (people, animals, vehicles). Runs completely locally and can be used as a Home Assistant integration .

Apparently, virtualization on my UnRaid server works significantly worse than Proxmox and also causes the problems with the ZigBee sticks.
Since I’ve been experimenting with Proxmox for a while, I’ll probably completely convert my UnRaid server to Proxmox. The snapshot functions for the VM and the built-in backup work excellently, while with UnRaid you have to find solutions yourself that are never really stable.
ZHA works quickly and all paired devices are reliably reachable. Therefore, my recommendation is clearly ZHA!
What do you think? Leave a comment!
Share your thoughts, questions or experiences with the community.