Zigbee network optimization: a how-to guide for avoiding radio frequency interference + adding Zigbee Router devices (repeaters/extenders) to get a stable Zigbee network mesh with best possible range and coverage by fully utilizing Zigbee mesh networking

I understand that people have tested and report less interference via USB 2.0 ports on a USB 2.0 hub. Since the radio adapter dongles are only USB 2.0 capable it will never connect with USB 3.0 speed regardless.

You can and it will improve transmission but can also make reception worse since it can also recieve more interference, though interference is primarly close sources. Personally I recommend just buying more known good Zigbee Router devices instead since that will do a better job at improving you network mesh which is most important.

Thank you for the fast feedback.

So you think I could leave it like that for now? So in my case, is the dongle far enough away from the USB 3 port to minimize interference?

You can and it will improve transmission but can also make reception worse since it can also recieve more interference, though interference is primarly close sources. Personally I recommend just buying more known good Zigbee Router devices instead since that will do a better job at improving you network mesh which is most important.

OK. So more and bigger (antenna) is not automatically better. Hmm? Maybe the routers mentioned. In the same coordinator’s room, it’s actually just an IKEA driver. In the next room and in the hallway next to the coordinator’s room (maybe 4-5 meters away) there are two HUE bulbs each and then in other rooms there are HUE bulbs and HUE ceiling lights. I thought I was already well stocked with routers. Maybe I should additionally install a router or range extender in the coordinator room?

The LQI of the IKEA driver in the same room about 2 meters away from the coordinator is just about 130. With the two HUE bulbs mentioned nearby it is only 60-80. And so on in the next rooms less and less.

As long as you already taken basic actions to avoid interference then adding enough ”known good” Zigbee Router devices is the key to success.

Also make sure that you never power off a Zigbee Router devices, which is why it is not recommend to Zigbee lightbulbs in lights if you have not removed the dumb switch.

Read this → Not many people know that... A random collection of Zigbee trivia

And this too → Zigbee buyer's guide

1 Like

Thank you very much for your feedback and the useful links. Now I still have a lot to read.

Thank you for this amazing write up! I’m new to home assistant and I’m currently awaiting my zigbee dongle to be delivered so anxiously I jump everytime I hear my phone chime or doorbell ring hoping for an update on it arrival! I will definitely be referring back to this :heart: AMAZING!!

I think this point is missing from your great post (or I missed it):

An underestimated source of errors are routers/repeaters that are connected to a physical switch. Typically this happens when someone (like me) replaces their non-smart bulbs with zigbee bulbs. When the light switch is on, everything works, the zigbee bulb can be controlled via the home assistant. When the light is turned off at the physical switch, the light goes out. But in the background the Zigbee network loses one (or even several) routers/repeaters.

The only option is to always power the zigbee bulbs (which act as routers/repeaters) and to replace the physical switches with zigbee switches.

Is it possible to configure the Zigbee network so that it does not use Zigbee bulbs as routers/repeaters? As far as I know, no.

From here the content no longer fits the topic, so I have created a new topic here.

Off topic stuff...

My goal is that I can turn the light on and off with a switch (zigbee or physical). When it’s on, it dims depending on activity and sun.

Now my special request:
I would like to be able to turn the lights on and off even when my home assistant rapberry pi is unplugged or not available.

I currently have this setup with wifi bulbs and physical switches. When the WiFi bulbs are turned on with the physical switch, they immediately light up as when they were turned off (or a preconfigured value).
As soon as the WiFi bulb is registered in the WiFi network, this triggers an automation that tells the WiFi bulb how it should light up. I think this is not possible with zigbee bulbs? At least not without disrupting the network by adding and removing routers/repeaters…

All hints and advice are welcome!

Nope.

WiFi is definitely the winner here. However, there are Zigbee devices that still operate with a relay and no connection to a mesh. Aqara rockers and the T1 I think both operate this way. I know the rockers do (unless configured to be decoupled), but I’m not sure about the T1. Personally, for my setup, all my switches are either Aqara single/double gang rockers or Shelly Plus 1s. I use the Aqara rockers where I don’t have a neutral wire (old house and only some of my switch boxes have neutrals) and the Shelly’s pretty much everywhere else. I do have a couple of Leviton voice dimmers as well (which are also WiFi), but I’ve never tested their disconnected behavior.

Some Zigbee bulbs will retain their last state (router config, last power status, etc). Hue, Ikea, Innr and Innovelli all do for sure. But, the damage has already been done to the mesh and that just takes time to heal (as you stated). Personally, I never recommend people buy Zigbee bulbs for use in places where there is a physical switch connected unless they have upgraded that switch already (smart switch, hard wiring, etc).

1 Like

Ignoring the fact that no matter the tech smart bulbs are designed to be always powered on unless otherwise specified on the box…

You CAN Use Zigbee bulbs that are KNOWN not to route. (see next) Or use lighting controls that support ‘smart bulb mode’ (do not disconnect the load end of the control)

