ESP32 mit ESPHome in Home Assistant einbinden

ESP32 mit ESPHome flashen und als Sensor in Home Assistant nutzen. Komplette Anleitung für Einsteiger — vom Flash bis zur Automation.

Stand
Erstellt
Lesezeit
9 Min.
Blatt
2 von 52
Thema
ESPHome
ESP32 mit ESPHome in Home Assistant einbinden

Werbung / Affiliate-Links: Mit * markierte Links sind Affiliate-Links. Beim Kauf über diese Links erhalten wir eine kleine Provision — für dich ändert sich am Preis nichts. Als Amazon-Partner verdienen wir an qualifizierten Verkäufen.

Der ESP32 ist das Schweizer Taschenmesser für jedes Smart Home. Für ein paar Euro bekommst du einen WLAN-fähigen Mikrocontroller, der Temperatur messen, Relais schalten, Bewegungen erkennen oder Licht steuern kann. In Kombination mit ESPHome und Home Assistant wird daraus ein vollwertiges Smart-Home-Gerät — ganz ohne Programmieren. (Übrigens: Ob WLAN, Zigbee oder Z-Wave das bessere Protokoll für dein Setup ist, zeigt unser Smart-Home-Protokoll-Vergleich.)

In diesem Guide nehmen wir dich mit: vom Auspacken bis zum fertigen Sensor in Home Assistant, inklusive Verkabelung, Konfiguration und erster Automation.

Was ist ESPHome?

ESPHome ist ein Open-Source-Tool, das ESP32- und ESP8266-Mikrocontroller per YAML-Konfiguration in Smart-Home-Geräte verwandelt. Du beschreibst in einer einfachen Textdatei, welche Sensoren und Aktoren angeschlossen sind, und ESPHome erzeugt daraus eine fertige Firmware.

Warum ESPHome statt Arduino IDE?

  • Kein C++ nötig — nur YAML-Konfiguration
  • Automatische Home-Assistant-Integration — Geräte erscheinen sofort als Entitäten
  • Over-the-Air-Updates — nach dem ersten Flash kein USB-Kabel mehr nötig
  • Hunderte unterstützte Komponenten — Sensoren, Displays, LEDs, Relais, Motoren
  • Konfiguration statt Programmierung — Änderungen in Sekunden, kein Kompilieren von Hand

Was du brauchst

KomponenteWozu
ESP32 DevKit (V1 oder Dev Kit C)Der Mikrocontroller selbst
USB-Kabel (Micro-USB oder USB-C)Zum Flashen und Stromversorgung
DHT22 oder BME280 SensorTemperatur & Luftfeuchtigkeit messen
Breadboard + Jumper-KabelZum Verbinden ohne Löten
Computer mit Chrome/EdgeZum Flashen über den Browser (Web Serial)

AZDelivery ESP32 Dev Kit C auf Amazon* (Affiliate-Link) | DHT22 Sensor auf Amazon* (Affiliate-Link) | Breadboard + Jumper-Set* (Affiliate-Link)

Gesamtkosten: rund 20 € für deinen ersten DIY-Sensor. Zum Vergleich: Ein kommerzieller Zigbee-Temperatursensor kostet 15-25 € — und kann weniger.

Welchen ESP32 kaufen?

Es gibt verschiedene ESP32-Boards. Für den Einstieg empfehlen wir:

  • ESP32 DevKit (V1 oder Dev Kit C) — der Standard. Günstig, gut dokumentiert, überall erhältlich. Beide Varianten nutzen das ESP32-WROOM-Modul und lassen sich in ESPHome gleich konfigurieren
  • ESP32-S3 — neuer, mehr GPIOs, USB-C, Bluetooth 5.0 — für anspruchsvollere Projekte
  • ESP32-C3 — kleiner, günstiger, weniger GPIOs — für einfache Sensoren

Finger weg von:

  • Boards ohne CE-Kennzeichnung oder Markennamen
  • ESP8266 (Vorgänger) — weniger RAM, weniger GPIOs, kein Bluetooth. Funktioniert, aber der ESP32 kostet kaum mehr

