Thank you very much for the detailed write-up @Hedda, much appreciated. I have a related question. One of the biggest issues I had initially with my ZigBee network was related to my wifi router. I have set up my ZigBee network to use channel 15. Initially, I had my wifi router set up to choose the 2.4 channel automatically. My ZigBee devices would sometimes work great, but other times would become really unreliable. I couldn’t figure it out so I even bought the new Aqara P1 motion sensors to see if their better ZigBee 3.0 compatibility would solve the problem, but it didn’t. Ultimately, I realized what was happening was my wifi router would sometimes choose channels 1 or 6, which interfered with my ZigBee channel 15. I went ahead and changed the WiFi channel to 11 and the problems stopped immediately.
The only issue now is that from time to time, my wifi devices get poor connection during times when channel 11 is congested in my neighborhood. I’ve looked into buying a wifi 6.0 mesh system like the TP link Deco, Google/Nest wifi, Eero, etc. but I’m afraid that may actually interfere with my ZigBee network again as I’ve read you can’t really specify which 2.4 channel those mesh systems use. Ideally, I’d love to have a wifi router/system that allows me to exclude certain channels, while still being able to use a number of other channels to switch automatically based on traffic.
So my question is, is there a wifi router/mesh system you would recommend that has the best features/specs for coexisting with ZigBee networks? I’d love to figure this out as both my wifi and ZigBee networks continue to grow.
Best if you can use as few devices that use Wi-Fi 2.4GHz as possible. So if poissible try to buy more modern WiFi devices that either use wired Ethernet or support Wi-Fi 5GHz and/or Wi-Fi 6GHz bands.
Not really, hopefully can make it work as long as can set static channel(s) on your Wi-Fi access-points.
I personally primarily use wired Ethernet everywhere it is possible and have three “Unify U6 Lite” WiFi access-point units configured to use different static channels and placed far a part and located where fast WiFi is more important, that works great for me.
Most important is to add loads of Zigbee Router devices (mains-powered devices) to build out a large Zigbee network mesh and keeping all your Zigbee devices as far away as possible from sources of interference, which include trying not to place any Zigbee devices too close to any WiFi access-points.
Thanks for the reply. That was my suspicion. I still have a bunch of Tuya-based light bulbs and switches (e.g., Treatlife) that I run using localtuya, which work well, but I agree moving forward I’ll likely stick to newer wifi gear or ZigBee devices exclusively. One of the things I’ve noticed is the selection of ZB dimmer switches is not great, but that will probably improve in the future. Thanks again for the writeup, very helpful.
I also live in a three-story house (with dense walls) and I recommend considering relocating your Zigbee Coordinator adapter to the middle floor as much as in the centre of your house if that is possible.
If you can pull a long cable then relocating the Zigbee Coordinator adapter can relatively easily be achieved by either simply a long USB cable or using an inexpensive “USB Ethernet RJ45 Extender Adapter” converter that can convert a very long Ethernet cables into a very long USB extension cable.
Alternatively, buy to a network-attached Zigbee Coordinator serial adapter like those from d TubeZB or ZigStar and migrate to it, (as mentioned in the above thread).
Note that a network-attached Zigbee Coordinator serial adapter over WiFi is not recommended as the serial protocol they use is not designed to handle package drops or delays!
That is a good beginning, but understand that not all Zigbee Router devices are created equal, so if you have a large house with a complex layout and/or walls that have dense building materials then it is a good idea to buy a few dedicated Zigbee Router devices that serve no other purpose than acting as Zigbee signal repeaters.
For a three-floor house I suggest buying at least three dedicated Zigbee Router devices, with one on each floor (including one on the same floor as the Zigbee Coordinator but placed a little bit away from it).
There are still things can do; such as pull wired Ethernet cables to all your WiFi access-points so they will use wired “Ethernet Backhaul” network between them instead of WiFi as their backbone network, as using a “Wireless Backhaul” (a.k.a. WiFi-mesh) will generate a lot of unnecessary traffic between APs:
Also moving all Zigbee devices so they are not too close to any WiFi access-points or any other equipment/appliances/power supplies/cables/wires that have electricity. Especially the Zigbee Coordinator adapter and any dedicated Zigbee Router devices so they do not get reception issues.
Possibly test changing the Zigbee channel too if you can find out which WiFi channels your APs us:
Again, there are even more tips posted in the original guide post and the thread’s discussions above.
I think the best would however be to consider selling your TP-Link WiFi mesh system if they do not allow you to set static WiFi channels and instead buy some other WiFi access-points that allow you to set static Wi-Fi channel(s) on your WiFi access-points, because dynamic Wi-Fi channel switching will cause intermittent problems which basically makes troubleshooting impossible or extremely hard so all you can really do is try your best to avoid known issues, such as most of the generic tips about removing other sources of electromagnetic interference as such.
If you want to do real low-level diagnostics then Zigbee sniffing with Wireshark for packet capture and analyses (which is same skills as a network engineer and requires knowledge of the Zigbee protocol):
To sniff Zigbee traffic you will need another separate Zigbee Coordinator adapter (Silabs or TI based):
If the ideal location is away from any surface, how are people mounting and securing their dongles? I’ve got mine on USB 2.0 extensions, but it seems like I need some sort of tripod or some kind of extension to get it away from a wall or ceiling. Would anyone be willing to share details of how they’ve mounted their dongles?
For my situation, I have both Zwave and Zigbee, and while I have 50 repeaters (most are Hue Lights), I’m finding Zigbee to be far less reliable and forgiving as Zwave, which I’m thinking may be due to the location of the controller.
Also - I’m curious how best to “fix” a network that was not necessarily setup following this guide. Since I wasn’t certain I was going to migrate my Hue devices to my SkyConnect, I did it piecemeal one room at a time. Due to the distance, I mistakenly took a few stubborn bulbs down to where the controller was to pair them and then moved them back (Which could be contributing to my reliability). Without having to unpair and repair the bulbs, is there a concept for “healing” a network like we have in Z-wave where it’ll remap the neighbors? Any recommendations on how to address this for those that set up their networks BEFORE seeing this awesome guide?
Each individual Zigbee device in your Zigbee network mesh constantly evaluates and collects information about all its possible connections and they will always try to automatically connect to the Zigbee Router with the strongest signal power about once every 24 hours or so.
So there is no need for you to do anything to initiate the healing of a Zigbee network, but if you like to try to speed up that process then you can try making a troublesome device powerless for a while and then replugging it.
In that case, the smart thing, to begin with, is simply to add more good Zigbee Router devices in the best possible location and then just wait until the next day for your other Zigbee devices to connect to them.
Note however that as mentioned in the guide above, not all devices behave well like this or play nice with other manufacturers/brands, so it is possible that some devices will not use other manufacturers/brands as Zigbee Router devices, and in a few rare occasions some bad devices suppose to work as Zigbee Router devices but not forward messages from other brands (in which case there is nothing to do other than completly remove that bad device from your Zigbee network).
Suggest adding a few “known good” dedicated Zigbee Router devices and place in different areas.
Buy a few known good dedicated Zigbee Router products and place them strategically as Zigbee repeaters. Personally, I suggest buying and adding at least three such devices.
Thanks. Well based on this and the rest of your post, I’ve really done almost everything I can at this point. I purchased three Aeotec Range Extender Zis (1 for reach floor and in strategic locations).
And I also purchased three Sonoff ZBDongle-E’s, but I’ve been unable to get the firmware to flash as I’m running into this same issue where it’s getting to the bootloader, but never actually transferring on all combinations of the Sonoff dongles and my Mac and Windows devices for flashing them. And unfortunately, I’ve been unable to get any of the other known methods you’ve shared multiple times to recognize the Dongle. I really don’t get why these devices will not take the firmware transfer.
So aside from the Zigbee dongle router issues, it sounds like there’s no need to heal and my system should optimize over time, but I guess my last two questions are:
Are Hue Bulbs known to be bad routers?
Is there anyway for HA to know one of the bulbs (routers) is not actively connected or unavailable?
It sometimes find a device unresponsive to commands via the UI, but the ZHA interface shows it has good RSSI and was seen within seconds of my interaction. These are all Hue bulbs that I’m finding this with by the way, so the questions are related. Back when they were managed by Hue Hub and before I found a good location in my home, I would sometimes find bulbs Unavailable, but they would show this way in HA. It’s really weird that ZHA continues to show them as good despite clearly not working.
Do you have many of them close enough to each other? If so then that might compensate for them not being great repeaters, but on the other hand if you have loads of them then you might sooner or later reach the maximum limitation of total amount of Zigbee 3.0 devices you can add to your Zigbee Coordinator adapter (if which case you might need to setup a second Zigbee network).
And most importantly; Do they always have mains power or are they sometimes powered off because still connected to wall-switch or cord-switch?
Zigbee Router devices need to always be powered on and it will not be good for your Zigbee network mesh if your Zigbee Router devices are sometimes powered off because of “bad usage” as they will stop routing and devices connected to them will take time to reconnect.
Tip is to otherwise remove the physically wall-switch / cord-switch if and when smart lightbulbs is used as then they will not be accidentally powered off and stop routing.
Personally recommend using smart wall-switches/modules instead of smart lightbulbs for these reasons.
Yes, they should show as “Unavailable” in ZHA UI (or Zigbee2MQTT GUI) if they are working properly.
If that does not work on a specific device then there might be a bug in the device firmware that prevents that or your Zigbee Router devices are not passing along the message. Regardless suggest upgrading firmware on both your Zigbee Coordinator and your Zigbee devices, including Zigbee Router devices.
FYI, devices becoming “Unavailable” or not changing state on command is otherwise the most common symptoms of interference problems and range issues.
The bulbs are gen 1 and gen 2 Phillips Hue, so I haven’t been able to confirm they are running Zigbee 3.0 firmware, but I’m thinking they’re not since they’re the older variety? I started this post specific to my setup and experience to not stray too far from this thread.
To answer some of your other questions/suggestions here:
Yes, they’re strategically placed throughout my home with only a couple that are further than I’d like…but those haven’t been troublesome for me.
All mains powered devices are on all the time and not tied to a manual switch. Some have smart switches attached, but those are set to be on all the time and not allow for power cutting by the action.
My controller is a SkyConnect and fully updated per the information I’ve found so far.
Good to know that I should see “Unavailable” when they’re “unavailable.” I’m going to start unpairing and repairing these troublesome devices through the nearest router if/when I see issues moving forward to see if that helps. Appreciate the response and suggestions.
I have a couple of questions. My setup is a Sonoff Zigbee Dongle-P coordinator and I have various aqara sensors throughout my house. I followed @Hedda advice and bought a Sonoff Zigbee Dongle-E and got it flashed with the router firmware. Started working immediately and seemed to have great range. I did have problems with some of my sensors that were relying on the router for connection, IIRC they would go offline and then i discovered my dongle wasn’t working. I tried a couple of things and ended up using a different power brick as opposed to the usb hub with a usb extension cable. For whatever reason it started working again. Until a power cut recently which seemed to kill the Zigbee dongle - there was quite a big power surge for about 3 seconds before the power went out. I have a feeling a power cut may have also been responsible for the problems i had in the first instance.
I looked online extensively for a place I could get the Tradfri repeater from but no where ships to my country (NZ).
I ended up buying 2 of these instead as I seen some people review them saying they act as repeaters and work with HA. They do indeed appear in ZHA as a router, but they are not great. I got 2 in case they didn’t give enough range hoping I could daisy chain them. Up until right now I had the question can a router talk to another router then back to the coordinator and I’ve just checked the network map and can see that is how they are connected although the second (further) router also has a link to the coordinator which I find strange as I thought it was out of range. The closest router is around 13m from coordinator and farthest one is 16m, and around 6m between each, all going through walls. I’m finding the sensors in the far corner of the house another 10m or so away are dropping off every now and again which is frustrating. In comparison the Zigbee Dongle-E which was around 23m from the coordinator and between the 2 of them seemed to provide stable connection for all devices.
I’m at the point where I’m sick of spending money on cheap dongles and plugs from china and just want a reliable solution even if it means I have to spend a bit more. I just looked at the Aeotec repeater and seems Amazon.com reviews are good but not so good on Amazon.de, might have to do more research here.
I am curious about whether I could run an RP SMA extension cable into the ceiling and then use a tee joiner to add in another antenna every 10-15m or so instead of all these routers/repeaters that need mains power. This way everything talks to 1 device - the coordinator. Can anyone see any problems with this? My only other option is to move my HA set up to a more central location which should work better but then creates a problem moving my RF bridge too far from a sensor outside so then I have to try and extend the range on that somehow.
@bigdogevan Would you mind sharing specifics as to how you successfully flashed the Dongle-E with the Router Firmware? Or even share via DM? I’ve literally tried three different devices with three OSes and multiple app methods (as outlined multiple times above), but have been completely unsuccessful in getting these devices to the Router Firmware.
Thanks a lot @Hedda!
I was struggling a lot with my Qnap NAS HA in VM and the Sky Connect dongle.
At the end it was the USB 3.2 Port. I added a old USB2 Hub and now it works flawlessly!
Thanks for the detailed explanation.
If can not get a hold of the “IKEA Trådfri Signal Repeater” or the “Aeotec Zigbee Range Extender” then suggest you consider buying a few CC2652P-based USB dongles and flash them with Zigbee Router firmware, or alternatively many more mains-power smart-outlet Zigbee power-plugs for same purpose.
Personally, I recommend having at least three (3) dedicated Zigbee Router devices in any home/house.
Zigbee is meant to utilize a mesh network and for that you will need to add a lot of mains-powered Zigbee Router devices if you want to get better range and coverage or if you live in a large home with walls/floors/ceilings with building materials that block wireless signals in the 2.4GHz frequency. See:
Zigbee is designed to work using “mesh networking” so yes Zigbee Router devices can communicate through other Zigbee Router devices, so the key should be to just add more Zigbee routing devices.
Zigbee routing devices are “the glue that holds the whole thing together” so adding more known good Zigbee Router devices is what will make your Zigbee network mesh stable, robust, and resilient.
However, a Zigbee mesh network will only work as designed as long as all devices follow the Zigbee specifications and allow pass-through of all messages from all devices, including those other than their own brands, which sadly not all Zigbee manufacturers do and there are unfortunately some poorly developed Zigbee devices that do not pass along all meaning, which is bad if you introduce such a device and other devices connect to it and expect it to forward its messages. I do therefore not recommend buying just any cheap mains-powered device if the main purpose is for it to work as a Zigbee Router device for extending the range and getting better coverage.
Note that some Zigbee devices are not fully compatible with all brands of Zigbee router devices. Xiaomi/Aqara devices are for example known not to work with Zigbee router devices from Centralite, General Electrics, Iris, Ledvance/OSRAM, LIGHTIFY/Sylvania, Orvibo, PEQ, Securifi, and SmartThings/Samsung. Better results can usually be achieved by using mains-powered devices IKEA and Nue/3A Home or dedicated DIY routing devices based on Texas Instruments CC253x/CC26x2 and XBee Series 2/3 Zigbee radios.
I do absolutely not recommend doing that and strongly recommend against it! Not only is Zigbee Coordinator limited to how many Zigbee devices it can connect directly (known as “Direct Children”) and the firmware on each device should technically be tuned/optimized for the specific antenna that it ships with, but what you suggest would create a “star network” (also known as “hub-and-spoke” network) instead of a “mesh network” which is a bad idea as that is not how a Zigbee network topology is designed to work, that is that in fact the opposite how Zigbee networking is supposed to work → https://en.wikipedia.org/wiki/Star_network
You actually do not want a too good of an antenna on the Zigbee Coordinator as it is better if Zigbee End Devices (ZED, e.i. battery-powered devices) always connect through a mains-powered Zigbee Router device that is located closer to it as that should make its connection more stable and make it draw less battery making its batteries last longer. Again, just add more Zigbee Router devices instead.
For even more references (which will all tell you to first add known good Zigbee Router devices), read:
Zigbee technology fully relies/depends on mesh networking and therefor works best when you have all your devices in a single Zigbee network with many “Zigbee Router” devices, as such the best way to extend the range and coverage of that Zigbee network is to add more Zigbee Router devices (mains-powered devices that will act as Zigbee signal repeaters / Zigbee range extenders).
If you need your Zigbee network to reach far away or through walls/floors/ceilings with dense building materials then you should first consider adding a few dedicated Zigbee Router devices that are known to work better as Zigbee Router devices than other products, such as for example the IKEA Trådfri Signal Repeater and Aeotec Range Extender (which both work better than most out-of-the-box), or for great Zigbee Router devices consider flashing a few Zigbee USB dongles/adapters that have external antennas with Zigbee Router firmware and use them as stand-alone devices in USB-chargers for mains-power, see the first post in → Guide for Zigbee interference avoidance and network range/coverage optimization
You can also optimize the placement of your Zigbee Coordinator adapter by using either a very long USB extension cable or buying a network-attached Zigbee Coordinator adapter (like Tube’s Zigbee Gateways or ZigStar LAN Gateway) that simply uses Serial-over-IP to communicate with the computer that runs your Zigbee gateway solution (such as the ZHA integration or Zigbee2MQTT) instead of using a Zigbee USB dongle (which in reality is a Serial-to-USB adapter), however that will only enable a more flexible installation as it just allows you easier relocate your Zigbee Coordinator to an other located, so in practice, it is just an alternative to using a very long USB extension cable (which you can also get by buying a USB Over Ethernet RJ45 Extender Adapter Kit for using an Ethernet CAT5+ cable as a very long USB extension cable).
Note! It is not recommended to connect Zigbee Coordinator adapter using Serial-over-IP over WiFi, see:
So if you decide to buy a network-attached Zigbee Coordinator adapter (like example Tube’s Zigbee Gateways or ZigStar LAN Gateway) then get a wired Ethernet variant as the serial-protocols that Zigbee Coordinator adapters use are known to have issues if used via Serial-over-IP over WiFi.
Unfortunately no, Zigbee is a wireless-only protocol that does not support any type of IP-bridging at all, so there is no way to split up a single Zigbee network in two different locations by extending it via an Ethernet network. Also, Zigbee only supports a single Zigbee Coordinator per Zigbee network, so no, you can not extend a Zigbee network by adding another Zigbee Coordinator at a different location and connecting them over an Ethernet network somehow.
The only option you have there is to instead set up several independent Zigbee networks, each with its own Zigbee Coordinator, which will have no interaction with each other whatsoever at the Zigbee level. That is, you can for example run one instance of the ZHA integration and one or more instances of Zigbee2MQTT, (again each instance will need its own Zigbee Coordinator adapter and will run its own independent Zigbee network).
Using two or more separate Zigbee installation instances independently is still a common solution for those who have two areas/locations that are so far away from each other that is it not possible for the Zigbee wireless signal to reach it even if adding many known good Zigbee Router devices to extend the range and coverage.
Other than ZHA and Zigbee2MQTT Zigbee gateway solutions using Zigbee Coordinator USB adapters instead of stand-alone gateways/bridges/hubs such as set up will technically work exactly the same as if you would have some Zigbee devices paired to a Philips Hue Bridge and some other Zigbee devices paired to an IKEA Trådfri Gateway or Samsung SmartThings Hub. That is, you then use Home Assistant to tie together all your devices to be able to control and automate their entities.
PS: By the way, a tip is that you do not need to through away yourSONOFF Zigbee Bridge as it is at least possible re-purpose ITead “SONOFF Zigbee Bridge Pro” and “SONOFF Zigbee Bridge” as Zigbee Router devices if you first hack them and then flash the Zigbee chip on them with Zigbee Router firmware. This is a similar concept to flashing Zigbee USB adapters with Zigbee Router firmware as mentioned above, however, with SONOFF Zigbee Bridge products not having an external antenna but instead only have a circuit board antenna on the board they are known to have the best reception.
The most important missing TODO from your list that I really liked is building myself a few dedicated repeaters with Sonoff dongles. As soon as I’ve finished with the basics I’m going to take care of that.
I’ve been happy with my setup for two years and I wasn’t aware that zigbee is so sensitive to interference.
I always had just one Wi-Fi router in my house and home assistant was running perfectly on my RPi 2 and CC2531, but recently I bought a Google Wi-Fi mesh with three access points and looks like that killed my zigbee network - ikea motion sensors and light switches just doesn’t turn on the lights anymore or there is like 10 seconds delay - so annoying… I’m getting lots of timeout error messages…
It started to drive me nuts, I already reinstalled home assistant on a new microSD card, I had to restore a backup and then restore the devices, I already wasted so much time looking into this, I was considering getting SkyConnect or just IKEA hub but looks like I might just need some signal repeaters.
I’ll get three of these IKEA ones and I hope that helps, otherwise I’ll try IKEA hub next and if that doesn’t help I’ll just replace my zigbee devices with Wi-Fi devices.
It might be a silly question but do I just add these to Zigbee2MQTT or do I need to somehow re-pair some devices to each repeater?
Yes you just add Zigbee repeaters / range extender or other mains-powered products that act as Zigbee Router devices to your existing Zigbee network in your gateway solution the same way as any other device, the Zigbee network mesh will automatically move devices to other Zigbee router for best signal if it working properly, you should only need to re-pair/re-join Zigbee devices with very poorly coded firmware that refuse to move automatically (such as for example old Aqara and Xiaomi devices which are infamously known for needing re-pairing/re-joining if you add or remote Zigbee Router devices). When Zigbee is working correctly you have no control over which Zigbee router that devices connect to as the whole mesh network will all just work automagically to balance itself for best signals and routing, as each device should continuously monitor its neighbours to reconnect for better route after a while (some devices do this every hour while others can take 24-hours)
Do not get an IKEA hub, that will not help at all. All Zigbee gateway solutions should in theory really perform the same if you just add enough Zigbee router devices, as it will mostly depend on how many Zigbee router devices you have in your Zigbee network and where exactly you place them to achieve optimal range and coverage, and again also on generally doing everything you can to avoid interference.
The only thing I find weird is in each room with a battery operated light switch and motion sensor I’ve got at least one light bulb that is plugged in to mains 24/7 - if light bulbs act as repeaters, how will extra repeaters help? Would I have to add them between the RPi and the actual end device or in the same room as a light switch for example?
Usually the dedicated Zigbee repeater / range extender products are better at acting as Zigbee Router devices because they will normally have a stronger radio, larger antenna, and firmware that can handle routing for more devices while most standard Zigbee devices are limited to only (commonly just handling routing for around 5 devices or so each).
Noticed on your map that you so far do not have that many Zigbee Router devices, so relatively speaking you are just starting to build your Zigbee network and that is when adding a few dedicated Zigbee repeater / range extender products will help the most. Once you have adding many more ordinary mains-powered products that act as Zigbee Router devices (say when you maybe have 30+ Zigbee Router devices that are always online) then you should no longer need to have dedicated Zigbee repeater / range extender products as your ordinary mains-powered products should offer enough coverage to achieve the same effect. So when in doubt, just add more mains-powered products that act as Zigbee Router devices.
Also, users need to be aware before buying that not all Zigbee lightbulbs are Zigbee Router devices, some are only Zigbee end-point devices which means that they do not always have to have power.
Based on your device map I would suggest adding more Zigbee Router devices (preferably some dedicated Zigbee repeater / range extender products) between your Zigbee Coordinator and your rooms, as then your existing Zigbee Router devices that you have inside the rooms (which look to have weak signals on your device map) can connect indirectly via those Zigbee Router devices instead of having to connect directly to the Zigbee Coordinator.
You might also want to add some more Zigbee Router devices closer to sensors that are further away (on your device map you can see that a couple of your end-point devices have a much low LQI).
RSSI and LQI is hard to intepret but at a quick glance it looks like your devices are meshing really good but your existing Zigbee Router devices have weak signals so should definitely consider adding more.