ESP32 + BME280: Eigener Temperatur-, Luftfeuchte- und Luftdrucksensor für Home Assistant mit ESPHome

Ein Klimasensor für jeden Raum, ohne Cloud und ohne Batteriewechsel-Abo: Das geht mit einem ESP32 und einem BME280 für kleines Geld. ESPHome übernimmt die Firmware – man beschreibt den Sensor in ein paar Zeilen YAML, den Rest erledigt das Werkzeug. Am Ende liefert der Sensor Temperatur, Luftfeuchte und Luftdruck direkt an Home Assistant. Gearbeitet wird ausschließlich mit 3,3 Volt – keine Netzspannung, kein Löten nötig, wenn du ein Modul mit Stiftleiste nimmst.
Auf einen Blick
Dauer: ca. 45 Min. · Schwierigkeit: Einsteiger · Kosten: siehe Materialliste (Preise bei Amazon prüfen)
📦 Material (ohne Preisangaben – bitte bei Amazon prüfen)
- ESP32-Entwicklungsboard (Werbung)z. B. ESP32 DevKit C mit USB-Anschluss
- BME280-Sensormodul (Werbung)I²C-Version mit 3,3-V-Regler; Achtung: BMP280 misst keine Luftfeuchte
- 4 Jumperkabel Buchse-Buchse (Werbung)für VCC, GND, SDA, SCL
- USB-Kabel mit Datenleitungenreine Ladekabel funktionieren nicht
- Home Assistantmit installierter ESPHome-App (siehe Schritt 2)
- Optional: kleines Gehäusemit Lüftungsschlitzen, sonst misst der Sensor die Eigenwärme des ESP32
Schritt für Schritt
Sensor verkabeln
Vier Verbindungen, alle stromlos herstellen:
BME280 VCC/VIN → ESP32 3V3
BME280 GND → ESP32 GND
BME280 SDA → ESP32 GPIO21
BME280 SCL → ESP32 GPIO22
GPIO21 und GPIO22 sind die Standard-I²C-Pins des ESP32. Der BME280 verträgt maximal 3,6 V am Chip – Module mit eigenem Spannungsregler dürfen an 5 V, ohne Regler nur an 3V3. Im Zweifel 3V3 nehmen.
ESPHome in Home Assistant installieren
In Home Assistant unter Einstellungen → Apps → App-Store nach ESPHome suchen, installieren, starten und die Weboberfläche öffnen (Option „In der Seitenleiste anzeigen“ hilft). Das ist der ESPHome Device Builder, in dem alle Geräte verwaltet werden.
Neues Gerät anlegen
Klicke auf „New Device“, vergib einen Namen wie klima-wohnzimmer, wähle als Plattform
ESP32 und dein Board. WLAN-Name und Passwort landen in der Datei secrets.yaml, aus der alle
Geräte lesen. ESPHome erzeugt ein Grundgerüst mit esphome:, esp32:, wifi:,
api:, ota: und logger:.
Sensor in der YAML-Datei eintragen
Öffne die Konfiguration mit Edit und ergänze unter dem Grundgerüst den I²C-Bus und den Sensor. Der Abschnitt entspricht der offiziellen ESPHome-Doku:
i2c:
sda: GPIO21
scl: GPIO22
scan: true
id: bus_a
sensor:
- platform: bme280_i2c
i2c_id: bus_a
address: 0x76
update_interval: 60s
temperature:
name: "Wohnzimmer Temperatur"
oversampling: 16x
pressure:
name: "Wohnzimmer Luftdruck"
humidity:
name: "Wohnzimmer Luftfeuchte"
Die meisten günstigen Module melden sich unter 0x76; der Doku-Standard ist 0x77. Dank
scan: true listet das Log beim Start alle gefundenen Adressen – dann einfach die richtige eintragen.
Mit Save speichern.
Erstes Flashen per USB im Browser
Verbinde den ESP32 per USB mit dem Rechner, auf dem der Browser läuft. Klicke im Device Builder auf Install → Plug into this computer. Chrome oder Edge flashen über Web Serial direkt aus dem Browser – ohne Treiber-Installation. Beim ersten Mal kompiliert ESPHome die Firmware, das dauert einige Minuten. Danach startet der ESP32 neu und verbindet sich mit dem WLAN. Alle weiteren Updates laufen drahtlos (OTA).
Gerät in Home Assistant übernehmen
Home Assistant entdeckt das Gerät meist von selbst: Unter Einstellungen → Geräte & Dienste erscheint
eine ESPHome-Meldung – Konfigurieren klicken. Alternativ Integration ESPHome manuell hinzufügen und den
Hostnamen klima-wohnzimmer.local eingeben. Die drei Sensoren stehen dann als Entitäten bereit und
schreiben Verlauf.
Dashboard-Karte und Automation
Lege auf dem Dashboard eine Verlaufsdiagramm-Karte mit den drei Entitäten an. Eine sinnvolle erste Automation: Benachrichtigung aufs Handy, wenn die Luftfeuchte länger als 30 Minuten über 65 Prozent liegt – ein praktischer Schimmel-Frühwarner fürs Schlafzimmer.
Fehlersuche
- „Communication with BME280 failed“: Adresse prüfen (0x76/0x77), SDA/SCL vertauscht, oder das Modul hängt an 5 V ohne Regler. Laut Doku hilft es bei manchen Modulen, den Pin
CSBauf 3,3 V zu legen. - Kein Port beim Flashen: USB-Kabel ohne Datenleitungen oder fehlender USB-Seriell-Treiber (CP210x/CH340) auf dem Rechner. Bei manchen Boards beim Einstecken die BOOT-Taste halten.
- Temperatur zu hoch: Der ESP32 heizt den Sensor. Sensor am Kabel etwas vom Board weg montieren oder in der YAML einen
filters: - offset: -1.5ergänzen.
Wer den Sensor per Akku betreiben will, ergänzt deep_sleep: mit run_duration: 30s und
sleep_duration: 10min – dann hält eine 18650-Zelle Monate. Weitere Projekte: unser
Home-Assistant-Einstieg auf dem Raspberry Pi 5 und die
KI-Dashboard-Anleitung.
Häufige Fragen
BME280 oder BMP280?
Der BMP280 misst nur Temperatur und Luftdruck. Für Luftfeuchte brauchst du den BME280; beide Module sehen fast gleich aus, also die Beschriftung des Chips prüfen.
Muss ich löten?
Nicht, wenn das Modul mit bestückter Stiftleiste geliefert wird. Dann reichen Jumperkabel.
Funktioniert das auch mit dem ESP8266?
Ja, ESPHome unterstützt ESP8266 (z. B. Wemos D1 mini). Dort sind die I²C-Pins standardmäßig D2 (SDA) und D1 (SCL).
Quellen
- ESPHome: BME280 Temperature+Pressure+Humidity Sensor (offizielle Doku, YAML-Beispiel)
- ESPHome: Getting Started with Home Assistant (Add-on, Web-Serial-Flashen, Adoption)
- ESPHome: I²C Bus (sda/scl/scan)
Transparenz: Dieser Beitrag wurde mit KI-Unterstützung recherchiert und verfasst und redaktionell geprüft (Kennzeichnung nach Art. 50 KI-VO). Alle Angaben stammen aus den genannten Quellen, Stand 24. September 2026. Links zu Amazon sind Affiliate-Links (Werbung).