How does the ESPHome Dashboard determine if a node is online?

No, the ones you haven’t used are hidden so that they do not clutter up the interface.

I mean, you may know better, but as you don’t use the addon, it seems unlikely.

Ah, thanks for the input. I’ve just gone over from HA Core to HA Supervised, and have almost all addons as separate Docker containers so far. Thinking of moving the HA related containers over to the HA addons instead, if only for maintaining compatibility. :slight_smile:

Reinstalled ESPHome and I got it working. Thanks @nickrout!

Related??

mdns didn’t work

Just curious… My ESPHome devices are on a wifi network that uses VLAN 20 (or is it a subnet?), while my HA is on a separate network. They communicate well despite this because my firewall and routing settings seem to be well-configured. I wonder why it is that the ESPHome dashboard in HA shows the ESP devices offline, but if I reboot one of them (or unplug/plug 5V power) it will come back online just long enough for me to flash it over wifi …and then after some time has passed the device is once again offline and its IP address cannot resolve if I try to flash it. No biggie, I can always just reboot when I am ready to flash. But I’m wondering why this is so.

Have you enabled the use_ping option as described above?

People need to learn about mDNS. I don’t know much about it, but for example a quick google shows me this quote

mDNS’s uses of multicast packets is designed to work within a single IP subnet . That is, mDNS traffic does not cross from one IP subnet to another. As a result, mDNS can be used among a set of devices that are all attached to a single IP subnet, but cannot be used among devices attached to different IP subnets.

And yes you can get repeaters to transfer mDNS across subnets.

I know even less about VLANs but no doubt google can help that too.

Thanks for the reply. I turned it on for a bit and didn’t see any difference; all the ESP nodes still communicated well with HA but were offline in the dashboard. But I toggled it back off because I didn’t see any benefit in leaving it on.

Even if use_ping had resulted in the nodes becoming Online in the dashboard, I’d still be in the dark as to why. I’m not so concerned with making them Online as I am curious as to why this phenomenon occurs. I just find it interesting that they become Online briefly upon bootup, but they eventually go Offline.

I think I’ve fix this issue for me. If you use Adguard or some other non-conventional DNS server, this might be similar to your situation too.

Summary:
Having something like avahi-browse -ar do discovery and spit out a list of found devices and their hostname+IP address, is completely separate from a tool like ping or curl or whatever that completes mostly standard DNS resolution to figure out the IP address to conga-drums.local. Either if the container isn’t setup to look up mDNS first before calling a DNS server (which neither HA or the ESPHome containers do) or your DNS server doesn’t know about any .local hostnames, regardless of if stuff in that container can find out about devices via avahi-browse -ar, none of the other components part of that service will be able to resolve the IP address and talk with them.

My fix was to spin dnsmasq back up on a different port than 53 with only offering up resolution for .local domains, and then add that to the “Upstream DNS servers” list in Adguard (for specific domains). Once that was done all of my containers could resolve conga-drums.local.

I’ve got a lengthier post going into more details at the tail end of this HA bug.

I’m going to paste this around to a few other related threads, because I burnt a whole day trying to figure this out. Hope this helps some of you.