Very unstable setup with many routers

Hi all,

I’m new to this and I have read many posts and guides about how to set up a stable mesh network, but most of them are about having enough routers for your end devices which is the opposite of my problem since i have only routers…
I have the Homey Pro 2023 and I’m trying to setup this for only two floors in my house. All sockets and all light switches/dimmers are smart and will of course act as routers. I have only two single end devices. If I add more than ~20 routers the system is super slow and unstable. When trying to turn off a simple lamp it takes between 0,5->30 seconds, and often I even get “timed out after 30000ms” in the app. Right now I have 26 routers and 1 end device, and I’m not able to add any more routers. Trying to pair a new socket just ends in timeout, nothing happens.

In total I have 48 routers I’d like to include in the setup:

  • 1st floor: 23 sockets (Futurehome), 1 thermostat (Elko Smart), 9 light dimmers (Elko Smart)
  • 2nd floor: 13 sockets, 1 thermostat, 2 light dimmers

I also have some Plejd devices and HeatIt controls connected, and they are working 100%.

My Homey is connected through ethernet, is placed in the “center” of the first floor and I have totally disabled the 2,4GHz on my Wifi to avoid any interference during testing. I have also tested PTP (1 hour +) a couple of times.

Right now my setup looks like this:

| --- | --- |
|cpus| 	[{"model":"Cortex-A72","speed":1500,"times":{"user":210130,"nice":4610,"sys":122560,"idle":720860,"irq":0}},{"model":"Cortex-A72","speed":1500,"times":{"user":221840,"nice":3520,"sys":121830,"idle":728380,"irq":0}},{"model":"Cortex-A72","speed":1500,"times":{"user":192170,"nice":4800,"sys":112760,"idle":767670,"irq":0}},{"model":"Cortex-A72","speed":1500,"times":{"user":236550,"nice":3990,"sys":130340,"idle":703550,"irq":0}}]

Any tips for what I can do? I don’t see why a network reset should help either, since the Homey will rebuild the mesh network after a PTP anyways (if I have understood this correctly)…?

Thanks for any help!

Build up your network slowly. Power off all modules, then switch on one on the ground floor, one on the 1 floor and one one the 2 floor. Then add all others on the 2 floor, hopefully they connect to the first router on the second floor. Do so for the 1 floor and ground floor.
This way you will not have to many routers directly attached to homey.

Thank you for your quick reply!

But doesn’t the Homey do this automatically when doing a PTP? I can see the order of the items in the Zigbee device list is changing at least.

And by slowly, do you mean that i should give the network some time to “stabilize” after adding the first 3 routers - meaning a couple of minutes or something?

After a PTP Homey will build up the ZigBee network, but it might happen (too) many routers connect directly to Homey. The order in the ZigBeeoverview in the developers tool does not indicate in any way which routers are directly communicating with Homey, and which routers communicate via other routers.

As your routers are already paired, there is no need to pair again after they are powered off. So slowly means switching on one by one, wait till it is shown in the ZigBee network overview before switching on the next.

I suppose a PTP does not delete all your Zigbee devices. Just makes a really fresh start of Homey, as memory is cleared as power is off long enough. All bits just fell down :grin:

Ok thanks. And we’re only talking about zigbee here by the way, noticed that you mentioned Z-wave…

But I think I need to reset and repair tho’. All my devices are sockets and dimmers connected to the power, so there is no way to turn them off other than turning off the fuse.

Anyways, thanks, I’ll try this a bit later today.

Yes, I will correct that. But it the same for both. This way you force how the mesh network will be.

If you turn power off and on again, all routers try to connect to Honey all together at the same time. Then you will have a mess network, not a nice mesh network :wink:
Of course the ZigBee routing protocol should be robust enough to make a nice mesh, but you can give it a little help.

Hehe ok, don’t want a mess network.
But that raises another question, what if there is a power outage in my whole house. When the power comes back on, why won’t the same happen then - everyone tries to connect directly to the Homey?

Yes the same will happen. Of course the ZigBee routing protocol should be robust enough to make a nice mesh, but you can give it a little help.
It would be nice to see some test results, too see how robust the ZigBee protocol and thus the network is. Seeing all the network problems, it could be more robust I think.
By the way, in any routing protocol, it requires some time to detect a bad route, and some time to find a new route and to build up the new mesh network again.
As radio communication in a house is due to changes, it might be the mesh network is changing all the time. It might be interesting to monitor the mesh. I don’t have the tools yet.

Right… Does this mean that I actually should NOT place the Homey in the center of the house, but rather in the corner of the first floor or even the basement? This way many of the routers won’t have good eonugh signal to even try to connect directly to the Homey?

That is a remarkable conclusion, but I agree.
See also

I’ll try that now.

Since you answer so quick every time I’ll try one last question: in the developer tools and Zigbee overview, should all devices ideally have only a couple of seconds (or at least less than a minute) on the “last seen” column? Many of my routers have 30mins - 2 hours. My question is really, can the “last seen” column indicate if I have a stable network or not?

To be honest, the issue discussed here doesn’t sound like a bad mesh issue but as a misbehaving device issue.

It cannot be. Let’s reverse engineer the ZigBee routing protocol. If A is connected to B, and that route disappears for any reasons, you would like to see that in seconds, not hours, by sending “hello I am router X and alive” messages every 1 minute or even less, depending upon the available transmission capacity”. Then based upon a time out of 2 minutes, route A to be B is set to unavailable when such a message is not received within this time out. And rerouting will happen, that is the mesh is being rebuild.
I think the time shown in “last seen” is bases upon user control messages, like “switch on” commands”, not on routing messages.
By using ping commands, this “last seen” time wil be reset to zero in case of success.

The topic started this topic with a question about his Homey ZigBee network.
So what you think is the problem? I cannot interpret the response of the system load command .

Turning off 2.4GHz wifi while testing zigbee is a good idea, but all should work fine when you tune the channels for wifi and zigbee.

And don’t forget, when you have nearby neighbors, also check their wifi signals and channels to make sure they don’t interfere (much)

For your information: my 3-node Z-wave network just broke. 1 HP23, 1 Homey bridge, one Fibaro Smart plant. After a few weeks the Fibary is unreachable.
After PTP for Homey and the bridge, the Fibary is reachable again. Without re-pairing.
It is all just too unstable. I will wait for HP24 before going full blown home automation. :grin:
For the first time the Homey bridge is now in the ZigBee overview. So I gained something. Although with a ? In the column “last seen”.

Unfortunately it did not help.

What I did:

  • Reset zigbee network
  • Moved the Homey Pro down to the basement (I have two smart sockets and one dimmer there as well, so no issue with signals up to first floor). This way many of the routers have to go through other routers.
  • Enabled 2.4GHz WiFi again (channel 3, Homey is now on 20 which should work fine).
  • Started re-adding all devices. Started with two on the first floor, then continued with all on the second floor.

Everything worked very well and superfast up to around 25 routers (no end devices), after that it started being slower. I noticed that the Homeys CPU started having high values, so I waited for 5-10 minutes a couple of times (which worked). This way I was able to continue add new routers and I have now 38. Now it’s really sluggish. Back to timeouts in the app, and if I turn on a light bulb it takes 10-30 seconds before something happends.

After adding the 38th I let it work for around 30 minutes with super high CPU load, then did a PTP.
Now 20 minutes after the PTP I have only tried to turn on one light and this is the load:
loadavg [1.07,1.1,1.08]

@robertklep do you think my Homey device is faulty?

I don’t think it is, I think there’s either an app that might be causing issues (you can look at all your app’s CPU usage in Insights if you enable the “Power User” experiment) or one of your Zigbee devices is causing the problem (which you can try and debug by turning off your devices in turn, wait some time, then see if the problem goes away).

Too many directly connected devices will cause problems with adding more devices, but I don’t see how it would cause a high system load or massive slowdowns. That’s why I think there’s something else going on.

1 Like