Can ESPHome devices announce themselves to the dashboard?

I currently have a few ESPHome devices visible on the network

If I add an existing switch-new that has ESPHome flashed but does not have a corresponding YAML file, it will not be visible on the dashboard.

Is there a way to set the dashbor up so that it shows ESPHome devices that are not configured via the YAML files (= those whose name does not patch an existing YAML file)?

I currenly use a mix of

nmap -p 6053 --open 192.168.10.0/24 --dns-servers 192.168.10.2 -oG - | awk '/6053\
/open\/tcp/ {print $2, $3}'

and HA discovery to catch the ones that may linger around but a more solid solution would be great.

If you are not the author of the firmware (i.e. the YAML), discovery on HA depends on the firmware having enabled the HA api component, which is responsible to send the mDNS broadcasts allowing HA to discover the device.

Yes, this is my current workaround (together with the nmap scan), I was hoping that ESPHome devices would send some kind of L2 broadcast (“I am here!”) to be intercepted by the dashboard server.

If not I will stay with my two methods and hopefully once the clutter is cleaned up it won’t be that necessary anymore

I realize you’re speaking about the ESPHome dashboard, and not HA at all, but it works the same way.

mDNS is basically L7 broadcasts. If ESPHome detects a new device, it would propose you to “adopt” it. Not sure why you’d want L2 here (how would ESPHome detects it’s an ESPHome device?)

AFAIK, mDNS is enabled by default by ESPHome so it’s pretty strange your ESPHome builder do not see your device, unless you have network issues, or the device explicitely disabled mDNS, or it’s not an actual ESPHome device, or…

Can only speak for ESPHome Device Builder being installed independent from HA on a separate server ( not as app), but: No, it doesn’t work the same way.
ESPHome Device Builder shows devices it has a YAML-File for in its config folder, to my best knowledge it doesn’t detect any devices on the network.

I’m pretty sure the ESPHome builder has this notion of “adoption” for devices found on the network (see esphome/esphome/zeroconf.py at f0800336b8e7decf4fecd78e53e034dc97676e64 · esphome/esphome · GitHub) through mDNS.

Now, I never expererienced it myself, as I never had an ESPHome device I didn’t create myself.

my best guess is Device Builder is using this to pair information from the device with the node created based on the existance of the YAML, using TXT-Records on mDNS

moved the yaml to a subfolder => doesn’t show anymore in device builder
restarted the device => works with HA, but isn’t seen in the device builder
move the yaml back => within seconds shown in the device builder with correct status

All my devices are mine too – but I started to fix the mess after 6 years of accruing chaos (and 6 years of lack of firmware updates :slight_smile: ).

The idea behind my question was that if I plug in something that was once set up, it would show as “discovered”, allowing me to properly update it.

OTOH it’s not like I had a stadium filled with devices, the few I have can be handled by scanning the network

Yeah, maybe. This is poorly documented, to say the least :wink: