thank you for your detailed and informational answer… i was a smartthings guy and had about 25 zigbee devices… life was good, but i wanted more… so i’ve hit a wall at 32 devices in my HASS setup… i’ve been reading… watching videos… and there was much i didn’t know! at this point, i’m expecting 4 smart plugs/repeaters from Amazon today and have basically deleted all but a few of my zigbee devices and am going to start from scratch once the repeaters are paired… I’m anxious to get some hands on with it using the additional capabilities…!!
I did order a pack of two Sonoff ZBDongle-P but in the mean time I moved the RPi from the opposite side of the house to the kitchen where most of my devices are.
That did not make any difference, so I decided to go ahead and change the channel from 11 to 25. I tried that before but I was trying to save time by not re-pairing all the devices - it looked like the devices were connected again but the lag was still there so I changed it back to 11.
Next day I decided to do I properly, I changed the channel again to 25 in Zigbee2MQTT, I had to delete the coordinator_backup.jason file and then re-pair all devices but now it’s working perfectly again!
I also put the USB coordinator on an extension cable but I’m 99% sure the channel 25 was the solution - it should be the default one!
In that case I don’t these the Sonoff repeaters and I’m sending them back, that saves me £40.
Yep, that was it, thanks so much! I didn’t want to do this because of re-pairing all devices but looks like that was the best thing to do.
Yes, I always prefer a wired connection over Wi-Fi
Yup, that was it, thank you!
I did some research and I was going to invest in Ubiquiti as well but I found people complaining about the lack of parental controls: https://community.ui.com/questions/Feature-Request-Parental-Controls-for-the-UDM/9e9dce1e-9e85-4181-aa65-1b630c62668e?page=1
With Google Wi-Fi I can just pause the internet access on a specific device or group in a few taps via the iOS app - it works well
Tip is to research each new device before you buy as some are known so the community can say if it is bad Zigbee Router devices that do more harm than good if they do not pass along all messages. See:
https://zigbee.blakadder.com/search.html
https://www.zigbee2mqtt.io/supported-devices/
The is as very good reason it is not the default. Zigbee channels 11, 24, 25, or 26 are commonly only supported by relatively modern Zigbee hardware devices with newer Zigbee firmware, so be aware that if using any of those channels then your coordinator may not be usable with some older Zigbee devices. Almost all solutions use Zigbee channel 15 as the default because it offers the best compatibility with old Zigbee devices as well it offers less chance of interfering with the most commonly used Wi-Fi channels compared to the other Zigbee channels that offer the same compatibility with old Zigbee devices, (that is why if possible it is generally much better to change the Wi-Fi channel on your WiFi access-points then to change Zigbee channels).
Again, adding more Zigbee Router devices is still recommended. Zigbee network will become more robust as add more and more Zigbee Router (ZR) devices, but those don’t all have to be dedicated.
That is why many people instead choose to only buy a couple Ubiquiti’s WiFi access points (which price is surprisingly reasonable) and just use them in stand-alone mode using a separation of concerns design principle approach in which modem, router/firewall, and WiFi access-points are separate devices (instead of an all-in-one that will be Jack of all trades, master of none), so then you likely want to use them in combination with some other flexible router/firewall solution like for example something like the Firewalla product series if want an easy to use router/firewall with parental control features, (someone else might alternatively prefer pfSense and OPNsense if they wanted a DIY router/firewall that is extremely advanced). Combining a few Unifi Access Point WiFi 6 Lite with a Firewalla Purple or Firewalla Gold (together with maybe an UniFi Lite 8 PoE switch for wired devices and Power-over-Ethernet to the WiFi access-points) is a very powerful yet relatively user-friendly solution if want the best of both worlds on a budget. Check out this review with a similar setup:
https://go.indiegogo.com/blog/2022/04/firewalla-purple-honest-review.html
Tip is that you get the Firewalla Gold series then it can run Unifi Controller as Docker container image:
Anyway, it is sadly true that while Ubiquiti’s UniFi gateway/firewall router feature set does have Network Traffic Management and Traffic Rules for blocking sites/services, it does unfortunately not yet have any real Parental Control features for easily blocking access based on the time and day, etc., (though there are workarounds, and being a parent myself and had an Unifi Dream Machine for many years now I first selected to simply set up a dedicated SSID for the kids and automating times to turn off and on that whole SSID by temporary disabling/enabling it with the UniFi Network integration for Home Assistant, however, that workaround will not work if have large age differences between your kids as UniFi APs are currently limited to only four SSIDs, but once a kid gets their own cell/mobile-phone they quickly figure out how they can use it to get around blocks so then the only solution I found was to take their device when we do not want them to use it).
I believe the reason why Ubiquiti’s UniFi gateway/firewall router functionality is missing Parental Controls is that their product lines have never really been meant for home users and instead their target audience has in the past always primarily been commercial installations, at least until Ubiquiti more recently released their non-Pro “UniFi Deam Machine (UDM)” all-in-one WiFi-router so hopefully the feature set for the Dream Machine series might change in the future because of that product.
Well that want way too much off-topic, so I will stop discussing alternative WiFi solutions in this thread.
I would have loved to see/read this summary before I waisted money on ZigBee/matter devices! Wasted so much (specially time) to learn this the hard way!
I don’t know if it is because ZigBee only uses polling but esphome wifi devices with local push just perform on a completely different level! I will stick with them!
FYI, Zigbee devices does not only use pulling, it uses both local push and local pull as I understand it. ZHA uses push when you change state and pull when you check something like power monitoring, so I know it is confusing that the ZHA integration say that it uses pulling but by that they only mean that the the integration uses pulling however it also uses pushing too depending on the command. I asked if ZHA developers cpuld clearify this in the documentation, see → Is the ZHA integration only "Local Polling" or also "Local Push" depending on the device? · Issue #26125 · home-assistant/home-assistant.io · GitHub
Zigbee performance is exellent and respose time is instant if you do not have serious interference. But if you have serious interference then messages will need to be resent which causes delayes and latecy, as such if you see delays then that is usually a symtom of interference.
Then you just to have to deal with the fact that you need enough Zigbee Router devices for proper coverage and range extension which will depend on building materials, floorplans and location of the devices. Proper setup and good Zigbee devices give you instant responce with no latency or delays. So that can be a problem when starting out with only a few devices in a large home, especially if the user did not know about this and only bought battery operated devices (which will always be end devices) and no mains powered devices (which in most cases will be router device).
Also not be unfortunate to have a buggy rouge Zigbee Router devices that pass along all messages but that is a different issue for a seperate thread. If you have a device with such buggy firmware that is a Zigbee Router devices but do not pass along all messages then you can see intermittent issues which can be very hard to troubleshoot if you also have interference too. Howveer if you already do your best to avout interference and have at lest a few ”known good” Zigbee Router devices then it will be easier to get help with troubleshooting as you can share diagnosics logs that are not also filled with other symtoms from interference as well.
I started my HomeAssistant setup with a Raspberry Pi 3B along with a Sonoff ZBDongle-E. That eventually bogged down with not enough memory. The Zigbee network had around 60 devices attached.
I replaced it with a PoE HomeAssistant Yellow, which has a built in Zigbee Antenna. The network has now grown to 123 devices. The network still has occasional issues, I wonder if the built in ZigBee antenna is part of the problem. Are there any guides for replacing the internal antenna with a Sonoff ZBDongle-E ?
Hello, me again.
You’re right in thinking that the signal strength of a built-in antenna is likely to be weaker than that of an external dongle, however in a Zigbee network the strength of the coordinator’s signal is not really relevant as it only ever connects with a small number of devices.
All zigbee signals are weak by design. The significant factor is the number and distribution of the routers. Messages don’t just need “a path” from a to b, they need many, many paths and the route they take may be different every time - they’re bounced around depending on factors like traffic, changing interference etc. etc.
In your other posts you didn’t mention that you have 123 devices! More routers!
Hi,
I’d agree that as ZHA controls a mesh network, the range of an individual device is totally irrelevant. What is important is that there are enough mains-powered routing devices to give more than one path between nodes - a mesh.
You’d think 123 devices would be enough, but my suggestion is to move more mains powered routers close to your Yellow. Cheap IKEA TRÅDFRI mains switch sockets work well.
The Yellow has one of the best Silicon Labs chipsets, but with a small PCB antenna rather than the larger monopole on the likes of a Sonoff USB.
I’ve posted before that he Yellow PCB does have unpopulated J9 IPEX / U.Fl connector bottom left , but I doubt there’s a simple way to switch the coordinator antenna inputs even if your SMD soldering is up to the task.
If this helps, this post!
FYI, the Sonoff ZBDongle-E and the SkyConnect are both based on the exaxt same EFR32MG21 SoC chip, and either will handle around 200 Zigbee 3.0 devices (or many more older Zigbee devices) as long as you just add enough Zigbee Router devices. So lack of memory should not be a problem for you if you add many more Zigbee Router devices. Read and follow the original post above.
This is also summerized in the ZHA docs here → https://www.home-assistant.io/integrations/zha/#using-router-devices-to-add-more-devices
I’m a bit confused by the numbers you quote. As I understand, the physical limit if a single zigbee network v3.x or older is 64,000 nodes. Why would you think that you could have more devices with firmware older than 3.x attached to the coordinator you cite as compared to 200 zigbee 3.x devices attached?
‘200 Zigbee 3.0 devices (or many more older Zigbee devices)’
Below is a video of a group claiming to show over 10 years ago, to have 1,000 devices connected to a single coordinator. I have no deeper knowledge of this example or it’s layout.
It it because of the much larger security overhead of Zigbee 3.0 compared to older Zigbee protocols such as Zigbee Home Automation 1.2 and Zigbee Light Link 1.0 which does not have overhead when adding more devices. So you have to understand the different RAM footprint overhead between Zigbee 3.0 devices and older devices.
The main bottleneck is the RAM memory on the SoC and Zigbee 3.0 devices connected to a native Zigbee 3.0 Zigbee Coordinator will use higher security level (encryption, etc.) which takes up a larger footprint in RAM per device.
So the fact is that if you only connect newer Zigbee 3.0 devices then the Sonoff ZBDongle-E and SkyConnect baded on EFR32MG21 will run out RAM after connecting abond 200 Zigbee 3.0 devices, but if you instead use older Zigbee devices (i.e. Zigbee Home Automation 1.2 and Zigbee Light Link 1.0 devices) then you can connect several thousands of such devices as they do not use much RAM, and obvoisly a mix of newer and older devices will result in a number in between.
Future SoCs such as the EFR32MG24 feature more RAM and faster CPU so they will be able to handle more Zigbee 3.0 devices than EFR32MG21 that have less RAM.
Alternativly if you are willing to sacrifice security then you can get around this by connect your Zigbee 3.0 devices to a older Zigbee Home Automation 1.2 Coordinator (like example ConBee 2) as then all devices will connect in backwards compatible mode and not use the Zigbee 3.0 security.
So yes, you can connect thousands of Zigbee devices, but not if they are native Zigbee 3.0 devices connected to a native Zigbee 3.0 Coordinator like EFR32MG21 based adapters are.
That is a theoetical limitation if you had unlimited RAM and CPU resources on the Zigbee Coordinator SoC, while in practice with newer Zigbee 3.0 security overhead you will run out of RAM and CPU (especially RAM) on even the latest Zigbee Coordinator SoC.
To futher clearify, you will run out of RAM on the SoC long before you reach that limit and after that you run out of CPU on the SoC. Thus the RAM and CPU on the SoC is the bottleneck if want to connect more Zigbee 3.0 devices, which is why we can look forward to newer Zigbee Coordinator adapters based on example the new EFR32MG24.
Yeah, those are not Zigbee 3.0 devices connected to a Zigbee 3.0 Coordinator. Zigbee 3.0 devices only started to become available on the marked in 2016 by early adopter manufactuers and most other companies did not start to release Zigbee 3.0 devices until around 2019. So chance is that if you have a Zigbee device that was released more than 5-years ago then it is not a Zigbee 3.0 devices.
Alao note that the popular ConBee 2 and RaspBee 2 are not Zigbee 3.0 Coordinators so all devices will connect to them in backwards compatible mode and that is why you can connect more Zigbee 3.0 devices to them than you would expect to a older Zigbee Coordinator, but again you sacrifice security when you do so. (It is like connecting an newer WiFi device to an old WiFi router / access point where they can only connect to the newest protocol version that share).
Hi. First of all, thank you for your work!
Unfortunately my NUC only has USB 3 ports. Therefore, I bought a multi-shielded USB 2 extension cable with a length of 3 meters and removed my Sonoff Dongle-P from the range of the NUC.
Is this USB 2 cable enough, or is it better to use an additional USB 2 hub in between to exclude possible interference from USB 3? I previously thought the cable automatically reduced the signal and therefore possible interference?
The second question concerns the antenna of the Sonoff dongle. I have read that it can be helpful to connect another alternative bigger external 2.4Ghz antenna to this to improve network range and stability. Are there any suggestions for such an alternative antenna? There are so many antennas on the www that I lost track.
Thanks in advance.
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
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 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).
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.