Hallo zusammen,
ich experimentiere gerade mit einem ESP32 auf einem Breakout Board mit
einem 1.3 Zoll OLED Display.
Das Teil soll mir im Bad die Temperatur und Luftfeuchte anzeigen inkl. Datum und Uhrzeit. Das klappt auch schonmal (s. Bild).
Ich möchte nun bei Nutzung meiner OralB IO Zahnbürste eine zweite Page auf dem OLED Display anzeigen lassen und mir die Zahnputzzeit anzeigen lassen.
Wie das in der Theorie funktionieren soll steht auf der ESPHome-Seite, nur verstehe ich die Vorgehensweise nicht. Kann mir bei diesem Problem jemand helfen?
Am besten dann die von meiner Frau und mir (sofern wir beide putzen). Die Zahnbürsten sind bereits in Homeassistant vorhanden und lassen sich auch mir einer einfach Automation einbinden.
Der aktuelle Code für den ESP32 lautet:
esphome:
name: espbad
friendly_name: espbad
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
password: "xxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: !secret fallback_ssid
password: !secret fallback_password
# Zeit holen für ESP
time:
- platform: homeassistant
id: esptime
captive_portal:
i2c:
sda: GPIO16
scl: GPIO17
font:
- file: "fonts/Verdana.ttf"
id: verdana10
size: 10
- file: "fonts/Verdana.ttf"
id: verdana12
size: 12
display:
- platform: ssd1306_i2c
model: "SH1106 128x32"
lambda: |-
it.printf(0, 0, id(verdana10), "%.1f °C", id(temp).state);
it.printf(85, 0, id(verdana10), "%.1f %%", id(hum).state);
it.line(0,14,128,14);
it.strftime(2, 15, id(verdana12), "%d.%m.%Y - %H:%M", id(esptime).now());
sensor:
- platform: homeassistant
name: Temperatur
id: temp
entity_id: sensor.temperatur_bad
- platform: homeassistant
name: Luftfeuchte
id: hum
entity_id: sensor.lf_bad
Viele Grüße
AndiFidi