ESPHome

ESPHome installieren und den ersten ESP32 einrichten

Ein ESP32 kostet weniger als ein Mittagessen und wird mit ESPHome zu einem vollwertigen Smart-Home-Gerät. Dieser Artikel führt vom leeren Board bis zum fertigen Sensor in Home Assistant. Rechne mit etwa einer Stunde beim ersten Mal, danach dauert dasselbe keine zehn Minuten mehr.

Was du brauchst

  • Ein ESP32-Entwicklerboard mit USB-Anschluss. Gängige Modelle wie das ESP32 DevKitC oder ein Board mit ESP32-C3 oder C6 kosten fünf bis zwölf Euro. Für den Anfang tut es das billigste mit USB-C.
  • Ein USB-Datenkabel. Das ist die häufigste Stolperfalle überhaupt. Viele mitgelieferte Kabel führen nur Strom und keine Daten. Das Board leuchtet dann zwar, wird vom Rechner aber nie erkannt.
  • Home Assistant, wenn das Gerät später dort erscheinen soll. Zwingend ist das nicht, ESPHome läuft auch allein.
  • Optional einen Sensor, etwa einen BME280 für Temperatur, Luftfeuchte und Luftdruck. Der kostet um die drei Euro und wird über vier Kabel angeschlossen.

Schritt 1: ESPHome installieren

Es gibt vier Wege, und die Wahl hängt davon ab, was du ohnehin betreibst.

Als Home-Assistant-Add-on

Der bequemste Weg für alle mit Home Assistant OS oder Supervised. Unter Einstellungen > Add-ons > Add-on-Store findest du den ESPHome Device Builder. Nach der Installation die Optionen Im Seitenmenü anzeigen und Automatisch starten aktivieren, dann auf Starten.

Danach taucht ESPHome in der linken Leiste von Home Assistant auf. Die Konfigurationsdateien landen im Ordner esphome neben der configuration.yaml.

Als Desktop-Programm

Neu und für Einsteiger ohne Home Assistant die einfachste Lösung: Es gibt fertige Installationsprogramme für Windows, macOS und Linux. Windows braucht mindestens Version 10, unter Linux stehen .deb, .rpm und AppImage bereit. Python bringt das Paket mit, es muss also nichts vorbereitet werden.

Per Docker

Für alle, die ohnehin einen Server betreiben:

docker run --rm --net=host -v "${PWD}":/config -it ghcr.io/esphome/esphome

Die Oberfläche läuft danach auf Port 6052. Wo Host-Networking nicht verfügbar ist, etwa bei Docker Desktop, stattdessen -p 6052:6052 verwenden.

Über die Kommandozeile

Wer lieber im Terminal arbeitet, braucht Python 3.12 oder neuer:

pip install "esphome-device-builder[esphome]"
esphome-device-builder config

Nur die Kommandozeile ohne Weboberfläche geht auch:

pip install esphome
esphome run wohnzimmer.yaml

Auf Linux-Distributionen, die fremde Pakete im Systempython blockieren, gehört das Ganze in eine virtuelle Umgebung.

Schritt 2: Das erste Gerät anlegen

Beim ersten Start ist die Oberfläche leer und bietet Create device an. Der Assistent fragt nacheinander ab:

  1. Name des Geräts. Kleinbuchstaben und Bindestriche, zum Beispiel wohnzimmer-sensor. Daraus entsteht später auch der Netzwerkname.
  2. Die Platine. Der Katalog listet die gängigen Boards. Wenn du unsicher bist, hilft der Aufdruck auf dem Board weiter, oder du wählst die generische Variante für deinen Chip.
  3. WLAN-Zugangsdaten. Ohne die kommt das Gerät später nicht ins Netz.

Der Assistent legt daraufhin eine Konfigurationsdatei an und erzeugt automatisch einen Verschlüsselungsschlüssel für die Verbindung zu Home Assistant. Den brauchst du gleich noch, er steht in der Datei unter api:.

Seit dem Device Builder 1.0 aus dem Release 2026.6 ist die Oberfläche visuell aufgebaut. Du wählst Bauteile aus einem Katalog und bekommst die passenden Anschlüsse vorgeschlagen, statt Datenblätter zu wälzen. Die YAML-Ansicht bleibt jederzeit über den Editor erreichbar.

Schritt 3: Das erste Flashen per USB

Die erste Installation muss über Kabel laufen, danach nie wieder.

Stecke das Board an den Rechner, auf dem der Browser läuft. Öffne die Konfiguration, klicke auf Install und wähle Plug into this computer. Der Browser fragt nach dem seriellen Anschluss, du wählst ihn aus, und der Rest passiert von allein.

Wichtig dabei: Das Flashen aus dem Browser funktioniert nur mit Chrome oder Edge, weil Firefox und Safari die serielle Schnittstelle nicht unterstützen.

Falls kein Anschluss zur Auswahl steht, fehlt meistens der Treiber für den USB-Chip auf dem Board. Welcher es ist, steht auf dem kleinen Baustein neben der Buchse. Verbreitet sind CH340 und CP2102, die Treiber gibt es beim jeweiligen Hersteller. Nach der Installation den Rechner neu starten und erneut versuchen.

