I have learnt avoiding using wifi smart home devices in the hard way. Just want to share my experience here to avoid using a lot wifi smart home devices unless you really know how to scale up the capacity of your wifi network.
And I am also wondering if anyone have any suggestion on solutions to connect 80+ IP devices without using ethernet as backhaul for APs.
I have to also mention that I don’t have background on the wifi network and I mainly learnt stuffs on WiFi network by making attempt to solve issues. So hopefully my attempts are not totally naive.
In my 1st part of period of using wifi smart devices, I mainly uses a few Yeelight wifi bulbs when I started my smart home journey with some Aqara ZigBee sensors. Later on, I started using HA and left the Aqara ecosystem to start buying cheap but good value wifi bulbs/plugs on amazon because I can integrate them into HA. Despite there are a lot of comments in the community forum talking about that wifi is the worst smart home protocol and it will slow down the internet, I was not taking that seriously because I was very happy with my wifi smart home devices connected by mesh routers at that time. One is connected to the modem and acts as a router and an AP. Another one is located upstairs and acts as an AP because I don’t have ethernet cables embedded in the wall for wired-backhaul. My setup at that time is below:
Modem
← Main Netgear Router+AP connected by Ethernet downstairs (wifi name: Home_2G, Home_5G, connecting ~20 devices)
---- Secondary Netgear AP connected by wireless backhaul upstairs (wifi name: Home_2G, Home_5G, connecting ~10 devices)
In my 2nd part of period of using wifi devices, I started to buy more wifi smart home devices until I had around 60+ IP devices. At that point, my wifi mesh router just kept restarting now and then. My smart home devices were not responding sometimes either. After some investigations and research, I realized there was huge latency if I ping the smart devices, and sometimes packet just got lost. This is because a home-use AP on each radio, 2.4Ghz in this case, can only takes about 30 devices comfortably. More than 30 devices, the channel get jammed and it reduce both throughput and latency even lost connection. At that time, I started to realize despite that smart home devices take very little bandwidth throughput, they can still jam your wifi network if you put too many in the same wifi channel. Lessons learnt! I had to use more APs to mitigate this problem. So I went on ebay and get two second-hand old TP-link routers as my dedicated smart home device APs. The DHCP and 5Ghz band are turned off and the wifi name of 2.4Ghz band is configured differently for each AP so that I can make sure no 2.4Ghz AP takes more than 30 devices. After connecting these 2 extra APs, all the issues mentioned before are gone. Yeah! I thought I finally found a cheap scalable solution for wifi smart devices. Just adding another cheap second-hand TP-link AP and I can connect 30+ more 2.4Ghz smart home devices. Apparently, I was too young and too naive. My setup at that time is below:
Modem
← Main Linnksys Router+AP connected by Ethernet downstairs (wifi name: Home_2G, Home_5G with channel 1, 44, connecting ~5 devices)
---- Secondary Linnksys AP connected by wireless backhaul upstairs (wifi name: Home_2G, Home_5G with channel 1, 44, connecting ~5 devices)
← 1st TP-link AP connected by Ethernet downstairs (different wifi name: IoT_1, channel 6, connecting 25+ devices)
← 2nd TP-link AP connected by Ethernet downstairs (different wifi name: IoT_2, channel 11, connecting 25+ devices)
In my 3rd part of period of using wifi devices, I started to buy more wifi smart home devices until I had around 80+ IP devices. I never had any issues with wifi smart home devices once I added 2 extra TP-link APs. But I started to have long buffering time occasionally when I streamed on my favorite Chinese streaming websites. Considering the web server is in China, I initially thought it was the web server problem, but it puzzled me that I did not hit this issue if I use mobile data. I ended up doing a lot of troubleshooting for a few months and eventually I found out the issue would be gone if I reduce the number of IP devices in the network. So this time the problem is not about how many devices each AP can connect but how many devices each router can connect within the same subnet. I have tested my main Linksys router’s limit. It can only take ~60 devices without dropping performance on video streaming tasks. My solution this time is to have 2 levels of routers in the network, i.e. double NAT for the second router. So the level 1 router, Linksys router, only saw ~25 devices including all streaming devices. And the level 2 router, google wifi router, saw about ~50 smart home devices. My HA instance is in level 2 subnet and it can access devices on level 1 subnet but devices on level 1 subnet cannot access devices in level 2 subnet unless worked around by port forwarding. My setup at that time is below:
Modem
← Main Linnksys Router+AP connected by Ethernet downstairs (wifi name: Home_2G, Home_5G, connecting 15+ devices, Gateway IP: 10.1.1.1)
---- Secondary Linnksys AP connected by wireless backhaul upstairs (wifi name: Home_2G, Home_5G, connecting 10+ devices)
← Google wifi router connected by Ethernet downstairs (wifi name: IoT, connecting 25+ devices, Level 1 IP: 10.1.1.20, Level 2 gateway IP: 192.168.1.1)
← Google wifi AP connected by wireless backhaul upstairs (wifi name: IoT, connecting 25+ devices)
This works perfectly in terms of video streaming performance and all other smart home activities. The only drawback is that some usecases cannot be easily solved by port forwarding. E.g. (1) ipad on level 2 subnet cannot airplay to TVs on level 1 subnet (2) if ipad was connecting level 1 subnet, it cannot be used as Homekit hub for level 2 HA instance (3) my sonos phone app on level 1 subnet cannot connect to sonos speakers on level 2 subnet. After some investigation for the last few month, my next experiment would be using an x86 machine running OpenWRT as a router to provide better performance in terms of routing capability. And I will try to put all 80+ devices under the same subnet again. So I am thinking something like solution 2 but using a dedicated router:
Modem
← x86 OpenWRT router+switch connected by Ethernet downstairs
← Main Linnksys AP connected by Ethernet downstairs (wifi name: Home_2G, Home_5G with channel 1, 44, connecting ~15 devices)
---- Secondary Linnksys AP connected by wireless backhaul upstairs (wifi name: Home_2G, Home_5G with channel 1, 44, connecting ~10 devices)
← 1st TP-link AP connected by Ethernet downstairs (different wifi name: IoT_1, channel 6, connecting 25+ devices)
← 2nd TP-link AP connected by Ethernet downstairs (different wifi name: IoT_2, channel 11, connecting 25+ devices)
That’s my journey so far on scaling up my wifi smart home devices network. I also got ~100 zigbee and Bluetooth devices. Zigbee/Bluetooth devices are annoying in the pairing process when migrating from an old hub to a new hub that you have to manually connect all of them. Unlike wifi devices, you just need to update new AP wifi name to the old wifi name. But once you have done the migration, you can expect Zigbee/Bluetooth hubs work stably most of time until you hit the limit of the number of devices supported by the hub. Even some devices become offline or unstable, it won’t affect your main wifi network for your daily work. Nevertheless, the reason why I choose wifi smart devices in the first place is that they are much cheaper, with more choices, with reasonably good quality e.g. I am using Lepro GU10 bulb with 100 degree beam and there is no Zigbee/Bluetooth replacement with that wide angle that I am aware of. Last but not least, despite that the new protocol Matter is on a higher level similar to Homekit, I am still hoping it would make the whole smart home ecosystem better and manufacturers can provide more unified hub to solve the smart home device scalability problem easier.