Erste Schritte mit dem ESP32: Installation, WLAN und Bluetooth in ESPHome
Der ESP32 ist ein kompakter und vergleichsweise günstiger Mikrocontroller, der sich für viele Smart-Home-Projekte eignet. Mit ESPHome lässt sich das Board ohne eigene C++-Programmierung in Home Assistant einbinden. Diese Anleitung richtet sich an Einsteiger und führt Schritt für Schritt durch die Ersteinrichtung, die WLAN-Konfiguration und zeigt, wie man optional einen Bluetooth-Proxy aktiviert.
Die ESPHome-App in Home Assistant installieren
Bevor wir den ESP32 einrichten, installieren wir den ESPHome Device Builder. Unter Home Assistant OS kann er direkt über den App Store hinzugefügt werden.
Die Installation der ESPHome-App ist unkompliziert und erfolgt direkt über die Weboberfläche:
- In der linken Seitenleiste von Home Assistant zu Einstellungen navigieren.
- Den Menüpunkt Apps öffnen.
- Unten rechts auf die Schaltfläche App Store klicken.
- In das Suchfeld „ESPHome“ eintippen und den offiziellen Eintrag (ESPHome Device Builder) auswählen.
- Auf Installieren klicken und den Vorgang abwarten. Dies kann je nach verwendeter Hardware des Home-Assistant-Servers einige Minuten dauern.
- Nach der erfolgreichen Installation die Schalter für Beim Booten starten, Watchdog sowie In der Seitenleiste anzeigen aktivieren.
- Zuletzt auf Starten klicken.
Sobald die App läuft, erscheint in der linken Seitenleiste der Eintrag „ESPHome“. Darüber öffnest du den ESPHome Device Builder und verwaltest deine ESPHome-Geräte und deren Konfigurationen.
Benötigte Hardware und Vorbereitung
Um das Projekt fortzusetzen, benötigen wir neben der nun laufenden ESPHome-App lediglich den Mikrocontroller selbst und ein passendes Verbindungskabel (Datenkabel).
Das ESP32 NodeMCU Board im Detail
Für diese Anleitung verwenden wir ein ESP32 NodeMCU Development Board* (Werbung). Dieses Board vereint alle wichtigen Komponenten auf einer kleinen Platine. Das Herzstück ist der eigentliche ESP32-Chip, der für die Berechnungen sowie die WLAN- und Bluetooth-Funkverbindungen zuständig ist. Zusätzlich ist auf dem Board ein sogenannter CH340-Chip verbaut. Dieser Chip fungiert als Übersetzer zwischen dem USB-C-Anschluss und dem ESP32, damit der Computer per Kabel mit dem Mikrocontroller kommunizieren kann.
Da der CH340-Chip von Haus aus nicht auf jedem Betriebssystem sofort erkannt wird, muss unter Windows gelegentlich noch ein Treiber installiert werden. Aktuelle Versionen von Windows 10 und 11 laden den Treiber oft automatisch über das Windows Update herunter. Linux und aktuelle macOS-Versionen erkennen den Chip in der Regel vollautomatisch.
- Prüfe zuerst unter Windows Update > Erweiterte Optionen > Optionale Updates, ob dir der Treiber dort zur Installation angeboten wird.
- Alternativ kannst du den Treiber direkt beim Chiphersteller herunterladen: Offizieller WCH-Treiber (CH341SER.EXE). Lade die Datei herunter, starte sie und klicke einfach auf Install.
Den ESP32 flashen und mit dem WLAN verbinden
Bevor der ESP32 genutzt werden kann, muss eine grundlegende Software (Firmware) aufgespielt werden. Dieser Vorgang wird „Flashen“ genannt. Der einfachste Weg führt heute direkt über den Webbrowser (WebUSB). Dafür wird zwingend ein Chromium-basierter Browser wie Google Chrome, Microsoft Edge oder Brave benötigt.
Der erste Flash-Vorgang über den Browser
Verbinde das Board per USB-Kabel mit deinem Computer. Öffne anschließend die offizielle Webseite web.esphome.io.
Die Schritte für den Flash-Vorgang und die WLAN-Einrichtung:
- Klicke auf der Webseite auf die Schaltfläche Connect.
- Es öffnet sich ein kleines Browser-Fenster. Wähle hier den passenden COM-Port deines ESP32 aus und klicke auf Verbinden.
- Sobald die Verbindung steht, klicke im Steuerungsfenster auf PREPARE FOR FIRST USE. Das Web-Tool bereitet den ESP32 vor und installiert eine grundlegende ESPHome-Firmware. Der Vorgang kann einige Minuten dauern.
- Nachdem die Installation abgeschlossen ist, öffnet sich automatisch ein neues Fenster. Klicke hier auf CONNECT TO WI-FI.
- Wähle dein WLAN-Netzwerk aus der Liste aus, gib dein WLAN-Passwort ein und bestätige die Eingabe. Der Browser überträgt die Zugangsdaten auf das Board. Sobald die erfolgreiche Verbindung bestätigt wird, kannst du das Fenster über CLOSE schließen.
Das Gerät in die lokale ESPHome-App übernehmen
Nachdem das Board erfolgreich mit deinem WLAN verbunden wurde, wechselst du zurück in deine Home-Assistant-Oberfläche und öffnest dort die installierte ESPHome-App über die linke Seitenleiste.
Befinden sich der ESP32 und der Home-Assistant-Server im selben Netzwerk, sollte der Device Builder das Gerät automatisch erkennen. In diesem Fall erscheint es im Bereich DISCOVERED.
- Klicke auf der Karte des neu erkannten Geräts auf TAKE CONTROL.
- Es öffnet sich ein Dialogfenster. Vergib unter New Name einen passenden, eindeutigen Namen für das Gerät, beispielsweise wohnzimmer-led.
- Falls du nach Network name und Password gefragt wirst, trage die Zugangsdaten deines WLANs ein. Der Device Builder legt sie als Secrets ab und verwendet sie beim Erstellen der Gerätekonfiguration.
- Bestätige den Vorgang. Nach der Erstellung der Konfiguration erscheint der Hinweis „Configuration created“. Klicke hier auf Install.
Die App kompiliert nun die fertige Konfiguration und überträgt sie auf den ESP32. Nach dem erfolgreichen Flash-Vorgang startet der Mikrocontroller neu und öffnet automatisch das Live-Protokoll (Log). Sobald das Gerät wieder erreichbar ist und im Protokoll eine erfolgreiche Initialisierung meldet, ist die Installation abgeschlossen:
[18:37:08.475][I][safe_mode:142]: Boot seems successful; resetting boot loop counter
[18:37:11.643][D][preferences:148]: Writing 1 items: 0 cached, 1 written, 0 failed
[18:41:12.947][D][wifi:2439]: Roam scan (-62 dBm, attempt 1/3)
Der Eintrag Boot seems successful zeigt, dass ESPHome den Startvorgang als erfolgreich bewertet. Das Live-Protokoll wird anschließend fortlaufend aktualisiert. Das Installationsfenster kann an dieser Stelle über die Schaltfläche CLOSE geschlossen werden.
Optional: Die Konfiguration anpassen
Um zukünftige Anpassungen vorzunehmen oder Funktionen hinzuzufügen, nutzt ESPHome eine einfache Textdatei im YAML-Format. Bei YAML müssen Einrückungen mit Leerzeichen korrekt gesetzt sein, da sie die Struktur der Konfiguration festlegen. Da das Gerät nun erfolgreich übernommen wurde, kannst du die Datei jederzeit einsehen.
Klicke bei dem Gerät im ESPHome-Dashboard auf Edit, um dir die automatisch erstellte Konfiguration anzusehen. Sie sieht im Kern wie folgt aus:
esphome:
name: esphome-web-e2e014
friendly_name: led
min_version: 2026.4.0
name_add_mac_suffix: false
esp32:
variant: esp32
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Optional: Den ESP32 als Bluetooth-Proxy nutzen
Der ESP32 kann optional als Bluetooth-Proxy eingesetzt werden. Er empfängt Bluetooth-Low-Energy-Signale in seiner Umgebung und stellt sie Home Assistant über das Netzwerk zur Verfügung. Dadurch lässt sich die Bluetooth-Abdeckung beispielsweise in weiter entfernte Räume erweitern.
Diese Funktion ist optional. Wenn du sie bei Bedarf aktivieren möchtest, fügst du einfach diese Zeilen ganz unten an deine bestehende YAML-Konfiguration (über den Edit-Button) an:
# Aktiviert das Scannen nach Bluetooth-Geräten
esp32_ble_tracker:
# Aktiviert die Weiterleitung an Home Assistant
bluetooth_proxy:
active: true
Klicke nach dem Einfügen oben rechts auf Install und wähle Wirelessly (drahtlos). ESPHome übersetzt die Datei nun und spielt das Update über das WLAN auf deinen ESP32 auf.
Die Funktion des Bluetooth-Proxys überprüfen
Nachdem das Update aufgespielt wurde, lässt sich die erfolgreiche Aktivierung des Bluetooth-Proxys direkt über das Live-Protokoll (Logs) im ESPHome-Dashboard überprüfen. Sobald das Gerät neu startet, gibt der Mikrocontroller die Konfiguration der einzelnen Komponenten aus. Die entscheidenden Zeilen sehen wie folgt aus:
[19:22:13.675][C][bluetooth_proxy:117]: Bluetooth Proxy:
[19:22:13.675][C][bluetooth_proxy:117]: Active: YES
[19:22:13.675][C][bluetooth_proxy:117]: Connections: 3
[19:22:13.713][C][esp32_ble_tracker:702]: BLE Tracker:
[19:22:13.772][C][esp32_ble_tracker:711]: Scanner State: RUNNING
Der Eintrag Active: YES zeigt, dass aktive Bluetooth-Verbindungen unterstützt werden. Scanner State: RUNNING bestätigt, dass der BLE-Scanner läuft. Connections: 3 bezeichnet dabei die konfigurierten Verbindungsslots und nicht zwingend drei aktuell verbundene Geräte.
Den ESP32 in Home Assistant integrieren
Nachdem der ESP32 im WLAN ist und vom Device Builder verwaltet wird, muss er noch über die ESPHome-Integration zu Home Assistant hinzugefügt werden. Anschließend stellt Home Assistant die in ESPHome konfigurierten Entitäten automatisch bereit.
- Navigiere in Home Assistant zu Einstellungen und dann auf Geräte & Dienste.
- Meistens wird das neue ESPHome-Gerät ganz oben bereits automatisch als „Erkannt“ angezeigt. Klicke einfach auf Konfigurieren.
- Sollte das Gerät nicht automatisch auftauchen, klicke unten rechts auf Integration hinzufügen, suche nach ESPHome und gib als Adresse den vergebenen Namen ein oder die IP-Adresse, die dem Board von deinem Router zugewiesen wurde.
Nach der Bestätigung ist das ESPHome-Gerät in Home Assistant eingebunden. Sensoren, LEDs oder Relais können anschließend in der YAML-Konfiguration ergänzt werden.
Bei aktiviertem Bluetooth-Proxy wird der ESP32 außerdem unter Einstellungen > Geräte & Dienste in der Bluetooth-Integration aufgeführt.
Weiterführende Praxisprojekte
Aufbauend auf dieser Ersteinrichtung können verschiedene Hardware-Komponenten und Sensoren an den Mikrocontroller angebunden werden. Bisher dokumentierte Projekte:
Schritt-für-Schritt-Anleitung zum Anschluss mehrerer RGB-LED-Module mittels G-V-S Expansion Board und der Erstellung individueller Lichteffekte in ESPHome.
Schritt-für-Schritt-Anleitung zum Anschluss wasserdichter DS18B20-Sensoren und zum Auslesen mehrerer Fühler über den 1-Wire-Bus in ESPHome.
Schritt-für-Schritt-Anleitung zum Anschluss eines mechanischen Schwimmschalters. Erfahre, wie du einen definierten Wasserstand überwachst, mehrere Schalter für eine Min/Max-Erkennung kombinierst und kurze Zustandswechsel durch Wellenbewegungen filterst.
Schritt-für-Schritt-Anleitung zur Einbindung des GPS-Moduls BE-220 in ESPHome und Visualisierung der Standortdaten in Home Assistant.
Schritt-für-Schritt-Anleitung zum Anschluss des wasserdichten Ultraschallsensors JSN-SR04T an einen ESP32 sowie zur Konfiguration der Entfernungsmessung in ESPHome.