Schritt 1: ESPHome App in Home Assistant installieren

Hinweis: Die folgenden Schritte setzen Home Assistant OS oder Supervised voraus. Bei HA Core oder Container wird ESPHome separat als Docker-Container oder per pip installiert — siehe ESPHome Getting Started.

  1. Öffne Home Assistant → Einstellungen → Apps (Menüpfade können je nach HA-Version leicht abweichen)
  2. Klicke auf App Store (unten rechts)
  3. Suche nach „ESPHome”
  4. Klicke auf Installieren — das dauert 1-2 Minuten
  5. Klicke auf Starten
  6. Aktiviere „In der Seitenleiste anzeigen” (unter Info)

Das ESPHome-Dashboard erscheint jetzt in deiner Home-Assistant-Seitenleiste. Hier verwaltest du alle deine ESP-Geräte.

Schritt 2: Neues Gerät anlegen

  1. Öffne das ESPHome-Dashboard in der Seitenleiste
  2. Klicke auf „+ New Device” (oben rechts)
  3. Vergib einen sprechenden Namen, z.B. wohnzimmer-sensor
  4. Wähle ESP32 als Plattform
  5. Das WLAN wird im Wizard abgefragt (oder aus deinen ESPHome-Secrets übernommen)
  6. ESPHome erstellt eine Basis-Konfiguration

Naming-Tipp: Verwende raum-funktion als Schema (z.B. kueche-temperatur, flur-bewegung, balkon-sensor). Das hält alles übersichtlich, auch wenn du später 10+ Geräte hast.

Schritt 3: Sensor konfigurieren

Öffne die Konfiguration deines neuen Geräts (Klick auf EDIT) und ergänze den Sensor.

Variante A: DHT22 (Temperatur + Luftfeuchtigkeit)

Der DHT22 ist der einfachste Einstieg — ein Pin, fertig:

sensor:
  - platform: dht
    pin: GPIO4
    model: DHT22
    temperature:
      name: "Wohnzimmer Temperatur"
      filters:
        - offset: -1.0  # Kalibrierung, falls der Sensor leicht daneben liegt
    humidity:
      name: "Wohnzimmer Luftfeuchtigkeit"
    update_interval: 60s

Variante B: BME280 (Temperatur + Luftfeuchtigkeit + Luftdruck)

Der BME280 ist genauer und liefert zusätzlich den Luftdruck. Er nutzt I2C (zwei Datenleitungen):

i2c:
  sda: GPIO21
  scl: GPIO22

sensor:
  - platform: bme280_i2c
    temperature:
      name: "Wohnzimmer Temperatur"
      oversampling: 16x
    humidity:
      name: "Wohnzimmer Luftfeuchtigkeit"
    pressure:
      name: "Wohnzimmer Luftdruck"
    update_interval: 60s
    address: 0x77  # ESPHome-Default ist 0x77; viele Breakouts laufen auf 0x76 — ggf. mit i2c scan: true testen

Bonus: Status-LED und Neustarten per HA

Füge noch einen Neustart-Button und eine Status-LED hinzu. Wichtig: sensor: darf in der Konfiguration nur einmal vorkommen. Die beiden Diagnose-Sensoren hängst du deshalb als weitere Listeneinträge unter deinen bestehenden sensor:-Block — ein zweiter sensor:-Schlüssel führt zu einem Fehler beim Validieren:

# Status-LED (bei DevKit-V1-Boards meist an GPIO2 — prüfe dein Board,
# das originale Espressif-DevKitC hat nur eine Power-LED)
status_led:
  pin: GPIO2

# Neustart-Button in Home Assistant
button:
  - platform: restart
    name: "Wohnzimmer Sensor Neustart"

# Diagnostik-Sensoren: nicht als zweiten sensor:-Block anlegen,
# sondern unter den bestehenden sensor:-Eintrag aus Variante A/B hängen
sensor:
  - platform: wifi_signal
    name: "Wohnzimmer WLAN Signal"
    update_interval: 120s
  - platform: uptime
    name: "Wohnzimmer Sensor Laufzeit"

Schritt 4: Firmware flashen

Erster Flash (per USB)

  1. Verbinde den ESP32 per USB mit deinem Computer
  2. Klicke im ESPHome-Dashboard auf die drei Punkte neben deinem Gerät → Install
  3. Wähle „Plug into this computer”
  4. Dein Browser erkennt den ESP32 über Web Serial (Chrome oder Edge erforderlich — Firefox unterstützt WebSerial aktuell nicht)
  5. Wähle den richtigen COM-Port und klicke Connect
  6. Die Firmware wird kompiliert und geflasht — das dauert 1-3 Minuten

Treiber-Problem? Wenn dein ESP32 nicht erkannt wird, brauchst du möglicherweise den CH340- oder CP2102-USB-Treiber. Google nach deinem Board + „USB driver” — das sind 2 Minuten.

Alle weiteren Updates per OTA

Nach dem ersten Flash verbindet sich der ESP32 mit deinem WLAN. Ab jetzt flashst du kabellos:

  • Im ESPHome-Dashboard auf Install → Wirelessly klicken
  • Das Update wird über WLAN übertragen
  • Kein Aufstehen, kein Kabel, kein Umstecken

Das ist der Moment, ab dem ESP32-Projekte wirklich Spaß machen.

Schritt 5: In Home Assistant einbinden

Nach dem Flash meldet sich der ESP32 automatisch bei Home Assistant an:

  1. Gehe zu Einstellungen → Geräte & Dienste
  2. Der ESP32 erscheint unter „Entdeckt” (kann 1-5 Minuten dauern)
  3. Klicke auf Konfigurieren → Encryption Key bestätigen → fertig!

Deine Sensordaten erscheinen sofort als Entitäten. Du findest sie unter Geräte → dein Gerätename.

Schritt 6: Erste Automation erstellen

Jetzt wird’s spannend. Erstelle eine Automation, die dich warnt, wenn die Luftfeuchtigkeit zu hoch ist (Schimmelgefahr!):

Über die UI:

  1. Einstellungen → Automatisierungen → Neue Automation
  2. Auslöser: Numerischer Zustand → Wohnzimmer Luftfeuchtigkeit → über 65% → für mindestens 10 Minuten
  3. Aktion: Benachrichtigung an dein Handy → „ Luftfeuchtigkeit im Wohnzimmer bei {{ states(‘sensor.wohnzimmer_luftfeuchtigkeit’) }}% — lüften!”
  4. Speichern

Oder als YAML:

automation:
  - alias: "Hohe Luftfeuchtigkeit Warnung"
    triggers:
      - trigger: numeric_state
        entity_id: sensor.wohnzimmer_luftfeuchtigkeit
        above: 65
        for:
          minutes: 10
    actions:
      - action: notify.mobile_app_dein_handy
        data:
          title: "Lüften!"
          message: "Luftfeuchtigkeit im Wohnzimmer: {{ states('sensor.wohnzimmer_luftfeuchtigkeit') }}%"

Mehr Automationsideen findest du in unserem Automationen-Guide für Anfänger.

Verkabelung

DHT22 am ESP32

DHT22          ESP32
------         ------
VCC    →       3.3V
DATA   →       GPIO4
GND    →       GND

Ein 10kΩ Pull-up-Widerstand zwischen VCC und DATA wird empfohlen, ist bei vielen DHT22-Breakout-Modulen aber bereits eingebaut (erkennbar am kleinen SMD-Widerstand auf der Platine).

BME280 am ESP32 (I2C)

BME280         ESP32
------         ------
VIN    →       3.3V
GND    →       GND
SCL    →       GPIO22
SDA    →       GPIO21

I2C-Tipp: Über I2C kannst du mehrere Sensoren an den gleichen zwei Pins hängen — jeder hat eine eigene Adresse. Keine zusätzlichen GPIOs nötig.

Troubleshooting

