I wonder how you deal with having more than 1 WiFi AP.
I have a modem/router combination from the ISP downstairs. And an additional Archer C7 router (ddwrt) upstairs acting as a “dumb” AP.
The problem I’m having with my WiFi IoT devices, is that when I reboot one of the routers, the device connects to the other one (with low signal) and stays connected to it. Even when the closer AP with strong signal comes back online.
This leads to my smart plugs and smart bulbs being connected with a very low signal (-80ish RSSI) and keep dropping connection to HA.
So every time I reboot one of the routers, I have to pull the smart plugs out of the power socket and plug them back in, so they connect to the strongest WiFi. Otherwise they keep going “unavailable” in HA multiple times a day. And sometimes multiple times per hour.
An obvious solution would be to use separate SSIDs. Like “WiFi_Downstairs” and “WiFi_Upstairs”. But than my phone has the same problem of staying connected to the weak WiFi when I go upstairs.
As I’m writing this, the possibility comes to mind to create a separate SSID just for the IoT devices. Is this the best way to go? Or is there something else I can do to solve this problem?
I use some ESPHome devices and some Tuya (with localtuya) devices.
EDIT: In hindsight, the separate SSID wouldn’t work, because I can’t do it on the ISP modem/router. Only on the upstairs ddwrt one.
The easiest solution although it will cost you money is to buy a mesh router system. Then, your IoT devices and your phone can move freely from one AP to other. You are experiencing the same issue that people have when they try to add a Wifi Extender. Devices will hang onto a weak Wifi signal even when there is a much stronger one available.
I had success previously with a TP-Link Deco system but graduated to Unifi APs when I wanted to incorporate VLANs for IoT devices. My brother likes his TP-Link Omada system and it can incorporate VLANs
The easiest solution would be to set both the ISP supplied WiFi AP and your own WiFi AP with the same SSID, passphrase and encryption settings on two different channels. That will create one contiguous network and the devices will connect to whichever AP provides the best signal.
I think you are describing the OP’s current setup that isn’t working. I know specifically with my previous Android phone that it will not always drop a weaker signal for a stronger signal when SSID & encryption settings are the same. I learned this the hard way when trying to use a Wifi Extender.
An alternative is to set up multiple SSIDs, if your APs support them.
This would make a specific SSID for IoT available downstairs and another upstairs, without removing the universal SSID for other devices.
I second, third and fourth mesh. This is what the tech was intended to solve. If you don’t already have a WiFi6e system now is a good time. It’ll be a couple years before WiFi7 becomes mainstream.
Mesh is not intended to solve this problem.
Mesh is intended for easily expanding a WiFi network without pulling cables to each AP.
Whether you have multiple AP cabled or a mesh does not really matter much, especially not with devices that do not honour the newer WIFI6 protocols.
I use Draytek Vigor APs. These work in mesh setup, but with wired uplink, so bandwidth is not consumed for interconnect. There are 2 options on these APs that could help to solve your issue:
they support active roaming, so if signal strength drops below certain level they forcibly disconnect device forcing choice of better signal AP.
one that I actually use; they support ACL for devices, based on MAC address. So I can easily ban IoT devices from all APs that I do not want them to connect to, forcing connection to one specific with the best signal.
Benefot of this setup is that still using same SSID/Passphrase I can easily roam with mobile devices between APs to have best possible connection at any moment.
ACL might be a good solution.
Forcible disconnects, where the device gets a complete connection before the disconnect, is often not a good solution for devices with an older WiFi protocol.
The older WiFi protocol will often keep trying to reconnect to the same AP to avoid the pqcketloss that can occur when the device connects to another AP and the ARP tables then becomes faulty.
Upgrading to a mesh/Unify-like setup is outside of my budget for now. I’d rather throw out all Tuya WiFi devices and replace them by Zigbee variants. That would be cheaper. But that would leave me with my DIY ESP devices. It would be so awesome if there was a Zigbee alternative for esp8266 that is just as easy to program.
But about the meshing. I do see a “802.11r / Fast BSS Transission support” option in ddwrt. From what I’ve been reading this is exactly what I would need. And I found online that this is enabled by default on the ISP Router downstairs (there is no option in the config). But as soon as I enable it on the ddwrt Archer C7, the WiFi goes down and never comes back. Perhaps the Archer C7 hardware doesn’t support it?
I will make an additional SSID “WiFi_Upstairs_IoT” for now on the ddwrt router. But that only solves half the problem. The devices upstairs should be fine then. But the devices downstairs will still have 2 SSID’s “WiFi” to choose from, which I need to be the same for my phone.
So in conclusion, without getting an (relatively) expensive Unify-like system, the only solution is to have separate SSID’s for the IoT devices?
Maybe I’ll get another Archer C7 and put the ISP Modem/Router in bridge mode. They sell for 5-10 euro second hand. Then I can have separate SSID’s on both APs.
I will also look into the minimum RSSI and ACL suggestions. Have to go some googling on that.
I’ve solved my problem dropping wifi from isp modem. I’ve bought a bunch of archer c6 and installed openwrt on them.
They all spread the same wifi SSID with the same username and password.
Openwrt (as ddwrt is based) on a linux kernel/system, so i’ve put in a cron job running every minute a script that force the disconnection of the downstairs iot devices from the upstair wifi ap, if their signal drops below a certain treshold.