ESPHome Einsteiger-Guide – ESP32 Sensor für Home Assistant selber bauen

ESPHome für Einsteiger – Eigene Smart-Home-Sensoren bauen mit Home Assistant

Kurzantwort: ESPHome verwandelt einen ESP32-Mikrocontroller (~4–6 €) per YAML-Konfiguration in einen Smart-Home-Sensor. Mit BME280-Modul (~3–5 €) baut ihr für ~8 € einen Temperatur-, Feuchte- und Luftdrucksensor – fertige Zigbee-Sensoren kosten das Drei- bis Vierfache.

Gekaufte Smart-Home-Sensoren kosten 15–30 € pro Stück, laufen oft über eine Cloud und liefern genau das, was der Hersteller vorgesehen hat – nicht mehr. Mit ESPHome baut ihr euch Sensoren für 3–5 € selbst, genau nach euren Anforderungen, vollständig lokal und direkt in Home Assistant integriert.

Preisvergleich: ESP32 + BME280 = ~8 € selbst gebaut vs. 15–30 € für fertige Zigbee-Sensoren. ESPHome lohnt sich ab 3–5 gleichartigen Sensoren oder für spezielle Messgrößen wie CO2.

ESPHome ist ein Framework, das ESP8266- und ESP32-Mikrocontroller per YAML-Konfiguration in Smart-Home-Geräte verwandelt. Ihr beschreibt in einer Textdatei, welche Sensoren angeschlossen sind und was sie tun sollen – ESPHome kompiliert daraus eine fertige Firmware. Kein Programmieren nötig.

In diesem Guide zeige ich euch, wie ihr vom ersten ESP32 bis zum fertig laufenden Temperatur-Sensor in Home Assistant kommt – Schritt für Schritt.

Was ihr braucht

Mindestausstattung für den ersten Sensor

BauteilEmpfehlungPreis (ca.)Wofür
MikrocontrollerESP32 Dev Board~4–6 €Basis für alle Projekte, WLAN + Bluetooth
TemperatursensorBME280 Modul~3–5 €Temperatur + Luftfeuchtigkeit + Luftdruck
USB-KabelMicro-USB oder USB-C (je nach Board)vorhandenErstflash per USB, danach OTA
Jumper-KabelDupont-Kabel-Set~3 €Sensor mit ESP32 verbinden

Tipp: Kauft gleich ein 5er-Pack ESP32-Boards – der Stückpreis sinkt auf ~3 €, und für weitere Projekte habt ihr dann immer Boards vorrätig.

Weitere beliebte Sensoren für spätere Projekte

  • DHT22 – günstigste Temperatur/Feuchte-Option, ~2 €
  • MH-Z19B – CO2-Sensor, ideal für Schlaf- und Arbeitszimmer, ~18 €
  • D1 Mini (ESP8266) – kleiner als ESP32, reicht für einfache Sensoren, ~3 €

Schritt 1: ESPHome Add-on in Home Assistant installieren

  1. In Home Assistant: Einstellungen → Add-ons → Add-on Store öffnen
  2. Nach „ESPHome“ suchen → Installieren
  3. Nach der Installation: Starten aktivieren + In der Seitenleiste anzeigen aktivieren
  4. Add-on starten → Web-UI öffnen – der ESPHome Device Builder öffnet sich

Hinweis: ESPHome läuft als Add-on nur auf Home Assistant OS und Supervised. Bei Home Assistant Container müsst ihr ESPHome separat als Docker-Container starten.

Schritt 2: Erstes Gerät anlegen

  1. Im ESPHome Device Builder: New Device klicken
  2. Gerätename eingeben (z.B. sensor-wohnzimmer – nur Kleinbuchstaben, Bindestriche erlaubt)
  3. Board-Typ wählen: ESP32 (oder ESP8266 für D1 Mini)
  4. WLAN-Zugangsdaten eingeben – ESPHome trägt sie sicher in die Konfiguration ein
  5. Next → Gerät wird als Konfigurationsdatei angelegt

Schritt 3: Firmware erstellen und per USB flashen