Manche Boards wollen von Hand in den Programmiermodus versetzt werden. Dazu hältst du die Taste BOOT gedrückt, steckst das Kabel ein und lässt die Taste nach ein paar Sekunden los.

Der erste Übersetzungslauf dauert mehrere Minuten, auf einem kleinen Raspberry Pi auch mal deutlich länger. Danach greift ein Zwischenspeicher, und weitere Durchläufe gehen wesentlich schneller.

Schritt 4: Das Gerät in Home Assistant aufnehmen

Sobald das Board im WLAN ist, meldet Home Assistant meist von selbst ein neu gefundenes Gerät. Du bestätigst die Einrichtung und fügst den Verschlüsselungsschlüssel ein, den ESPHome erzeugt hat.

Passiert nichts, blockiert das Netzwerk vermutlich mDNS. Dann gehst du auf Einstellungen > Geräte & Dienste > Integration hinzufügen, suchst nach ESPHome und trägst den Namen von Hand ein, also zum Beispiel wohnzimmer-sensor.local. Wenn auch das scheitert, hilft die IP-Adresse aus der Geräteliste des Routers.

Schritt 5: Zugangsdaten auslagern

Sobald das zweite Gerät dazukommt, willst du das WLAN-Passwort nicht in jeder Datei stehen haben. ESPHome kennt dafür eine zentrale secrets.yaml:

wifi_ssid: "MeinWLAN"
wifi_password: "gutespasswort"

In der Gerätekonfiguration wird daraus:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Das spart nicht nur Tipparbeit. Beim WLAN-Wechsel änderst du eine Zeile statt zwanzig Dateien.

Schritt 6: Den Notfall-Hotspot einrichten

Diese Zeilen gehören in jede Konfiguration, bevor das Board hinter der Wand verschwindet:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Wohnzimmer Fallback"
    password: "notfallzugang"

captive_portal:

Kommt das Gerät nach 90 Sekunden nicht ins WLAN, spannt es ein eigenes Netz auf. Du verbindest dich mit dem Handy und trägst über eine kleine Webseite neue Zugangsdaten ein. Ohne diesen Rettungsanker bleibt nach einem Routerwechsel nur der Griff zum USB-Kabel.

Ergänzend lohnt sich eine feste IP-Adresse, weil das Gerät dann schneller online ist und die Namensauflösung nicht mehr stört:

wifi:
  manual_ip:
    static_ip: 192.168.1.50
    gateway: 192.168.1.1
    subnet: 255.255.255.0

Schritt 7: Den ersten Sensor anschließen

Ein BME280 wird über vier Leitungen verbunden. VCC an 3,3 Volt, GND an Masse, SDA und SCL an zwei freie Anschlüsse, häufig GPIO21 und GPIO22.

Wichtig: 3,3 Volt, nicht 5. Die höhere Spannung zerstört den Chip.

In der Konfiguration kommen zwei Abschnitte dazu:

i2c:
  sda: GPIO21
  scl: GPIO22

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

Ein Klick auf Install, und diesmal läuft die Übertragung drahtlos. Nach dem Neustart erscheinen die drei Werte automatisch als Entitäten in Home Assistant. Ein Klick auf Speichern und Installieren ist ab jetzt alles, was eine Änderung braucht.

Die häufigsten Stolperfallen

  • Ladekabel statt Datenkabel. Nummer eins mit Abstand. Wenn kein Anschluss auftaucht, zuerst ein anderes Kabel probieren.
  • Fehlender USB-Treiber. Betrifft vor allem Windows und günstige Boards mit CH340.
  • Falscher Browser. Firefox und Safari können nicht flashen, Chrome und Edge schon.
  • 5-GHz-WLAN. Die Chips funken ausschließlich auf 2,4 GHz. In einem Mesh-Netz mit gemeinsamer Kennung klappt das meist trotzdem, sonst braucht es ein eigenes Netz für die 2,4-GHz-Geräte.
  • Zu schwache Stromversorgung. Am USB-Anschluss eines Monitors oder Hubs starten manche Boards beim Flashen neu. Direkt am Rechner oder an einem ordentlichen Netzteil ist es stabiler.
  • Einrückung in der YAML-Datei. Zwei Leerzeichen pro Ebene, keine Tabulatoren. Die Fehlermeldung nennt die betroffene Zeile.

Wie es weitergeht

Das erste Gerät ist der aufwendigste Teil. Für das zweite kopierst du die Konfiguration, änderst den Namen und bist in Minuten fertig.

Naheliegende nächste Schritte: ein Bluetooth-Proxy, der Home Assistant Zugriff auf Bluetooth-Geräte im ganzen Haus gibt, ein Relais für die Gartenbewässerung oder ein Lesekopf am Stromzähler. Alles bleibt lokal, ohne Konto und ohne Anbieter, der den Dienst irgendwann abschaltet.


Transparenzhinweis KI

Auf dieser Website werden vereinzelt Texte, Bilder und Grafiken mit Unterstützung künstlicher Intelligenz erstellt oder bearbeitet. Alle Inhalte werden vor der Veröffentlichung sorgfältig geprüft, redaktionell überarbeitet und verantwortet.

Transparenzhinweis: Die Amazon-Links in diesem Artikel sind Partnerlinks. Wenn Sie darüber bestellen, erhalten wir eine kleine Provision. Für Sie ändert sich am Preis nichts.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert