
Fortgeschritten · Kapitel 14 von 20
ESPHome: ESP32/8266 ohne Code in HA einbinden
ESPHome verwandelt jeden ESP32 oder ESP8266 mit einer YAML-Datei in ein Smart-Home-Gerät. Kein C++, kein Arduino IDE – nur YAML und der Browser.
Affiliate-Links: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen – für dich bleibt der Preis gleich.
Das Wichtigste in Kürze
3 Kernaussagen für Schnellleser
ESPHome macht aus 3-Euro-ESP-Chips fertige Smart-Home-Sensoren – per deklarativer YAML-Konfiguration, ohne eine Zeile C++ zu schreiben. Du flasht den Chip einmal, danach werden Updates Over-the-Air eingespielt. Drei Einstiegsprojekte (Klimasensor, Briefkasten-Wächter, Pflanzenbewässerung) sind in 15 Minuten nachgebaut.
- ESPHome: Erstelle eigene firmwarefreie Smart-Home-Sensoren und -Aktoren ganz einfach per deklarativer YAML-Konfiguration statt C++-Code.
- Hardware-Basis: Günstige ESP8266-Boards (ca. 3 €) reichen für Standard-Sensoren, während leistungsfähigere ESP32-Boards (5–10 €) Bluetooth bieten.
- Praxisbeispiele: Drei einfache Bastelprojekte (DHT22-Klimasensor, Reed-Briefkastenwächter und kapazitiver Pflanzenbewässerer) sind in 15 Min startbereit.
Was ESPHome ist
ESPHome ist ein Framework, das aus einer YAML-Konfigurationsdatei automatisch Firmware für ESP32- und ESP8266-Microcontroller generiert. Du beschreibst, welche Sensoren angeschlossen sind und wie sie sich verhalten sollen – ESPHome kompiliert daraus die fertige Firmware.
Das Ergebnis: Jedes selbstgebaute Gerät meldet sich direkt in Home Assistant und taucht dort als vollwertige Entität auf – mit Zustand, Statistiken und steuerbarer Ausgabe.
ESP8266 vs. ESP32: Welches Board?
ESP8266 – günstig und bewährt
Der Wemos D1 Mini (ESP8266)(öffnet in neuem Tab) ist das günstigste und kleinste Board. WLAN integriert, genug GPIO-Pins für einfache Projekte, kein Bluetooth. Ideal für:
- Einfache Temperatur-/Feuchtigkeitssensoren
- Reed-Kontakte und Türsensoren
- Smarte Steckdosen (mit Shelly-Firmware als Alternative)
ESP32 – mehr Power, mehr Möglichkeiten
Das ESP32 DevKit C(öffnet in neuem Tab) bietet WLAN + Bluetooth, mehr GPIO-Pins und mehr Rechenleistung. Notwendig für:
- Projekte mit BLE-Sensor-Proxying (z. B. Xiaomi-Temperaturmesser)
- Kameras (ESP32-CAM)
- Projekte mit komplexen Berechnungen oder mehr Sensoren gleichzeitig
Wusstest du schon?
ESPHome kann ESP32 als BLE-Proxy nutzen. Du stellst den ESP32 in die Mitte deiner Wohnung – er leitet BLE-Signale von Bluetooth-Sensoren an Home Assistant weiter. Ein ESP32 in der Wohnungsmitte erreicht BTLE-Sensoren in 10–15 m Umkreis – das reicht für die meisten Wohnungen. Damit hast du plötzlich vollständige BTLE-Abdeckung ohne zusätzliche Hardware.
YAML-Konfiguration: Der Einstieg
Grundgerüst
esphome:
name: wohnzimmer-sensor
friendly_name: Wohnzimmer Sensor
esp8266:
board: d1_mini
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
ota:
password: !secret ota_password
Das Grundgerüst definiert den Gerätenamen, den Board-Typ, WLAN-Zugangsdaten und die API für die Home-Assistant-Integration. Die !secret-Notation hält sensible Daten aus der Konfigurationsdatei heraus – alle Werte trägst du einmalig in eine separate secrets.yaml ein, die nur auf deinem Rechner liegt.
Den api_key findest du in der ESPHome-Weboberfläche unter Setup → Encrypt API – er wird automatisch generiert.
Sensoren hinzufügen
sensor:
- platform: dht
model: DHT22
pin: D4
temperature:
name: "Raumtemperatur"
humidity:
name: "Luftfeuchtigkeit"
update_interval: 60s
OTA-Updates
OTA (Over-the-Air) ermöglicht Firmware-Updates ohne USB-Kabel – du klickst in der ESPHome-Weboberfläche auf „Flash", der ESP empfängt die neue Firmware über WLAN.
Pro-Tipp
Nutze
!secret-Einträge für alle sensiblen Daten: WLAN-Passwort, API-Schlüssel, OTA-Passwort. ESPHome speichert diese in einer separatensecrets.yaml-Datei, die du nicht mit anderen teilen musst.
Das Wichtigste hast du jetzt!
3 Praxisbeispiele
Beispiel 1: DHT22 Temperatur-Sensor
Das DHT22-Modul(öffnet in neuem Tab) misst Temperatur und Luftfeuchtigkeit. Es wird an einen GPIO-Pin des Wemos D1 Mini(öffnet in neuem Tab) angeschlossen und in ESPHome mit der YAML-Konfiguration oben eingebunden. Ergebnis: In Home Assistant erscheinen zwei neue Entitäten – sensor.wohnzimmer_sensor_raumtemperatur und sensor.wohnzimmer_sensor_luftfeuchtigkeit, aktualisiert jede Minute.
Beispiel 2: Reed-Kontakt für Türsensoren
Ein Reed-Kontakt(öffnet in neuem Tab) ist ein winziger Magnet-Sensor, der meldet, ob eine Tür offen oder geschlossen ist. An einem ESP8266 angeschlossen und in ESPHome als binary_sensor konfiguriert:
binary_sensor:
- platform: gpio
pin: D5
name: "Haustür"
device_class: door
filters:
- delayed_on: 10ms
- delayed_off: 10ms
In Home Assistant taucht der Sensor als binary_sensor.wohnzimmer_sensor_haustuer auf und löst Automatisierungen wie „Licht an, wenn die Tür aufgeht" aus.
Beispiel 3: Pflanzenbewässerung mit kapazitivem Feuchtigkeitssensor
Ein kapazitiver Bodenfeuchtigkeitssensor(öffnet in neuem Tab) misst, wie trocken die Erde ist. Ein ESP32 DevKit(öffnet in neuem Tab) liest den Sensor aus, und ein kleines Relais-Modul(öffnet in neuem Tab) steuert die Wasserpumpe. ESPHome übernimmt die Logik: Wenn die Erde zu trocken ist, schaltet das Relais die Pumpe für 30 Sekunden ein.
Home Assistant Integration und MQTT
ESPHome-Geräte werden in Home Assistant über die native API entdeckt – automatisch, ohne Konfiguration. Die Home Assistant App zeigt einen Hinweis, sobald ein neues ESPHome-Gerät im Netzwerk auftaucht.
Alternativ können ESPHome-Geräte auch über MQTT kommunizieren – nützlich, wenn du ioBroker statt Home Assistant nutzt oder eine MQTT-Broker-Infrastruktur bereits vorhanden ist:
mqtt:
broker: !secret mqtt_broker
username: !secret mqtt_user
password: !secret mqtt_password
Mit dieser Konfiguration publiziert ESPHome jeden Sensor-Wert automatisch auf einen MQTT-Topic (z. B. esphome/wohnzimmer-sensor/sensor/raumtemperatur/state).
Passende Tools