Beim allerersten Flash muss der ESP32 per USB mit dem Computer verbunden sein, der Home Assistant betreibt (oder ihr nutzt einen Browser-basierten Flasher über WebSerial).

  1. Im Device Builder beim neuen Gerät auf Install klicken
  2. Plug into this computer wählen (bei direktem USB-Anschluss) oder Manual download für späteres Flashen
  3. Port auswählen (z.B. /dev/ttyUSB0) und flashen
  4. Nach dem Flash: ESP32 verbindet sich automatisch mit eurem WLAN
  5. In Home Assistant erscheint das Gerät als „Entdeckt“ unter Einstellungen → Geräte & Dienste → ESPHome → Übernehmen

Ab jetzt laufen alle weiteren Updates per OTA (Over-the-Air) – kein USB-Kabel mehr nötig.

Schritt 4: BME280-Sensor einbinden

Jetzt kommt der interessante Teil. Verbindet den BME280 mit dem ESP32:

BME280 PinESP32 Pin
VCC3.3V
GNDGND
SDAGPIO21
SCLGPIO22

Dann öffnet ihr im ESPHome Device Builder die Konfiguration eures Geräts (Edit) und ergänzt folgende Zeilen:

i2c:
  sda: GPIO21
  scl: GPIO22

sensor:
  - platform: bme280_i2c
    temperature:
      name: "Wohnzimmer Temperatur"
    humidity:
      name: "Wohnzimmer Luftfeuchtigkeit"
    pressure:
      name: "Wohnzimmer Luftdruck"
    address: 0x76
    update_interval: 60s

Danach im Device Builder auf Install → Wirelessly klicken – ESPHome kompiliert die neue Firmware und flasht sie per OTA. Nach etwa einer Minute erscheinen drei neue Sensoren in Home Assistant: Temperatur, Luftfeuchtigkeit und Luftdruck.

YAML-Grundstruktur erklärt

Jede ESPHome-Konfiguration folgt dem gleichen Aufbau:

esphome:
  name: sensor-wohnzimmer        # Gerätename (Hostname im Netzwerk)

esp32:
  board: esp32dev                # Board-Typ

wifi:
  ssid: !secret wifi_ssid        # WLAN-Name (aus secrets.yaml)
  password: !secret wifi_password

api:                             # Home Assistant API – auto-discovery
  encryption:
    key: "euer-zufälliger-key"

ota:                             # Over-the-Air Updates
  - platform: esphome
    password: "ota-passwort"

logger:                          # Logs im Device Builder anzeigen

secrets.yaml: WLAN-Zugangsdaten nie direkt in die Konfiguration schreiben. ESPHome hat eine zentrale secrets.yaml-Datei, die alle Passwörter bündelt – so bleiben Konfigurationsdateien teilbar.

Projektideen für Einsteiger

ProjektHardwareKostenSchwierigkeit
Temperatur/Feuchte-SensorESP32 + BME280~8 €⭐ Einsteiger
CO2-MonitorESP32 + MH-Z19B~22 €⭐ Einsteiger
Bewegungsmelder (PIR)D1 Mini + HC-SR501~5 €⭐ Einsteiger
TürkontaktD1 Mini + Reed-Kontakt~4 €⭐ Einsteiger
Schaltbare Steckdose mit RelayESP32 + 5V Relay-Modul~7 €⭐⭐ Mittel
Präsenzerkennung (mmWave)ESP32 + LD2410~12 €⭐⭐ Mittel

ESPHome-Sensoren lassen sich nahtlos in Home Assistant Automationen einbinden – z.B. Licht einschalten wenn der PIR-Sensor auslöst, oder Benachrichtigung wenn der CO2-Wert einen Grenzwert überschreitet.

Häufige Probleme und Lösungen

ProblemUrsacheLösung
ESP32 wird beim Flashen nicht erkanntKein CP2102/CH340-Treiber installiert oder USB-Kabel ohne DatenleitungenCP2102-Treiber installieren; Kabel mit Datenleitungen (nicht nur Ladekabel) verwenden
OTA-Flash schlägt fehlESP32 im gleichen WLAN-Subnetz wie HA? Firewall blockiert Port 3232?ESP32 und HA müssen im gleichen VLAN/Subnetz sein; Erstflash immer per USB
BME280 zeigt keine Werte (Sensor-Fehler)Falsche I2C-Adresse (0x76 vs 0x77) oder VerkabelungAdresse auf 0x77 ändern; SDA/SCL-Pins prüfen; 3.3V statt 5V verwenden
Gerät erscheint nicht in HAESPHome-Integration in HA nicht aktiv oder Gerät noch nicht im WLANEinstellungen → Geräte & Dienste → ESPHome-Integration hinzufügen; Gerätelogs im Device Builder prüfen
Kompilierung schlägt mit YAML-Fehler fehlEinrückungsfehler (YAML ist whitespace-sensitiv)Immer 2 Leerzeichen pro Einrückungsebene, keine Tabs; Log-Ausgabe im Device Builder lesen

