In early 2020 I started to buy into smart lights for my up and coming smart home which I had some high goals for in the future. The first purchase was a set of 4 Ikea lightbulbs and 2 remotes that came with them. Two for the master bedroom and one for my own use (and a spare should anything go wrong).
Initially, I set up these lights the conventional way with the Ikea Home Smart app which provides a useful guide to pairing each and every device to the primary hub which would sit next to the router in the office. What I didn't realise at the time was that these lights made use of Zigbee and followed a cross-compatible standard that could be used with any existing Zigbee network like Phillips Hue or even Belking WEMO devices (which I would discover later).
As with any project in development, there's always one thing that you may be unable to account for. That being the human factor. Issues began to arise when the family would turn off the lights using the wall socket or inline switch. This interferes with the mesh network that the Zigbee standard promotes and at times meant that some devices were simply unusable since the mesh was unable to repair itself. Though this was often fixed with a power cycle of the device in question it became a recurring problem.
The first purchase I made in an attempt to fix these teething issues with our Zigbee network was the purchase of a Zigbee USB Dongle from https://www.itead.cc/zigbee-3-0-usb-dongle.html which was relatively cheap at the time. 2 months later I received my package, shipped from China to the Netherlands and from there all the way to where I live in Australia.
On receiving the adapter I attempted to set it up within my existing Home-Assistant install (it was advertised as compatible out of the box). Due to the limited documentation on this specific adapter, it took some time to figure out how it worked and why it initially wasn't recognised by Home-Assistant. The reason I discovered later was an incorrect serial frequency which I later found in the documentation.
Another point that wasn't too well documented was how Ikea devices were paired to a generic hub. It turned out in the end that every device had to be brought a few centimetres away from the hub to be paired. This included lightbulbs which would've been quite difficult to accomplish if they weren't in lamps. The same applied for the Ikea remotes but once I figured that out pairing and adding new devices to the network became simpler.
The other hiccup that I had during setup was that I apparently had some other Zigbee devices in the house that I had forgotten about. WEMO Smart Bulbs. I only discovered this because whilst I was pairing the Ikea devices I paired an unknown device which I toggled on and off because I thought it was a faulty Ikea light and subsequently got yelled at by someone in the room next to mine. Despite this, the setup was almost painless (with the exception that every Ikea device had to be in contact with the dongle to pair).
Other than the small issues stated above the experience of pairing new devices was relatively straight forward with Home Assistant having a handy wizard to guide new users.
The trouble occurs when one of the devices refuses to pair. The error messages don't provide much help during troubleshooting, the only place they're mentioned being obscure Github issues or forum posts. Sometimes I would attempt to pair a device only to have it recognised but then subsequently unable to be added to the mesh.
Once all my devices were paired devices on the network were responsive with minimal delay between the Home Assistant UI and the response of the device.
The final gripe that I have with this new process is that sometimes when a device was accidentally toggled at the wall it would cause the entire network to become unresponsive despite the user being able to see the state (current colour) but unable to change it. This has happened a few times and every time it means that I have to delete the network and re-pair all the devices one-by-one.
In conclusion, Home Assistant makes Zigbee setup easy (if you can find the right documentation for your devices) and intuitive but has a few small issues which prevent it from being the be-all-end-all of smart home communication protocols.