Need advice to make my ZigBee devices more reliable [rant]

I use Zigbee since probalby around 5 years now - at first I just had a couple of lamps and a zigbee plug that turned a heater on/off. I barely knew about home assistant back then and only used the Philips Hue hub and the app to control those things …

As I got more into home automation and Home Assistant, I soon switched to ZigBee2MQTT and everything seemed fine. My ZigBee network grew over the time and now has almost 100 devices. Devices I rely on to work perfectly every time I need them to. For example, in parts of my home, I started to use Zigbee wall switches to turn ZigBee lamps on and off - there’s no other (convenient) way to control them any more, so it needs to work reliably and all the time … At first I thought it’s not a problem if occasionally I have to wait a couple of seconds, because one of the devices is offline momentarily. However, as the conversion to ZigBee grew, so did the problems and inversely proportional did my patience.

Most Zigbee Devices look something like this:



Even though the latter two don’t look super unreliable - they also don’t react way more often than what should be considered accaptable. They often turn unavailable just the moment I want to switch them.
Also, these are only some devices that are plugged in - battery devices don’t report availability the same way… So even though, for example a lamp has perfect linkquality, this doesn’t mean the zigbee wallswitch just next to it will not sometimes struggle to send a press to HA…

There are door sensors that work great - but ever so often, they don’t report a state change. Opening and closing the door again usually fixes the problem, but that’s not what I want to do all the time. (considering I even recognize the issue right away)

Also, battery powered devices will occasionally just lose connection to the network alltogether. From working perfectly fine one moment, to dropping out of the network with the need to be manually re-paired, the next… What is up there?!

Here a contact sensor, that yesterday evening just dropped out of the network - it did that once before in its 2 years of operation.


The battery is perfectly fine and the sensor worked fine for months. It’s a window so it only changes state about twice a week. No idea if that is relevant in any way

All devices should have great connectivity - speaking in terms of distance, routers are never more than 3-5m apart from at leas one other reouter or the coordinator. And like I said - the linkquality is always great… it can be 75 and directly connected to the coordinator, but still go unavailable for a minute from one moment to the next.

I would just like to understand what the problem here could be. Is it likely a general ZigBee problem?! Or ZigBee2MQTT?!
It’s completely illogical to me, why this would happen. And quite frankly, it costs me my last nerve to always have to hunt down and re-pair dropped devices at least once a week, or having to explain to visitors, if the bathroom light doesn’t turn on, just wait 10 seconds and try again - it will probably work then…

This is not what I had in mind when I started using Zigbee. This technology should make life easier - not complicate it!

I already tried to move the coordinator around the house - this has absolutely no impact on reliability. I switched the Zigbee Chanel to 25 (as suggested, so it won’t interfere with 2.4GHz WiFi so much). Still nothing. What devices go unavailable or drop out is completely random (at least for me). It can be the one closest to the coordinator, the one farthest away, or anything in between - there’s no difference that I could see.
Also there appears to be no difference between expensive (Philips Hue) or cheap (Xiaomi) Devices - they all have the same connectivity issues.
Edit: the stick is a Slaesh CC2652 and connected to a RPi via a 1m USB extension to prevent any interference

The one thing I have learned (once again) from using Zigbee is, that in the future I will not ever build anything on wireless technology ever again! KNX it will be for every new home that I’ll move to (at least for vital devices like lights) … or ESPHome - which works amazingly well, even though it’s wireless too (and takes a lot time to initially build a device) - but after turning off band-steering in my router, I never had a device not work/react without a good and comprehensible reason.

To me this usually indicates a less than solid mesh (or low battery).

An LQI of 75 wouldn’t be considered as great, so this to me backs up my first point. My (admittedly fairly small) network (it’s small because it isn’t my primary zigbee network - all the devices that don’t play well elsewhere go here :grinning:). All my devices have an LQI in excess of 150.

It would help if you can outline what your network looks like (what coordinator/routers/bulbs/mains vs battery devices).

1 Like

I would list 2 main issues:
1 problems with mesh. it might be a strong wifi operating on channels which frequency is close to your zigbee mesh channel freq
2. limit of your coordinator or repeaters (if you have one). check their tech specs.

Hard to say what is your rootcause, but reading your post I had impression that problems was starting gradually with more and more devices. Which suggest point #2

the device closest to the coordinator (it’s a Sleash CC2652 btw) is an Osram Smart Plug, 3m away, no obstructions - you can liteally see it from the coordinator’s antenna - and it has a 58 LQI … the next, a Philips Hue light bulb is 5m away, in the next room (just a relatively thin brick wall) and has 66 LQI. so, if a devices has 75, I always considered it good.

And I forgot to mention - the stick is connected to a RPi via a 1m USB extension to prevent any interference

I think, these problems were always there but I only startet to realise them, when the ZigBee devices gained in every day importance… I don’t get annoyed if some mood-light takes 30sec to react, or if the heater turns on with a delay - it doesn’t matter. In fact, I probalby don’t even notice most of the time. But If I walk into a pitch black hallway at night and the light doesn’t turn on immediately, it is a problem!

I don’t have dedicated repeaters - I assumed routers do the same thing?!
I have Osram Smart plugs , Xiomi Mi plugs, Philips Hue and Innr lights all around the house however

It’s generally accepted that zigbee bulbs don’t make for good repeaters (don’t ask me the technical reasons though) hence it’s common to run them off a separate network or through a hue bridge. If your problem devices are only routing through these (easy to see from the network map) then it’s a fair bet this is the reason.

Osram Smart Plugs are known to cause issues in Zigbee Networks, and are not considered to be good zigbee routers. f.e., especially in combination with Xiaomi Aqara Sensors

Yes, Xiaomi/Aqara sensors are notoriously picky about repeaters. In my experience Ikea repeaters/plugs work well, Aotec/Smartthings plugs a definte no-no, can’t comment on Osram as I’ve never used them.

Forgot to mention - yes they are, it’s just the terminology.

Just a small update:

3 days ago, I accidentally unplugged the ZigBee stick and Zigbee2MQTT completely refused to recognize it as I plugged it back in - I spent half a day looking for solutions and eventually gave up, completely erased the SD card and set everything up fresh. I use the exact same configuration.yaml and devices.yaml as before but still had to re-pair all devices (why?).
However, now the network seems to be a lot more stable - I haven’t had any device drop out of the network or any mains powered device go unavailable since then. The wall switches react more quickly too.

No Idea what is going on here … it’s literally the same configuration as before… the best LQI is still below 70 (3m away from the coordinator), but everything just seems snappier now.

I just wish I knew what is going on here - not being able to comprehend the issues is what drives me insane

I have a similar situation, and I’ve been thinking if there has been something in the ha updates along the years that could have caused the inconsistant functioning of long running zigbee devices. May I ask if things are good now, should I go thru the se operation?

unfortunately, not really … mains-powered devices still go unavailable (all of them: HUE lights, Osram and Aqara plugs, and INNR lights) and battery powered devices drop out of the network all the time - I have to manually re-join at least one of them every 2-3 weeks.

I’m really thinking about some alternatives to all the wireless stuff, that makes life unnecessarily difficult… for the future, all essential devices will be wired - I just ordered an ESP32 with ethernet and PoE … lets see if that’s an option moving forward.
Personally, I’m pretty much done with Zigbee - it’s a nice addition for fun but unessential applications (like RGB lights) or switches where it doesn’t matter if the action is delayed a minute or five (like an additional heater) - and I’ll still keep that stuff, but I am really looking to replace most of the battery powered Aqara temperature sensors (which are the most unrealiable over all)

As they say, I feel your pain, OP. I got into Home Automation some 20 years ago. All we had back when was wired RS422 (worked, after fiddling with resistors) and X10 powerline. X10 was a nightmare, especially in the sprawling house I had. Turn on the light at the switch, and light came on after a long delay – if you were lucky. Wife hated it. That cured me of any HA desires until lately. Electricity rates skyrocketed, and I needed a way to monitor consumption. Enter Zigbee smart plugs, gave me pretty Watt meters in a browser. All happy until I noticed that the pretty Watt meters often got stuck, and lied to me. Here is what I did:

1.) Find (or create) an unused Wifi channel to be used by Zigbee. Note that a Zigbee channel is not the same as a Wifi channel. Zigbee starts at channel 11 (somewhere in Wifi channel 1 territory) and Zigbee ends in channel 26 (above Wifi 11). Here is a good treatise on Wifi vs Zigbee channels: ZigBee and Wi-Fi Coexistence | MetaGeek

2.) Get a good dongle. You already got one with the CC2562 chip. I started out with a dongle based on the CC2531 chip, because it was cheap, and available. Bad choice. Also, unless your dongle came pre-flashed, you may want to experiment with a few images to upload. The goto site on github is GitHub - Koenkk/Z-Stack-firmware: Compilation instructions and hex files for Z-Stack firmwares

3.) The Zigbee dongle usually lives in a dark corner behind a Raspberry Pi or computer. As you have already done, put the dongle on a good USB extension cable, far away from any electronic noise makers. Mine is hidden behind a curtain, way up near the ceiling.

4.) As you already did, check and document the link quality. Attack the bad ones. I was able to double the LQI of a smart plug from 66 to 138 by just moving the plug 50 cm away from the computer that was plugged into it.

While this may (!!!) have cured current problems, it did not increase my faith in the technology. I don’t want to have my comings and goings stored forever in a data center in Shenzhen, China, so I picked Zigbee over Wifi. However, your and my experience shows that Zigbee is not ready for prime time. I daily use, it proved as reliable as X-10 some 20 years ago, and you need to be a geek to set it up. I’ll keep using my plugs for monitoring of power consumption, but anything mission critical, like turning on the lights, will be done the olden way.

1 Like

As an update, I migrated my zigbee network couple days ago to Skyconnect, and so far it seems to make quite a difference. At the same time I added the extension cord to the dongle. However before migrating, I did try the extension cord on my old dongle and that did not help as much as migrating to skyconnect. Hoping that my investment to cheap Ikea zigbee devices now get a new life, I’ll try and post after a month or so if I can confirm that my zigbee problems got solved.

But from cheap ikea devices a definite nono is the motion sensor, don’t fall into that pitt, if you don’t want your lights randomly triggering.

One problem I experienced with the Sonoff sticks is they let you turn up the power up to 20dbm. That’s an issue because the device routers don’t come close to that, so the result is devices hear the coordinator because its so loud, and try and talk directly to the coordinator, which then can’t hear them because they are whispering back at much lower power.

When I took the tx power down to 5 dbm, that forced devices to use the mesh which improved reliability quite a bit, at least in a relatively dense network.

I’ll also +1 the comment about OSram devices. I removed their bulbs and that also made things more reliable.

Note this is all my experience with z2m, not ZHA. While I think the principles are generically true, ZHA is a different animal and may have different issues.

1 Like

I’ve seen the same behavior.

I have to think it may be worse with the Skyconnect. It defaults to +20, and only has a pcb trace for an antenna. Not enough of a radio guy to really know, but it seems like it would have an even harder time hearing those remote devices vs the Sonoff’s external antenna. I’m sure there are other elements that probably have as much or more impact than the antenna form factor.

How do you do that? Reducing the tx to 5 dbm?

Yes, I reduced power to 5dbm, but that was with a external antenna. You will have a lot more loss to deal with on a small internal antenna, but then again it hears worse too.

I had a bunch of aqara devices fading in and out regularly (at least every day) in my 40-device ZigBee network.

A week ago, I pulled out all of the hue devices, bought an aqara smart plug, and re-added all of my aqara devices via the smart plug. Haven’t seen any ZigBee devices go unavailable since then.

Maybe something like that would help?

Out of curious - does this (mesh rerouting) happen automatically over time? If yes, did your mesh take 1 hour or 1 day or 3 day, etc. to stabilize?


I am using sonoff Dongle-P also, along with z2m. Looks like z2m already has this 5db by default?

This company notoriously has been implementing “special” zigbee devices that would only talk to their own zigbee routers / coordinators reliably.

In short, compatibility is not the strong suit for this company, even when they claim that all their “zigbee compatible”. (Cost, on the other hand, is their strong suit.)

You addressed the issue nicely - using an aqara smart plug as the router is the key here.

Very quickly. Minutes if i remember right.