ESPHome vs. fertige Zigbee-Sensoren

Ihr fragt euch vielleicht, wann ESPHome die bessere Wahl ist – und wann ihr lieber einen fertigen Zigbee-Sensor kaufen solltet:

KriteriumESPHome (DIY)Fertige Zigbee-Sensoren
Preis~5–10 € pro Sensor15–30 € pro Sensor
Einrichtungszeit30–60 Min. (erst)5–10 Min.
AnpassbarkeitUnbegrenzt (YAML)Eingeschränkt
Akku-BetriebMöglich (Deep Sleep)Ja, oft jahrelang
BastelaufwandNötigKeiner

Fazit: ESPHome lohnt sich, wenn ihr viele gleichartige Sensoren braucht, spezielle Messgrößen (CO2, Bodenfeuchtigkeit, mmWave-Präsenz) oder maximale Flexibilität wollt. Für schnellen Einstieg ohne Lötkolben sind fertige Zigbee-Sensoren wie die in unserem Artikel zu den besten Zigbee-Sensoren vorgestellten Modelle die bessere Wahl.

Häufige Fragen (FAQ)

Muss ich programmieren können, um ESPHome zu nutzen?

Nein. ESPHome nutzt YAML – das ist keine Programmiersprache, sondern eine strukturierte Konfigurationsdatei. Ihr beschreibt in einfachem Text, welche Sensoren vorhanden sind, und ESPHome erledigt den Rest. Für einfache Sensor-Projekte reicht Copy-Paste aus der Dokumentation vollständig aus.

Was ist der Unterschied zwischen ESP8266 (D1 Mini) und ESP32?

Der ESP32 ist leistungsfähiger: mehr GPIOs, schnellerer Prozessor, Bluetooth zusätzlich zu WLAN und mehr RAM. Für einfache Sensoren (Temperatur, Bewegung, Kontakt) reicht der günstigere D1 Mini (ESP8266) völlig. Für komplexere Projekte (mmWave, CO2 + Display, Relay-Steuerung) nehmt einen ESP32.

Funktioniert ESPHome auch ohne Home Assistant?

Ja – ESPHome-Geräte können auch direkt per MQTT kommunizieren oder eine eigene Web-UI anzeigen. Die nahtlose Integration in Home Assistant ist aber der Hauptvorteil: automatische Discovery, kein MQTT-Broker nötig, alle Sensoren erscheinen direkt als HA-Entitäten.

Wie viele ESPHome-Geräte kann ich parallel betreiben?

Praktisch unbegrenzt. Ein normaler Home-Assistant-Server auf Raspberry Pi 4 oder Home Assistant Green verwaltet problemlos 20–50 ESPHome-Geräte gleichzeitig. Die Geräte kommunizieren lokal im WLAN, jeder ESP braucht einen eigenen Platz im WLAN-Netz (IP-Adresse).

Ist ESPHome sicher? Die ESP-Geräte sind ja im Heimnetz.

ESPHome-Geräte kommunizieren ausschließlich lokal – keine Cloud, keine externen Server. Die API zwischen ESP und Home Assistant ist mit einem zufälligen Schlüssel verschlüsselt. Empfehlenswert ist ein separates IoT-VLAN für ESPHome-Geräte. Mehr dazu in unserem Artikel zum Thema Smart Home absichern.

Kann ich vorhandene Shelly-Geräte auf ESPHome flashen?

Ältere Shelly-Geräte (Shelly 1, 2.5, Plug S) basieren auf dem ESP8266 und können mit ESPHome geflasht werden – dann habt ihr volle YAML-Kontrolle. Shelly Gen2 und Gen3 laufen auf anderen Chips und sind nicht mehr mit ESPHome flashbar. Für aktuelle Shelly-Geräte ist die native Shelly Home Assistant Integration die bessere Wahl.

Ähnliche Beiträge