Trouble updating ESPHome device

I have a few identical ESP devices where one of them has issues updating via wireless.

It fails with something like this:

ERROR Error resolving IP address of ble-proxy-02.local. Is it connected to WiFi?
ERROR (If this error persists, please set a static IP address: https://esphome.io/components/wifi.html#manual-ips)
ERROR Error resolving IP address: Error resolving address with mDNS: Did not respond. Maybe the device is offline., [Errno -5] No address associated with hostname

This is despite the fact that it is at 10.0.21.77 while an identical device (both ESP WROOM 32) at 10.0.210.75 updates just fine.

Both are also working and available in the ESPHome panel. Well, at least until I try to update (either via. ESPHome panel or the settings/config UI where the update shows up as well). Then it disappears until I power cycle it, and it comes “online” (in HA) again. But I still can’t update it without plugging it in to a computer.

And yes, they are all online (and respond to ping).

EDIT:
OK even a bit weirder than that. If trying to update from settings/config UI, it just goes offline, and I have to power cycle (and it hasn’t updated). If I try from ESPHome panel, it gives the error I showed above, but it does seem to have updated anyway (at least the device is not offline, and no longer shows as “updatable”). But it never showed anything after the error above to say that it did connect.

mDNS natively NOT working over subnets.
To achive this need to setup some mDNS forwarder/proxy.
Can use

wifi:
  use_address: <put_IP_from_remote_segment_here>
1 Like

Can setup Bonjour Browser on PC to see mDNS entries available in PC subnet. That can be a handy.

Thanks for the tip.

I did set up mDNS across those subnets. I remember having issues with Chromecast (on the same subnet as ESPHome devices), but setting up mDNS fixed that, so I don’t think that’s it?

Also, some ESPHome devices work fine. Wouldn’t you expect mDNS issues to affect all devices on the same subnet/VLAN, instead of just the one?

In any case, I won’t change IP of ESP devices, so might as well set the use_address. Is that something that goes in the yaml config for each ESP device foe compiling/uploading?

They are not necessarily different subnets.

  • use_address (Optional, string): Manually override what address to use to connect to the ESP. Defaults to auto-generated value. Example, if you have changed your static IP and want to flash OTA to the previously configured IP address.