You can do this, you just need to use static IP address (or addresses reserved in DHCP) for your ESP devices and to enable ping instead of mdns online detection. Then when you want to add a new device manually select the integration in Configuration / Devices / Add Integration and specify the IP address of the device.
I have the device adopted in ESPHome (just sows offline) and can update it wirelessly just fine.
I have the device and itās entities also added in. This all works fine - the statuses coming and the outputs get there without any issues. If it wasnāt for ESPHome just showing this is disconnected, Iād quite happy with the integration.
Side Note:
Not sure why this is not done more, I personally feel people are crazy to allow IoT devices on the main network. I have all mine on a subnet that is setup so only certain devices can get to the web, none of them can get to the main network (allowing only connections to HA) and none of the IoT devices can reach each other.
This worked great for the connection and recognition of the device sitting on a different subnet, but now when I configure a new device (adding it to the same network subnet as HA is on for initial config), it never appears in ESPHome to adopt.
I can get this going by turning off the āUse ping for statusā while adding a new ESP32, then turning it back on after I get the static IP setup.
This just the the way it is then? Just a āone or the otherā type of situation?
Iām happy either way as this is a minor inconvenience, just curious if Iām missing something here
You can, just not with a default āhomeā router.
For instance, pfSense / OPNSense have the āavahiā plug-in, which forward the mDNS packets across subnets.
Works flawlessly!
+1 for Avahi on pfsense. I keep all my esp devices on a subnet with just about no access to anything else, and then repeat the mdns packets to my LAN so HA can pick it up.
Apologies for resurrecting an old thread. Details have changed just a little.
I found the āUse ping for statusā option helpful for an ESP on a remote site running its own WireGuard tunnel. Works nicely but the option is now hidden.
You now fing it hidden slightly deeper in Settings> Add-ons > ESPHome > Configuration > Show unused optional configuration options. Then turn on āuse ping for statusā and then scroll down for the save button you now (probably) canāt see.