When it comes to battery powered sensors and IoT devices, Zigbee is one of the more popular protocols to use. Adopted by Xiaomi in their MiHome, IKEA in their TRADFRI and other manufacturers quickly made its way into our homes. Until recently, I only had my hands on MiHome Hub and Aqara sensors. Now I’m able to use CC2531 Zigbee USB sniffer with my Rasberry Pi as well. Which one is better: Hub vs Zigbee2MQTT?
Hub vs Zigbee2MQTT
Both gadgets integrate nicely with Home Assistant and NodeRED. I have been running MiHome for 6 months now so I’m very aware of the benefits the ecosystem brings to home automation. A promise of IKEA TRADFRI integration was something I was looking forward a lot, but the experience had been subpar with only lightbulbs being supported.
I ended up with IKEA devices not being used and gathering the dust. I put all my hopes in CC2531 and Zigbee2MQTT. It turns out, that that way of connecting devices is really cool, but not without disadvantages.
Xiaomi’s MiHome, IKEA’s TRADFRI Hub, and other “hubs”
Xiaomi’s MiHome is hands down, one of the better ecosystems you can run in your home automation. It comes with support for 100s devices ranging from my favourite Yeelight WiFi bulbs, sensors to connected scooters! Integration with a 3rd party like IKEA, or dling doorbell makes it one of the most versatile ecosystems out there.
Working with MiHome is easy. The software comes with the local mode and the security key once enabled, can be shared with NodeRED making most of the Aqara line available in NodeRED.
With that said, not all of the devices are properly exposed. The Xiaomi (dling) Video Doorbell is not supported at the time of the writing, and despite the promised integration with IKEA, none of the IKEA’s remotes are usable. To add the insult to injury, Xiaomi fragments its market by binding devices to specific markets. The mentioned doorbell is available only via Chinese servers, without integration with western assistants (Google Home, Alexa).
IKEA TRADFRI looks even more limited. The ecosystem is limited to IKEA devices only, and while “hubless” operation is welcomed, the system itself comes with pretty heavy limitations even when connected to the IKEA hub.
While it’s nice to have a well-developped ecosystem with a nice mobile app, support and updates, going this way means you will limit yourself to supported devices.
CC2531 USB sniffer and Zigbee2MQTT
What’s the alternative for now, and why people are not flocking around Zigbee2MQTT? To answer simply: “it’s complicated”. Working with CC2531, NodeRED and Zigbee2MQTT require time-consuming research, a fairly prohibitive learning curve and a lot of patience.
The benefit? You should be able to link most of your Zigbee devices in a single ecosystem. Sounds great right? I hope you don’t mind tinkering as this is the biggest trade-off.
In my previous write-ups, I had proven how cool NodeRED integration can be. I showcased how much functionality you can squeeze out from a single button over the standard behaviour. You could do even more impressive things if you know how.
The reality of the DIY approach is that you will spend a lot of time looking for answers and hoping someone has resolved the problem for you. It’s slow, often requires a lot of research, but the rewards are high.
If you opt out for compatibility, you will sacrifice fancy apps and interfaces, and every integration (like assistant support) will be on your shoulders to implement.
Buy USB Zigbee Stick CC2531
Buy it using these links to support NotEnoughTech.
Going forward: Hub vs Zigbee2MQTT
Since I already went through the research, I learned how to use CC2531, (3 min flash guide without CC Debugger) how to integrate Zigbee2MQTT with NodeRED and how to connect various devices, I will continue this way. I won’t blame you if you pick the easy route of consumer-grade systems. I took me 2 weeks to actually get enough time and will to flash the stick and several hours of tinkering to figure things out. Not everyone has that amount of time and patience. If you have any questions, feel free to leave it in this Reddit thread.