ESPHome device is online, API connected, logs show sensor updates with valid names.
Home Assistant detects the device, but NO entities are ever created.
I have tried:
deleting the device
renaming
full HA restarts
clean firmware reinstall
different entity names
checking disabled entities
different ESPHome fisical device.
Logs clearly show sensors publishing values.
This looks like an HA entity registry or ESPHome integration bug?
Yes, it is added to the ESPHome integration.
In the web server, I can see the logs, the sensor names and states, and it publishes the correct pulse count and kWh.
INFO ESPHome 2026.1.4
INFO Reading configuration /config/esphome/telhado.yaml...
INFO Starting log output from 192.168.0.137 using esphome API
INFO Successfully resolved marta @ 192.168.0.137 in 0.000s
INFO Successfully connected to marta @ 192.168.0.137 in 0.126s
INFO Successful handshake with marta @ 192.168.0.137 in 0.088s
[19:08:00.120][I][app:206]: ESPHome version 2026.1.4 compiled on 2026-02-09 10:41:02 +0000
[19:08:00.125][I][app:213]: ESP32 Chip: ESP32 r3.1, 2 core(s)
[19:08:00.125][W][app:222]: Set minimum_chip_revision: "3.1" to reduce binary size
[19:08:00.128][C][logger:316]: Logger:
[19:08:00.128][C][logger:316]: Max Level: DEBUG
[19:08:00.128][C][logger:316]: Initial Level: DEBUG
[19:08:00.128][C][logger:322]: Log Baud Rate: 115200
[19:08:00.128][C][logger:322]: Hardware UART: UART0
[19:08:00.128][C][logger:332]: Task Log Buffer Size: 768 bytes
[19:08:00.150][C][pulse_counter:016]: Pulse Counter 'Pulsos Brutos Vento'
[19:08:00.150][C][pulse_counter:016]: State Class: 'measurement'
[19:08:00.150][C][pulse_counter:016]: Unit of Measurement: 'pulses/min'
[19:08:00.150][C][pulse_counter:016]: Accuracy Decimals: 2
[19:08:00.150][C][pulse_counter:030]: Icon: 'mdi:pulse'
[19:08:00.150][C][pulse_counter:152]: Pin: GPIO13
[19:08:00.153][C][pulse_counter:175]: Rising Edge: INCREMENT
[19:08:00.153][C][pulse_counter:175]: Falling Edge: DISABLE
[19:08:00.153][C][pulse_counter:175]: Filtering pulses shorter than 13 µs
[19:08:00.197][C][pulse_counter:456]: Update Interval: 10.0s
[19:08:00.197][C][wifi:1304]: WiFi:
[19:08:00.197][C][wifi:1304]: Local MAC: 6C:C8:40:55:75:E8
[19:08:00.197][C][wifi:1304]: Connected: YES
[19:08:00.201][C][wifi:1037]: IP Address: 192.168.0.137
[19:08:00.201][C][wifi:1048]: SSID: 'NOWO-0873F'[redacted]
[19:08:00.201][C][wifi:1048]: BSSID: 9E:BA:5F:C4:45:9E[redacted]
[19:08:00.201][C][wifi:1048]: Hostname: 'marta'
[19:08:00.201][C][wifi:1048]: Signal strength: -50 dB ▂▄▆█
[19:08:00.201][C][wifi:1048]: Channel: 1
[19:08:00.201][C][wifi:1048]: Subnet: 255.255.255.0
[19:08:00.201][C][wifi:1048]: Gateway: 192.168.0.1
[19:08:00.201][C][wifi:1048]: DNS1: 1.1.1.1
[19:08:00.201][C][wifi:1048]: DNS2: 0.0.0.0
[19:08:00.201][C][web_server:416]: Web Server:
[19:08:00.201][C][web_server:416]: Address: 192.168.0.137:80
[19:08:00.217][C][esphome.ota:075]: Over-The-Air updates:
[19:08:00.217][C][esphome.ota:075]: Address: 192.168.0.137:3232
[19:08:00.217][C][esphome.ota:075]: Version: 2
[19:08:00.222][C][safe_mode:021]: Safe Mode:
[19:08:00.222][C][safe_mode:021]: Successful after: 60s
[19:08:00.222][C][safe_mode:021]: Invoke after: 10 attempts
[19:08:00.222][C][safe_mode:021]: Duration: 300s
[19:08:00.239][C][safe_mode:038]: Bootloader rollback: support unknown
[19:08:00.252][C][api:221]: Server:
[19:08:00.252][C][api:221]: Address: 192.168.0.137:6053
[19:08:00.252][C][api:221]: Listen backlog: 4
[19:08:00.252][C][api:221]: Max connections: 8
[19:08:00.252][C][api:228]: Noise encryption: YES
[19:08:00.255][C][mdns:177]: mDNS:
[19:08:00.255][C][mdns:177]: Hostname: marta
[19:08:01.848][D][pulse_counter:190]: 'Pulsos Brutos Vento': Retrieved counter: 0.00 pulses/min
[19:08:01.848][D][sensor:129]: 'Pulsos Brutos Vento' >> 0.00 pulses/min
[19:08:01.848][D][pulse_counter:196]: 'Pulsos Brutos Vento': Total : 176 pulses
[19:08:01.854][D][sensor:129]: 'Velocidade do Vento' >> 7.0 km/h
[19:08:11.842][D][pulse_counter:190]: 'Pulsos Brutos Vento': Retrieved counter: 0.00 pulses/min
[19:08:11.843][D][sensor:129]: 'Pulsos Brutos Vento' >> 0.00 pulses/min
[19:08:11.847][D][pulse_counter:196]: 'Pulsos Brutos Vento': Total : 176 pulses
[19:08:11.851][D][sensor:129]: 'Velocidade do Vento' >> 7.0 km/h
[19:08:21.845][D][pulse_counter:190]: 'Pulsos Brutos Vento': Retrieved counter: 191.96 pulses/min
[19:08:21.849][D][sensor:129]: 'Pulsos Brutos Vento' >> 191.96 pulses/min
[19:08:21.849][D][pulse_counter:196]: 'Pulsos Brutos Vento': Total : 208 pulses
[19:08:21.850][D][sensor:129]: 'Velocidade do Vento' >> 8.3 km/h
[19:08:31.851][D][pulse_counter:190]: 'Pulsos Brutos Vento': Retrieved counter: 323.94 pulses/min
[19:08:31.853][D][sensor:129]: 'Pulsos Brutos Vento' >> 323.94 pulses/min
[19:08:31.854][D][pulse_counter:196]: 'Pulsos Brutos Vento': Total : 262 pulses
[19:08:31.856][D][sensor:129]: 'Velocidade do Vento' >> 10.5 km/h
Your yaml code needs formatting. Either you have not posted it using the forum </> formatting, or the source is wrong.
Did you post all the yaml? Some seems to be missing.
Can you post a screenshot of the device info tab from the ESPHome integration page, to be sure it’s added correctly as an integration. You should see something like this