Hello, Im having issues with a device im trying to make, I have the following hardware:
- ESP32 WROOM
- DHT22
- Waveshare 4.20 inch e-paper screen v2
The basic functionality that I want is to have the DHT22 do a reading every minute and then display the values on the screen, along with the time and date.
And Im getting the following error in my log, normally I would not mind the errors, but sometimes the values on the screen appear as not available and I suspect its related to the error, as the values keep coming uninterrupted to HA.
[18:34:04.824][E][waveshare_epaper:163]: Timeout while displaying image!
[18:34:04.827][W][component:453]: display took a long time for an operation (255 ms)
[18:34:04.830][W][component:456]: Components should block for at most 30 ms
[18:34:04.834][W][component:453]: api took a long time for an operation (264 ms)
[18:34:04.838][W][component:456]: Components should block for at most 30 ms
[18:34:58.235][D][dht:042]: Temperature 24.3°C Humidity 39.2%
[18:34:58.240][D][sensor:131]: 'Watechen Temperature': Sending state 24.30000 °C with 2 decimals of accuracy
[18:34:58.248][D][sensor:131]: 'Watechen Humidity': Sending state 39.20000 % with 0 decimals of accuracy
[18:35:00.319][D][homeassistant.text_sensor:017]: 'sensor.time_date': Got state '18:35, 2025-10-29'
[18:35:00.320][D][text_sensor:085]: 'HA Time': Sending state '18:35, 2025-10-29'
[18:35:09.595][D][waveshare_4.2v2:076]: Performing fast update
[18:35:09.823][E][waveshare_epaper:163]: Timeout while displaying image!
My yaml is as follows:
esphome:
name: watechen-sensor
friendly_name: watechen-sensor
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "coolkey"
ota:
- platform: esphome
password: "uncoolpass"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Watechen-Sensor Fallback Hotspot"
password: "ringoSTARR"
captive_portal:
external_components:
- source: github://pr#6209
components: [ waveshare_epaper ]
text_sensor:
- platform: homeassistant
entity_id: sensor.time_date
id: ha_time
name: "HA Time"
# Example configuration entry
sensor:
- platform: dht
pin: 2
temperature:
name: "Watechen Temperature"
accuracy_decimals: 2
id: watechen_temp
humidity:
name: "Watechen Humidity"
accuracy_decimals: 0
id: watechen_hum
update_interval: 60s
font:
- file: "gfonts://Roboto"
id: font1
size: 24
- file: "gfonts://Roboto Mono"
id: font2
size: 18
# --- E-Paper Display ---
spi:
clk_pin: 18
mosi_pin: 23
display:
- platform: waveshare_epaper
cs_pin: 5
dc_pin: 17
busy_pin: 4
reset_pin: 16
model: 4.20in-v2
update_interval: 65s
# reset_duration: 2ms
lambda: |-
it.printf(10, 10, id(font1), "Temperature: %.1f°C", id(watechen_temp).state);
it.printf(10, 40, id(font1), "Humidity: %.1f%%", id(watechen_hum).state);
it.print(10, 60, id(font2), id(ha_time).state.c_str());