ESPHome und ESP32 in der Praxis: Eigene Cloud-freie Umweltsensoren entwickeln
Teil 2 von 5 der Reihe Home Assistant ohne Cloud

Inhalt
ESPHome und ESP32 in der Praxis: Eigene Cloud-freie Umweltsensoren entwickeln
Kommerziell erhältliche Luftqualitätsmonitore für Innenräume setzen häufig auf proprietäre Cloud-Ökosysteme, was unerwünschte Latenzen, Sicherheitsrisiken und eine Abhängigkeit von externen Servern birgt. Die Konzeption eigener Umweltsensoren auf Basis von ESP32-Mikrocontrollern und ESPHome ermöglicht vollständige lokale Autonomie, hochfrequente Telemetrie und eine direkte Integration in Home Assistant. Die Kombination echter Nicht-Dispersiver Infrarot-Sensoren (NDIR) wie dem Sensirion SCD40 oder SCD30 mit Modulen zur Messung flüchtiger organischer Verbindungen (VOC) sowie präziser Temperatur- und Luftfeuchtigkeitsüberwachung liefert professionelle Messdaten, die das lokale VLAN zu keinem Zeitpunkt verlassen.
1. Hardware-Architektur und I2C-Bus-Design
Eine präzise Überwachung der Innenraumluft erfordert Sensoren, die tatsächliche Gaskonzentrationen physikalisch messen, statt auf rechnerischen Näherungen günstiger Metalloxid-Alternativen zu basieren. Die Anbindung mehrerer Sensorbausteine an einen gemeinsamen I2C-Bus verlangt eine korrekte Dimensionierung der Pull-up-Widerstände sowie eine stabile Spannungsversorgung:
- Sensirion SCD40 / SCD30 (CO2): Diese Module nutzen das fotoakustische beziehungsweise optische NDIR-Messprinzip, um CO2-Konzentrationen zwischen 400 ppm und 5000 ppm mit hoher Genauigkeit und minimaler Langzeitdrift zu erfassen.
- VOC- & Thermohygrometer-Module: Die Integration zusätzlicher Bausteine wie des Bosch BME680 oder Sensirion SGP40 parallel zu einem SHT40 ermöglicht die Erfassung des VOC-Index sowie temperaturkompensierter relativer Luftfeuchtigkeit über dieselben 3,3-V-I2C-Datenleitungen (SDA/SCL).
2. Firmware-Implementierung mittels ESPHome YAML
ESPHome kompiliert schlanke, hochoptimierte C++-Firmware direkt aus strukturierten YAML-Konfigurationsdateien. Die Aktivierung automatischer Kalibrierungsmechanismen – wie der Automatic Self-Calibration (ASC) für NDIR-Sensoren – gewährleistet eine langfristig stabile Basislinie ohne manuelles Nachjustieren.
# Beispiel: ESPHome-Konfiguration für einen ESP32 mit SCD40 CO2- und Umweltsensoren
esphome:
name: "env-monitor-office"
platform: ESP32
board: esp32dev
wifi:
ssid: "IoT_VLAN_20"
password: "StrongVLANPasswordHere"
api:
encryption:
key: "32CharacterBase64EncodedKey====="
i2c:
sda: GPIO21
scl: GPIO22
scan: true
frequency: 100kHz
sensor:
- platform: scd4x
co2:
name: "Office CO2"
accuracy_decimals: 0
temperature:
name: "Office Temperature"
accuracy_decimals: 1
humidity:
name: "Office Humidity"
accuracy_decimals: 1
update_interval: 30s
automatic_self_calibration: true
3. Lokale VLAN-Isolation und native Home-Assistant-API
Zur Maximierung der Netzwerksicherheit sollten maßgeschneiderte ESP32-Sensoren in einem isolierten IoT-VLAN betrieben werden, dem jeglicher ausgehende Internetverkehr durch Firewall-Regeln untersagt ist. Die Kommunikation mit Home Assistant erfolgt rein lokal über die native ESPHome-API (TCP-Port 6053) mit Noise-Protocol-Verschlüsselung. Diese Architektur schließt einen externen Datenabfluss aus und garantiert verzögerungsfreie Zustandsaktualisierungen für Lüftungsanlagen, Klimatechnik oder automatische Fensteröffnungsmeldungen.
Zusammenfassung
Die Konstruktion eigener Umweltsensoren mit ESP32-Mikrocontrollern, Sensirion-SCD40-NDIR-Modulen und ESPHome eliminiert jegliche Cloud-Abhängigkeit und proprietäre Datensilos. Der Betrieb in einem isolierten lokalen VLAN sowie die Anbindung über die verschlüsselte native Home-Assistant-API garantieren hochpräzise Telemetrie, maximalen Datenschutz und absolute Betriebssicherheit.
Quellen
Home Assistant ohne Cloud
- Zigbee2MQTT vs. ZHA: Aufbau eines ausfallsicheren Mesh-Netzwerks in Home Assistant
- ESPHome und ESP32 in der Praxis: Eigene Cloud-freie Umweltsensoren entwickeln
- Präsenzerkennung 2.0: mmWave-Radare (LD2410/LD2450) in der Lichtautomatisierung
- WireGuard & Tailscale DMZ: Sicherer externer Zugriff auf Home Assistant und eigene Server
- Lokales Energiemanagement: Integration von PV-Wechselrichtern und Batteriespeichern über Modbus TCP
2 Kommentare
Der Hinweis auf echte NDIR-Messung statt gerechneter Näherung ist der Grund, warum ich den SCD40 gegenüber den günstigen Modulen bevorzuge. Die YAML-Vorlage spart den Rest des Abends.
Eine Frage zur Selbstkalibrierung:
automatic_self_calibration: trueunterstellt, dass der Raum regelmäßig Frischluftniveau erreicht. Bei uns steht ein Sensor im Schlafzimmer und einer im Serverschrank, der praktisch nie gelüftet wird. Wandert die Basislinie dort mit der Zeit weg?Genau das passiert, und es passiert lautlos.
Die automatische Kalibrierung nimmt das Minimum der zurückliegenden Tage und behandelt es als Frischluft. Wo tatsächlich gelüftet wird, stimmt diese Annahme. Wo nie gelüftet wird, ist das Minimum bereits erhöht — der Sensor zieht seinen Nullpunkt darauf und zeigt anschließend zu niedrige Werte an. Ein Fehler wird nicht gemeldet, weil das Gerät genau tut, was eingestellt wurde.
Erkennbar ist es am Verlauf statt am Einzelwert: Sinkt das Tagesminimum über Wochen langsam ab, obwohl sich an Nutzung und Lüftung nichts geändert hat, kalibriert sich der Sensor weg. Für solche Räume gehört
automatic_self_calibrationauffalse, und der Nullpunkt wird stattdessen einmal von Hand gesetzt — der Sensor kommt für ein paar Minuten ins Freie, danach setztscd4x.perform_forced_calibrationden bekannten Außenwert. Der Preis ist eine Wiederholung alle paar Monate; dafür bleibt die Drift sichtbar, statt sich selbst zu verstecken.