Esp 32 not showing in settings->Devices&Services->Esphome

I have 5 of the same Esp32 but only 3 actually show in the Esphome devices list. Also I cannot access the data produced by the missing Esp32’s in the overview section, but a I can see in the individual esp logs and their web server page.

How can I connect the missing esps to the esphome devices list , as using +device doesn’t bring them into the devices list?

What happens after you add the device? What do you see on the screen?

What does the log in the esphome dashboard say?

What does the log on Home Assistant say?

These show the discrepancy of what parts of esp home recognises my esp32 devices.

I can visit each of the web servers I have on each device and the data displayed is correct

I’m not sure how or which bits of the logs you need.

The lower page is the esphome dashboard. It relies on mdns to detect whether a device is online. Mdns is fickle and doesn’t usually cross subnets. The usual solution is to enable status_use_ping: true in the esphome addon config.

But you didn’t answer my question about what you see after you add the device in HA integrations.

I can’t recall, sorry.

Is there anyway to factory reset the esp32 so I can try to reproduce the installation?

This may add it correctly?

I don’t know, just a suggestion?

No need to reflash. Just re-integrate the device.
settings → integrations. Click on “Add Integration” and in “Select Brand” enter ESPHome and in the “host” field, enter the device IP.

As an aside- you can run ESPHome without Home Assistant. That is why the device web page works. The web page is entirely in the device.

I just tried re-integration and I got :

"Can’t connect to ESP. Please make sure your YAML file contains an ‘api:’ line.:

but when I look in the ‘74 esp32.yaml’ file there is a api; encryption: entry with a key?

You said that the device web server works, what IP does it say the device is using? Alternately from a PC command line, try pinging the device IP. For example for a device named mydevice: “ping mydevice.local /4”

And, what is the IP address of the Home Assistant server?

The HA server is is 192.168.1.105

The esp32 is 192.168.1.74 and pings with 192.168.1.4. but

ping 74%20esp32.local gives unknown host

Ive made it static with
Preformatted textwifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: 192.168.1.74

manual_ip:
static_ip: 192.168.1.74
gateway: 192.168.1.1
subnet: 255.255.255.0Preformatted text

also I access HA through duckdns

I assume the /4 at the end of the ping mydevice.local /4 was typo was it doesn’t work here?

Host names can’t have spaces. %20 is a space.

Add it via it’s ip address.

The /4 forces the ping to return IPV4. On a PC the default is IPV6.

Do not use “use address” unless you are changing the IP address. I never use static_ip in ESPHome. If I need an unchanging IP, like in a camera, for example, I set up a permanent lease in the router.

This verifies we are on the same subnet.
Your second line makes little sense without context.

  • Is the ESP showing an IP of 192.168.1.174 from the device web page?
  • Where did 192.168.1.4 come from?
  • What is the name of the ESP device? You haven’t posted your YAML file, but if the name line is like this: “name: my ESP device”, then ESPHome converts the spaces into lower-case underscores (Linux-friendly names), like this: “my_esp_device”. So I would ping my_esp_device.local.
  1. Please don’t post your yaml without proper quoting. See How to help us help you - or How to ask a good question

  2. As I said you cannot have a hostname with a space, so it won’t be
    74 esp32 as that is not a valid hostname on any network. It may be 74_esp32 or 74_esp32_bmp280

  3. In your second screenshot there is a button that says “Logs”, use it.

Thanks to all - I assumed iesphome accepted spaces in the hostname and appeared to be accepted

in the end I used the ip address as suggested by nickrout and all worked.

The hostname as far as I can see the host name now shows with a space as do the entities when adding to the overview section

so far as formatting the code - I had a go and got it wrong but Ill certainly review the link provided

again thanks to all

The log will show the hostname I’m pretty sure.

You can never have spaces in hostnames. Just remove that crazy idea from your head :smile:

Glad you got it working.

Hi Nick - you’re correct. Thanks for you words of encouragement :slight_smile:

1 Like