Sengled made an engineering decision to NOT route any of thier zigbee bulbs for THE EXACT reason stated. Basically - they got tired of answering that question on thier support desk. Sengled, by doing this is basically saying - Smart bulbs should ALWAYS be powered and don’t use them as the main routers in your mesh.

That said it’s the exact reason I ONLY use Sengleds when a Zigbee smart bulb is required… I treat it like a battery device and make sure the mesh is strong without it. Good on them for that decision.

1 Like

Indeed. That is also a common user error as most users do not know that you should not power off and on Zigbee Router devices. Zigbee Router devices should really always be always-on, i.e. always have power.

The best options is either to buy Zigbee lightbulbs that are not Zigbee Router devices, (such as the Zigbee lightbulbs from Sengled), or use dumb lightbulbs in combination with a smart switch instead.

In my option the real problem is that manufacturer should not make Zigbee lightbulbs that are Zigbee Router devices, as that way it is not possible for the user to make this mistake. Sengled is for example aware of this and do therefor not sell Zigbee lightbulbs that are Zigbee Router devices → -> Is Sengled's decision to not implement zigbee routing asinine?

No, it is not possible to disable routing.

FYI, there is something called “source routing” that does alleviate quirker re-routing a little bit but it usually causes other issues such as long latency/delays and is therefor disabled by default.

I recommend use dumb lightbulbs with smart dimmer switches instead. The smart dimmer switch control the dumb lightbulb and works even when the Zigbee Coordinator is not available.

That can be possible via Zigbee binding, by binding a Zigbee light that support Zigbee binding to a Zigbee remote. Zigbee binding works even when the Zigbee Coordinator is not available:

3 Likes

This discussion was moved here!

This! This is exactly what I’m looking for! Thank you so much!

I plan the following steps:

  • Zigbee switches/dimmers and zigbee bulbs that support multi-destination binding. This way I can bind them to each other and to ZHA at the same time.
  • All Zigbee bulbs are wired directly - always powered
  • When a light is on, it is controlled by HA depending on activity/sun.
  • When a light is off, the startup behavior of the bulb is controlled depending on activity/sun. When I turn on the light, it immediately lights up to match the activity/sun. There is no longer any need to wait for the bulb to come online to adjust to the activity/sun (like in my current wifi bulb setup).

Expected limitations:
I expect that once it is bound to a light I will only be able to use the zigbee switch to turn the light on and off. Changing the scene by pressing several times in a short time or something similar is probably no longer possible because the switch switches the light on and off directly.
I will definitely test how it feels when HA turns the light back on in another scene after a quick on-off (or off-on) at the switch (and the bulb). On the other hand, there may also be manufacturers who recognize a double click or long click in the switch itself.

Lots of new ideas come to mind…

Unfortunately, I have to put this exciting project and the interesting research on hold for the time being because I have to finish another project that actually pays me by the summer… But I now have one more reason to look forward to my summer vacation; ).

Ultimately, I should have read the documentation more carefully from the beginning… In any case, thanks again for the tip about the binding!

Thank you very much for your answer. I will first try to achieve my desired setup using binding (see Hedda’s answer). If I missed something, I might use the Sengled bulbs mentioned.

I assume this is a binding between the switch and the bulb. If I understand binding correctly, a direct connection to the HA coordinator and the bulb can exist at the same time if multiple binding destinations are supported:

From ZHA integration docu:

Also, by default ZHA binds remotes to the coordinator, so the coordinator can receive ZCL commands from the remotes and originate zha_events. However, some remotes, for example, the Philips RWL021 can only be bound to a single destination and it is not possible to make this switch to bind to other destinations like a device or groups unless you first unbind the remote from the coordinator.

1 Like

You can do it through bindings and/or you can use a loaded relay that will physically toggle the power on/off to the lights. For instance, I have 3 Wiz WiFi lights and a ceiling fan attached to an Aqara single gang double rocker ← love this switch.

The rocker’s top switch is left by default in relay control mode. The bottom switch is set to be decoupled (acts as a zigbee button). The top relay will work to turn on and off the fan and lights, even with no connection. The bottom switch is bound to a zigbee light strip and will also work without a connection.

1 Like

Please start a new separate thread about that as binding and type of switches as those do do have anything directly to do with the original topic as thus this discussion is getting way too off-topic. So not to highjack this thread.

I will however leave you with the tips that you can create a Zigbee group in ZHA or Zigbee2MQTT and then create a binding for that Zigbee group, (but note that all devices in that Zigbee group must support binding, which most light devices do but not all Zigbee devices do).

Update: New thread here → Use binding as a stopgap/backup solution if HA is not available

1 Like

Oh, I now understand how the zigbee relay switch works. Thank you for the clarification!

The topic is being discussed here.

1 Like