ESP32 verbindet sich nicht mit dem WLAN

  • SSID und Passwort korrekt? Prüfe die YAML-Config (Sonderzeichen in Anführungszeichen setzen)
  • 2.4 GHz WLAN? Die gängigen ESP32-DevKit- und WROOM-Boards unterstützen nur 2.4 GHz — stelle sicher, dass dein Router ein 2.4-GHz-Netz sendet
  • WLAN-Reichweite? Der ESP32 hat eine ordentliche Reichweite, aber bei dicken Betonwänden hilft ein Repeater

Sensor zeigt falsche Werte

  • Kalibrierung: DHT22-Sensoren haben laut Datenblatt eine Toleranz von ±0.5°C. Nutze den offset-Filter in der YAML-Config
  • Platzierung: Nicht direkt neben der Heizung, nicht in der prallen Sonne, nicht direkt am ESP32 (der erzeugt selbst Wärme)
  • BME280 I2C-Adresse: Der ESPHome-Default ist 0x77, viele Breakout-Module nutzen aber 0x76. Wenn nichts angezeigt wird, die andere Adresse probieren oder i2c: scan: true in die Config aufnehmen

Gerät erscheint nicht in Home Assistant

  • Gleiches Netzwerk? ESP32 und Home Assistant müssen im gleichen Subnetz sein
  • mDNS blockiert? Manche Router blockieren mDNS. Dann die IP-Adresse manuell in der ESPHome-Integration eingeben
  • Firewall? Port 6053 (ESPHome API) muss erreichbar sein

Tipps für den Alltag

  • Mehrere Sensoren an einem ESP32: Du kannst problemlos 5-10 Sensoren an einen einzigen ESP32 hängen — ein Board pro Raum reicht oft
  • Stromversorgung: Ein USB-Netzteil mit 5V/1A reicht aus. Für dauerhafte Installationen ein kurzes USB-Kabel und ein solides Netzteil nehmen
  • Gehäuse: Auf Thingiverse und Printables findest du druckbare Gehäuse für ESP32 + Sensor-Kombinationen. Oder einfach eine kleine Dose aus dem Baumarkt
  • Benennung: Konsistente Namen machen das Leben leichter, wenn du 10+ Geräte hast
  • Backup: Die YAML-Configs werden im ESPHome-Dashboard gespeichert, aber ein Backup von Home Assistant sichert sie mit ab (Backup-Guide)

Projektideen für Fortgeschrittene

Wenn dein erster Sensor läuft, kommen die Ideen von allein:

  • Türkontakt-Sensor — Reed-Switch am GPIO, Binary Sensor in ESPHome → Benachrichtigung wenn die Haustür offen bleibt
  • Gegensprechanlage smart machen — Türsummer per ESP32 und Relais über Home Assistant steuern
  • Lichtsteuerung — Relais-Modul am ESP32 → Lampen schalten ohne teure Smart-Steckdosen
  • Pflanzensensor — kapazitiver Bodenfeuchtigkeitssensor → Warnung wenn die Pflanze Wasser braucht
  • Garagentor-Steuerung — Relais + Reed-Switch → Tor auf/zu über Home Assistant
  • LED-Streifen — WS2812B (NeoPixel) am ESP32 → RGB-Beleuchtung mit Effekten, direkt aus Home Assistant steuerbar

Weiterführende Artikel

Fazit

Für rund 20 € hast du deinen ersten DIY-Smart-Home-Sensor gebaut. Kein Cloud-Zwang, keine Abo-Gebühren, volle Kontrolle über deine Daten. Der ESP32 mit ESPHome ist der günstigste und flexibelste Weg ins Smart Home — und sobald der erste Sensor läuft, willst du mehr. Das ist garantiert.

Autor
Philipp
Themen
Home Assistant, ESP32, Zigbee

Schreibt über Home Assistant, ESP32 und alles, was das Smart Home smarter macht.

Dieser Artikel wurde mit KI-Unterstützung erstellt; Angaben werden gegen offizielle Dokumentation und Herstellerangaben geprüft. Wie die Artikel entstehen