I am on the process of moving my Network to a new router and a new range.
While doing tests, I disconnected the old router and connected the new one for around 15 minutes, just to see what I have left without migration path.
After that 15 minutes, 2 ESPHome devices that did not had an static lease toggled their IPs, One took the one of another, and the second one got a new one.
I got an static DHCP lease for them, reboot them and updated the configuration in HA.
Since then, HA keeps loosing connection to them and saying that it need reconfiguration or the key is not valid or has changed. I have seen a couple of times that on the API Key screen it shows as device name `device-A-friend-ly-name (device-B-hostname).
The issues described in this post did are not to be found on my system:
When I open the “reconfigure” popup for the ESPHome devices, the IP shown there is not the last one I reconfigure the device with. It reverts to the old one.
For now I have change the DCHP lease and IP on the ESP device yml file to the IP that HA is looking for, but I am really afraid of what will happen when I completely change the IP Range since I have no idea why HA keeps going back to an old IP after I reconfigure the ESPHome devices.
Does anyone knows what can be triggering this or how to debug it?
1 Like
Turn off the DHCP functionality of the old router and leave the new one to to do it so they are not fighting. Make sure your old Static IP addresses are on your new router also. Is your new range on the same subnet? Have you powered off and on each device so they request a fresh IP address? What does your yaml say for each device affected? What does the system logs/DNS pulldown option say?
They are both in different ranges. Right now I have 2 NATs. The old Router is the gateway of all wifi access points (and HA) and the new Router is for the time being connected as a client and creating their own network.
Old Router uses 192.168.1.0/24 the new one 10.30.1.0/24.
So there is no way for the ESP32 devices to get an IP from the new router since it is available as gateway on the WiFi network.
The problem happens just between 192.168.1.0/24 addresses.
yes!
There were all so:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
But I tried assigning an static IP and the problem happened again after a while
Mostly nothing special, I DID saw something weird on one of the devices when reflash it thru ota. I did not copy it at the time but I am pretty sure was so;
esphome --dashboard --mdns-address-cache esp-technikraum.local=192.168.69.46,192.168.69.51 run esphome/config/technikraum.yaml --device OTA
Note that it had 2 IPS.
With all this said, I just found another ESP32 device that did not had an static lease and had ALSO had an IP of another old node. I hope that was the reason why this was so unstable.
Those were my first devices so I am assuming I just did not care at that time.
I will keep monitoring, I really hope I do not get all the ESPHome devices broken when I migrate the HA instance to the new network so that I have to recreate all entities 
Aha, different subnets. I suppose this is a deliberate way to separate your IOT from everything else, so the two never talk to each other?
Yes and No. The router I use currently (FritzBox) does not support VLANs, I am migrating to an Unifi Network so I can have a “IoT” for my ESP devices and for all the things that need internet access and I really hate to have on my main network.
Not VLANs, subnets. If you are still running the same traffic over the same physical layer, you are still going to have the same congestion.
Both I would say. I am segmenting them something like this:
Management: 10.30.1.0/24
Servers: 10.30.2.0/24
Trusted: 10.30.3.0/24
IoT: 10.30.4.0/24
Each is a VLAN/Network on the Unifi Network that can be assigned to a Port or a WLAN
BUT, I am not an expert on this by no means 
You sound organized, which is 90% of the way to solving thorny network issues. Best of luck with it.
Well no, today again the ESPHome device got unavailable, but HA did not showed any warning. The address was correct when I openned the Reconfigure Popup.
The only log I have seen was this:
Logger: aioesphomeapi.connection
Source: components/esphome/config_flow.py:785
First occurred: January 13, 2026 at 16:46:07 (20 occurrences)
Last logged: 13:36:09
192.168.69.51: Connection error occurred: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.69.51', port=6053))]: [Errno 113] Connect call failed ('192.168.69.51', 6053)
But that IP is not assigned to anything right now on ESPHome. I have no idea from where is the integration getting those ips.