New Zigbee Router tip; ITead has released a “SONOFF Micro Zigbee USB Smart Adaptor” (ZBMicro based on EFR32MG21) spec say doubles as a Zigbee Router device when powered via USB-charger:

Besides, ZBMicro can work as a Zigbee router to help transmit the Zigbee signal to ensure a stable connection when multiple Zigbee devices are used for your home. Elevate your network capabilities with Turbo Mode, featuring advanced technology that boosts signal range and strength but also provides a seamless and stable connection for your devices.

https://sonoff.tech/product/diy-smart-switches/zbmicro/

Note! I have not tested it so have no idea if it works well if used as a dedicated Zigbee Router device.

1 Like

I need this! H0w did I survived without turbo mode till now?

We hope you didn’t got anything in exchange for copying the marketing material from sonoff here :joy:

Nope, I did not, I have not accepted anything, I also post marketing materials from all manufacturers to stay unbiased :stuck_out_tongue_winking_eye:

2 Likes

Fwiw after nearly two years of zigbee mesh network issues here are my experiences. I hope this helps others avoid the immense frustration I’ve felt wasting time managing this god awful network instead of, you know, building helpful automations and making my life easier :smiling_face_with_tear:.

Aqara
Aqara battery devices repeatedly fall off the network. In particular, those devices that use a single 3v battery (contact or temp sensor) fared worse than those that use two batteries / are Zigbee 3.0 devices (TVOC / TRV E1 / motion P1 sensor). One exception, with my recent switch to Z2M the motion P1 has become a disaster, falling off the network all the time.

IKEA
After a year of using the IKEA signal repeater with no issues they have started to drop off my network and show as unavailable every week or so. This has also occurred with my IKEA LED drivers so it could be IKEA devices aren’t built to last although I’ve has zero issues with my IKEA tradfri bulbs (although the GU10 bulbs do get extremely hot, though that’s a separate concern).

IKEA battery devices repeatedly falling off the network, although not as frequently as the Aqara devices.

Sonoff
Sonoff battery devices were rock solid on ZHA, in particular the SNZB-02 temp sensor and SNZB-03 motion sensor, but with my recent switch to Z2M I’ve started to experience issues with the SNZB-01 button falling off the network.

TuYa
TuYa ZG-204ZL motion sensor and TuYa contact sensor have been rock solid

Not device specific issues

  • Physical zigbee button presses OR clicking on entities in the Home Assistant app failing to result in a device executing an expected action e.g. opening blinds. In ZHA this was often accompanied by the log Failed to deliver message: <EmberStatus .DELIVERY_FAILED: 102>
  • Light groups in Home Assistant responding inconsistently to commands after switching to Z2M, e.g. only 2 of 3 bulbs turn on or off

Steps taken
The issues I’ve described with zigbee have remained consistent across the following steps taken to address my network:

  1. Move from ZHA to Z2M
  2. Moving my zigbee channel from 15 to 25 and moving my 2.4 ghz wifi to channel 1 (none of my neighbours seem to use wifi channel 11)
  3. Changing my coordinator device from the Home Assistant Yellow to the Smlight SLZB-06 and moving it to a room away from my router (the router and Yellow are both in my understairs cupboard)
  4. Getting rid of all my 2.4 ghz wifi Ring cameras, having a separate SSID for 5 ghz wifi and connecting laptops, mobile phones, tablets and media devices to 5 ghz wifi
  5. Gradually building up the number of router devices to over 50 in a 140 m2 two story house plus garden, as well as using four dedicated repeater devices (2x IKEA repeaters, 1x Tuya TS0207, 1x Sonoff Dongle Plus P)
  6. Using a multimeter to test battery voltage and replacing all batteries that dipped below 2.9V in my 3V battery powered end devices
  7. Removing all ZHA groups and using Home Assistant groups instead so as to minimise zigbee broadcast signals

I’m now in the process of either (a) adding more Sonoff Dongle P repeaters and moving over to TuYa battery devices or (b) giving up entirely on my zigbee mesh…tbh I keep switching back and forth daily…it’s been two years of one zigbee issue after another and I’m beyond frustrated.

Fwiw, in contrast I’ve had zero issues with my zwave and bluetooth devices although to be fair I have very few of those devices.

(Just to clarify if anyone is wondering, my zigbee light bulbs are hardwired and all router devices are permanently on.)

FYI, using ZHA or Zigbee2MQTT does not affect if a device will drop of the network more or not if usibg the exact same Zigbee Coordinator chip model and firmware version as the Zigbee network is managed by the Zigbee stack running on it.

What will affect connection other that the device that that have problems is amount, type and location/placement of Zigbee Router devices as well as EMI/RMI/EMF interference (which also includes Zigbee channel uses).

If you use the exact same Zigbee Coordinator and Zigbee devices in the exact same location then the mesh network topology and stability of the connections would be exctly the same in ZHA or Z2M.

So that should not be reason for moving from the ZHA integration to Zigbee2MQTT or vice versa. See:

Zigbee

1 Like