ESPHome für Einsteiger: Erster Sensor am ESP32
Vom nackten ESP32 zum Home-Assistant-Sensor – ohne eine Zeile C++
Dieser Artikel ist Teil des Home Assistant Guides – dem kuratierten Lernpfad für dein Smarthome.
Im letzten Teil kamen die Sensoren noch „aus der Steckdose“. Jetzt bauen wir selbst einen: Mit einem günstigen ESP32 und ESPHome bekommst du einen vollwertigen, rein lokalen Sensor in Home Assistant – ganz ohne Cloud und ohne C++ zu schreiben.
Was ist ESPHome?
ESPHome ist ein System, das aus einer YAML-Konfiguration fertige Firmware für ESP32/ESP8266 baut. Du beschreibst, welche Sensoren und Aktoren am Board hängen – ESPHome kompiliert daraus die Firmware und hält sie per OTA aktuell. Die Integration in Home Assistant ist nativ: Einmal geflasht, taucht das Gerät mit allen Entities automatisch auf.
Was du brauchst
- Ein ESP32-Board (ESP8266 geht auch).
- Ein USB-Kabel (Daten, nicht nur Laden!) fürs erste Flashen.
- Ein laufendes Home Assistant.
- Optional ein Sensor, z. B. ein DHT22 für Temperatur und Luftfeuchte.
Wenn du noch kein Board hast: Ein ESP32 NodeMCU ist die unkomplizierte Wahl für den Einstieg und kostet fast nichts – das nutze ich auch für meine ESPHome-Sensoren:
Anzeige · Affiliate-Link – kaufst du darüber, erhalte ich ggf. eine Provision. Für dich ändert sich am Preis nichts.
Installation: das ESPHome-Add-on
Unter Home Assistant OS ist es am einfachsten: Einstellungen → Add-ons → Add-on-Store, dort „ESPHome Device Builder“ installieren und starten. (Genau das ist einer der Gründe, warum ich Einsteigern HA OS empfehle.) Ohne Add-on-Store läuft ESPHome alternativ als eigener Docker-Container.
Erstes Gerät anlegen
- ESPHome öffnen → New Device.
- Namen vergeben (z. B.
wohnzimmer-sensor), WLAN-Zugangsdaten hinterlegen – ESPHome speichert sie als Secrets. - Board-Typ wählen (ESP32).
- ESPHome legt eine Basis-Konfiguration an, die du frei erweiterst.
Minimale Konfiguration
So sieht eine vollständige Konfiguration mit einem DHT22-Sensor an GPIO4 aus:
esphome:
name: wohnzimmer-sensor
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
ota:
- platform: esphome
logger:
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "Wohnzimmer Temperatur"
humidity:
name: "Wohnzimmer Luftfeuchte"
update_interval: 60s
Die Blöcke wifi, api und ota sind der Standard-Unterbau: Netzwerk, verschlüsselte Verbindung zu Home Assistant und Funk-Updates. Der sensor-Block macht die eigentliche Arbeit – jeder name wird später eine eigene Entity in Home Assistant.
Flashen und in Home Assistant
Das erste Flashen geht per USB: Board anstecken, in ESPHome auf Install → Plug into this computer. Danach läuft jedes weitere Update kabellos per OTA – das Board kann im Schrank hängen bleiben. Sobald die Firmware läuft, meldet Home Assistant das neue Gerät automatisch („Einstellungen → Geräte & Dienste“), du bestätigst nur noch.
Was ich weggelassen habe
- Substitutions & Packages – um Konfigurationen über mehrere Boards wiederzuverwenden.
- Deep Sleep – wichtig für Batteriebetrieb, aber ein eigenes Thema.
- Displays/Aktoren – hier ging es nur um den ersten Sensor.
Fazit & Ausblick
Mit ein paar Zeilen YAML wird aus einem 5-Euro-Board ein lokaler, OTA-aktualisierbarer Sensor in Home Assistant. Von hier führen zwei Wege weiter: ein echtes Projekt mit Display und Feinstaubsensor (PMS5003T mit ESP32 und ESPHome) und die Profi-Stufe, bei der die Firmware automatisiert per CI gebaut und ausgerollt wird (GitLab CI für ESPHome).
Anzeige · Affiliate-Link – kaufst du darüber, erhalte ich ggf. eine Provision. Für dich ändert sich am Preis nichts.