`INFO ESPHome 2025.4.1
INFO Reading configuration /config/esphome/temperatura.yaml...
INFO Starting log output from 192.168.1.157 using esphome API
INFO Successfully connected to temperatura @ 192.168.1.157 in 0.062s
INFO Successful handshake with temperatura @ 192.168.1.157 in 0.539s
[12:03:23][I][app:100]: ESPHome version 2025.4.1 compiled on Jun 6 2025, 20:16:27
[12:03:23][C][wifi:600]: WiFi:
[12:03:23][C][wifi:428]: Local MAC: 8C:4F:00:36:11:48
[12:03:23][C][wifi:433]: SSID: 'MIWIFI_AeNM_5G'[redacted]
[12:03:23][C][wifi:436]: IP Address: 192.168.1.157
[12:03:23][C][wifi:440]: BSSID: 88:0F:A2:15:FE:84[redacted]
[12:03:23][C][wifi:441]: Hostname: 'temperatura'
[12:03:23][C][wifi:443]: Signal strength: -62 dB ▂▄▆█
[12:03:23][C][wifi:447]: Channel: 1
[12:03:23][C][wifi:448]: Subnet: 255.255.255.0
[12:03:23][C][wifi:449]: Gateway: 192.168.1.1
[12:03:23][C][wifi:450]: DNS1: 46.6.113.34
[12:03:23][C][wifi:451]: DNS2: 212.230.135.1
[12:03:23][C][logger:177]: Logger:
[12:03:23][C][logger:178]: Max Level: DEBUG
[12:03:23][C][logger:179]: Initial Level: DEBUG
[12:03:23][C][logger:181]: Log Baud Rate: 115200
[12:03:23][C][logger:182]: Hardware UART: UART0
[12:03:23][C][i2c.arduino:071]: I2C Bus:
[12:03:23][C][i2c.arduino:072]: SDA Pin: GPIO21
[12:03:23][C][i2c.arduino:073]: SCL Pin: GPIO22
[12:03:23][C][i2c.arduino:074]: Frequency: 50000 Hz
[12:03:23][C][i2c.arduino:086]: Recovery: bus successfully recovered
[12:03:23][I][i2c.arduino:096]: Results from i2c bus scan:
[12:03:23][I][i2c.arduino:102]: Found i2c device at address 0x77
[12:03:23][C][bmp085.sensor:044]: BMP085:
[12:03:24][C][bmp085.sensor:045]: Address: 0x77
[12:03:24][C][bmp085.sensor:049]: Update Interval: 60.0s
[12:03:24][C][bmp085.sensor:051]: Temperature 'Temperatura'
[12:03:24][C][bmp085.sensor:051]: Device Class: 'temperature'
[12:03:24][C][bmp085.sensor:051]: State Class: 'measurement'
[12:03:24][C][bmp085.sensor:051]: Unit of Measurement: '°C'
[12:03:24][C][bmp085.sensor:051]: Accuracy Decimals: 1
[12:03:24][C][bmp085.sensor:052]: Pressure 'Presion'
[12:03:24][C][bmp085.sensor:052]: Device Class: 'pressure'
[12:03:24][C][bmp085.sensor:052]: State Class: 'measurement'
[12:03:24][C][bmp085.sensor:052]: Unit of Measurement: 'hPa'
[12:03:24][C][bmp085.sensor:052]: Accuracy Decimals: 1
[12:03:24][C][captive_portal:089]: Captive Portal:
[12:03:24][C][web_server:285]: Web Server:
[12:03:24][C][web_server:286]: Address: temperatura.local:80
[12:03:24][C][mdns:116]: mDNS:
[12:03:24][C][mdns:117]: Hostname: temperatura
[12:03:24][C][esphome.ota:073]: Over-The-Air updates:
[12:03:24][C][esphome.ota:074]: Address: temperatura.local:3232
[12:03:24][C][esphome.ota:075]: Version: 2
[12:03:24][C][esphome.ota:078]: Password configured
[12:03:24][C][safe_mode:018]: Safe Mode:
[12:03:24][C][safe_mode:020]: Boot considered successful after 60 seconds
[12:03:24][C][safe_mode:021]: Invoke after 10 boot attempts
[12:03:24][C][safe_mode:023]: Remain in safe mode for 300 seconds
[12:03:24][C][api:140]: API Server:
[12:03:24][C][api:141]: Address: temperatura.local:6053
[12:03:24][C][api:143]: Using noise encryption: YES
[12:04:10][D][bmp085.sensor:079]: Got Temperature=28.3 °C
[12:04:10][D][sensor:094]: 'Temperatura': Sending state 28.34908 °C with 1 decimals of accuracy
[12:04:10][D][bmp085.sensor:125]: Got Pressure=1003.4 hPa
[12:04:10][D][sensor:094]: 'Presion': Sending state 1003.40607 hPa with 1 decimals of accuracy
`Preformatted text``
esphome:
name: teoled
friendly_name: teoled
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "LahY+Kzlak48G8Y6K6TuwWZeD2x2zosaYsZ9Fkdfyek="
ota:
- platform: esphome
password: "9859c9d97f487320dd728ffb6384502b"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Teoled Fallback Hotspot"
password: "bCfFAF89pjxb"
captive_portal:
i2c:
sda: GPIO21
scl: GPIO22
scan: True
font:
- file: "gfonts://Roboto"
id: font14
size: 14
- file: "gfonts://Roboto"
id: font25
size: 25
time:
- platform: homeassistant
id: hora
sensor:
- platform: bmp085
# El sensor BMP085/BMP180 por sí mismo no tiene un 'id' global.
# El 'id' se asigna a sus componentes de temperatura y presión.
# La dirección I2C por defecto para BMP085/BMP180 es 0x77.
# No suele ser necesario especificarla si usas la por defecto.
# address: 0x77
# Este es el intervalo de actualización principal para AMBAS lecturas (temperatura y presión)
update_interval: 60s # Puedes ajustarlo a tu necesidad (ej. 30s)
# Configuración de la lectura de TEMPERATURA
temperature:
name: "Temperatura Interior" # Nombre que aparecerá en Home Assistant
id: temperatura # ¡CRUCIAL! Este es el ID que tu display está buscando.
# Puedes sobrescribir el update_interval aquí si quieres que la temperatura se actualice
# con una frecuencia diferente a la principal.
# update_interval: 30s
# Configuración de la lectura de PRESIÓN
pressure:
name: "Presión Atmosférica" # Nombre que aparecerá en Home Assistant
id: presion # Un ID para la presión, si quieres usarla en la pantalla u otro lado
# unit_of_measurement: "hPa" # O "kPa", "mmHg", etc.
# accuracy_decimals: 1 # Número de decimales para la presión
# Puedes sobrescribir el update_interval aquí si quieres que la presión se actualice
# con una frecuencia diferente.
# update_interval: 30s
# ... tu configuración de pantalla ...
display:
- platform: ssd1306_i2c
id: pantalla
model: SSD1306_128X64
address: 0x3C
pages:
- id: page1
lambda: |-
it.strftime(0, 25, id(font25), "%H:%M", id(hora).now());
- id: page2
lambda: |-
it.print(0, 0, id(font14), "_temperatura");
it.printf(0, 25, id(font25), "%.1f C", id(temperatura).state); # Aquí se usa id(temperatura).state
interval:
- interval: 5s # El tiempo entre cada ejecución de las acciones
then: # Las acciones a ejecutar
- display.page.show_next: # Aquí sí va display.page.show_next
id: pantalla
- component.update: # Y también la actualización del componente
id: pantalla`Preformatted text`
Please excuse my clumsiness.
I still don’t know how to navigate or edit correctly.
I apologize and ask for your understanding.
It’s difficult for older people, or for me in particular.
And I also have to use a translator because I’m from Andalusia, Spain, and as you can see, the temperatures are very high.
Best regards.
OK, that’s substantially different code from the first post with the sensor coming from your BMP085 rather than from HA. Are you still having the same problem?
I’d suggest removing the comment from the end of the printf
line:
lambda: |-
it.print(0, 0, id(font14), "_temperatura");
it.printf(0, 25, id(font25), "%.1f C", id(temperatura).state);
Nice catch.
I’ve deleted those lines, and the code still gives an error.
I need new code.
But the comment is still present on your code above:
If you need to use comments in lambda you need to use // instead of #
Your log shows that BMP is working:
But the log doesn’t show that you have display found or configured (you have on your yaml).
INFO ESPHome 2025.4.1
INFO Reading configuration /config/esphome/teoled.yaml...
INFO Detected timezone 'Europe/Madrid'
INFO Starting log output from 192.168.1.154 using esphome API
INFO Successfully connected to teoled @ 192.168.1.154 in 0.084s
INFO Successful handshake with teoled @ 192.168.1.154 in 0.107s
[12:09:39][I][app:100]: ESPHome version 2025.4.1 compiled on Jun 6 2025, 20:27:26
[12:09:39][C][wifi:600]: WiFi:
[12:09:39][C][wifi:428]: Local MAC: 20:43:A8:65:D8:8C
[12:09:39][C][wifi:433]: SSID: 'MIWIFI_AeNM_5G'[redacted]
[12:09:39][C][wifi:436]: IP Address: 192.168.1.154
[12:09:39][C][wifi:440]: BSSID: 88:0F:A2:15:FE:84[redacted]
[12:09:39][C][wifi:441]: Hostname: 'teoled'
[12:09:39][C][wifi:443]: Signal strength: -66 dB ▂▄▆█
[12:09:39][C][wifi:447]: Channel: 1
[12:09:39][C][wifi:448]: Subnet: 255.255.255.0
[12:09:39][C][wifi:449]: Gateway: 192.168.1.1
[12:09:39][C][wifi:450]: DNS1: 46.6.113.34
[12:09:39][C][wifi:451]: DNS2: 212.230.135.1
[12:09:39][C][logger:177]: Logger:
[12:09:39][C][logger:178]: Max Level: DEBUG
[12:09:39][C][logger:179]: Initial Level: DEBUG
[12:09:39][C][logger:181]: Log Baud Rate: 115200
[12:09:39][C][logger:182]: Hardware UART: UART0
[12:09:39][C][i2c.arduino:071]: I2C Bus:
[12:09:39][C][i2c.arduino:072]: SDA Pin: GPIO21
[12:09:39][C][i2c.arduino:073]: SCL Pin: GPIO22
[12:09:39][C][i2c.arduino:074]: Frequency: 50000 Hz
[12:09:39][C][i2c.arduino:086]: Recovery: bus successfully recovered
[12:09:39][I][i2c.arduino:096]: Results from i2c bus scan:
[12:09:39][I][i2c.arduino:102]: Found i2c device at address 0x3C
[12:09:40][C][homeassistant.time:010]: Home Assistant Time:
[12:09:40][C][homeassistant.time:011]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[12:09:40][C][bmp085.sensor:044]: BMP085:
[12:09:40][C][bmp085.sensor:045]: Address: 0x77
[12:09:40][E][bmp085.sensor:047]: Connection with BMP085 failed!
[12:09:40][C][bmp085.sensor:049]: Update Interval: 10.0s
[12:09:40][C][bmp085.sensor:051]: Temperature 'BMP85 Temperatura'
[12:09:40][C][bmp085.sensor:051]: Device Class: 'temperature'
[12:09:40][C][bmp085.sensor:051]: State Class: 'measurement'
[12:09:40][C][bmp085.sensor:051]: Unit of Measurement: '°C'
[12:09:40][C][bmp085.sensor:051]: Accuracy Decimals: 2
[12:09:40][C][bmp085.sensor:052]: Pressure 'BMP85 Presión'
[12:09:40][C][bmp085.sensor:052]: Device Class: 'pressure'
[12:09:40][C][bmp085.sensor:052]: State Class: 'measurement'
[12:09:40][C][bmp085.sensor:052]: Unit of Measurement: 'hPa'
[12:09:40][C][bmp085.sensor:052]: Accuracy Decimals: 2
[12:09:40][E][component:082]: Component bmp085.sensor is marked FAILED:
[12:09:40][C][ssd1306_i2c:023]: I2C SSD1306
[12:09:40][C][ssd1306_i2c:023]: Rotations: 0 °
[12:09:40][C][ssd1306_i2c:023]: Dimensions: 128px x 64px
[12:09:40][C][ssd1306_i2c:024]: Address: 0x3C
[12:09:40][C][ssd1306_i2c:025]: Model: SSD1306 128x64
[12:09:40][C][ssd1306_i2c:027]: External VCC: NO
[12:09:40][C][ssd1306_i2c:028]: Flip X: YES
[12:09:40][C][ssd1306_i2c:029]: Flip Y: YES
[12:09:40][C][ssd1306_i2c:030]: Offset X: 0
[12:09:40][C][ssd1306_i2c:031]: Offset Y: 0
[12:09:40][C][ssd1306_i2c:032]: Inverted Color: NO
[12:09:40][C][ssd1306_i2c:033]: Update Interval: 1.0s
[12:09:40][C][captive_portal:089]: Captive Portal:
[12:09:40][C][mdns:116]: mDNS:
[12:09:40][C][mdns:117]: Hostname: teoled
[12:09:40][C][esphome.ota:073]: Over-The-Air updates:
[12:09:40][C][esphome.ota:074]: Address: teoled.local:3232
[12:09:40][C][esphome.ota:075]: Version: 2
[12:09:40][C][esphome.ota:078]: Password configured
[12:09:40][C][safe_mode:018]: Safe Mode:
[12:09:40][C][safe_mode:020]: Boot considered successful after 60 seconds
[12:09:40][C][safe_mode:021]: Invoke after 10 boot attempts
[12:09:40][C][safe_mode:023]: Remain in safe mode for 300 seconds
[12:09:40][C][api:140]: API Server:
[12:09:40][C][api:141]: Address: teoled.local:6053
[12:09:40][C][api:143]: Using noise encryption: YES
[12:09:40][W][component:239]: Component display took a long time for an operation (266 ms).
[12:09:40][W][component:240]: Components should block for at most 30 ms.
[12:09:40][W][component:239]: Component interval took a long time for an operation (265 ms).
[12:09:40][W][component:240]: Components should block for at most 30 ms.
[12:09:41][W][component:239]: Component display took a long time for an operation (265 ms).
[12:09:41][W][component:240]: Components should block for at most 30 ms.
[12:09:42][W][component:239]: Component display took a long time for an operation (265 ms).`Preformatted text`
Espero que esta captura de algo mas de informacion
[12:09:40][E][bmp085.sensor:047]: Connection with BMP085 failed!
That’s not going to help.
Neither communication in spanish. Translators give decent outputs nowadays.