Schlagwortarchiv: ESPHome

Intelligenter DIY-Multisensor für Präsenz, Licht und Klima mit Home Assistant

Fertige Präsenzmelder aus dem Handel messen meist nur ein, zwei Werte und lassen sich kaum in ein durchdachtes Smart-Home-Konzept einbinden. Ich wollte einen DIY-Multisensor, der wirklich alles liefert, was ich für sinnvolle Automationen brauche – und das für unter 30 € pro Stück.

Deshalb habe ich mir einen eigenen Multisensor gebaut: ein ESP32-S3 SuperMini, kombiniert mit einem LD2410C mmWave-Radar für echte Präsenzerkennung (nicht nur Bewegung!), einem BH1750-Helligkeitssensor und einem BME280-Klimasensor für Temperatur, Luftfeuchtigkeit und Luftdruck. Alle Werte landen per ESPHome direkt und zuverlässig in Home Assistant.

In diesem Beitrag zeige ich dir den kompletten Aufbau – vom Anlöten der ersten Stiftleiste bis zur fertigen ESPHome-Konfiguration und den Automationen in Home Assistant. Aktuell läuft mein Sensor noch im Testaufbau per USB-C auf dem Schreibtisch. Als Ausblick zeige ich dir aber schon, wie es danach weitergeht: mit einer festen 230V-Stromversorgung über ein HLK-PM01-Netzteil und einem eigenen 3D-gedruckten Gehäuse für den dauerhaften Einbau.


🎯 Ziel des Projekts

Der Sensor soll am Ende Folgendes leisten:

  • ✅ Präsenz erkennen (nicht nur Bewegung) – per LD2410C mmWave-Radar
  • ✅ Helligkeit messen – per BH1750
  • ✅ Temperatur, Luftfeuchtigkeit und Luftdruck messen – per BME280
  • ✅ Alle Werte live in Home Assistant zur Verfügung stellen
  • ✅ Sich wahlweise per USB-C oder dauerhaft über 230V betreiben lassen
  • ✅ Als Basis für intelligente Licht-, Heizungs- und Lüftungsautomationen dienen

🧭 Die Vorbereitung

Bevor der Lötkolben angeht, lohnt sich etwas Vorarbeit. Diese vier Schritte haben mir den Einstieg deutlich erleichtert:

1️⃣ Verständnis aufbauen

LD2410C und ESPHome waren für mich beides Neuland. Bevor ich bestellt habe, habe ich mir folgende Quellen angeschaut: die offizielle ESPHome-Dokumentation zur ld2410-Komponente, ein paar Praxisvideos zum LD2410C auf YouTube (wichtig, um ein Gefühl für Reichweite und Fehlalarme zu bekommen) sowie Diskussionen im ESPHome- bzw. Home-Assistant-Forum, in denen andere Nutzer ihre Konfigurationen und Stolpersteine teilen. Das hat mir geholfen, vorab realistische Erwartungen an Reichweite, Empfindlichkeit und I²C-Verkabelung zu entwickeln, statt alles per Trial-and-Error herauszufinden.

2️⃣ Bauteile bestellen

Bei der Bestellung standen für mich zwei Fragen im Vordergrund: Wo bestelle ich, und worauf muss ich bei den Sensoren konkret achten?

AliExpress vs. Amazon: Auf AliExpress bekommt man ESP32-S3, LD2410C, BH1750 und BME280 zusammen oft für weniger als die Hälfte des Amazon-Preises – dafür sind 2-4 Wochen Lieferzeit realistisch, und bei Reklamationen dauert es entsprechend länger. Amazon lohnt sich, wenn du schnell testen willst oder ein Bauteil kurzfristig ersetzen musst; für den Rest würde ich – wenn Zeit kein Problem ist – AliExpress empfehlen.

BME280 vs. BMP280: Hier lohnt sich ein zweiter Blick auf die Artikelbeschreibung. Viele günstige Angebote sind als „BME280“ gelistet, liefern aber tatsächlich einen BMP280 – und der misst keine Luftfeuchtigkeit. Sowohl das Modulfoto (BME280-Chips haben meist eine glänzende, leicht erhabene Sensorkappe) als auch Kundenbewertungen geben oft einen Hinweis, bevor man bestellt. Im Zweifel hilft nur: Bewertungen mit Fotos durchsuchen oder direkt beim Verkäufer nachfragen.

3️⃣ Werkzeug bereitlegen

Für den Zusammenbau reicht einfaches Werkzeug: Lötkolben mit feiner Spitze, dünnes Lötzinn, eine dritte Hand oder Platinenklemme, ein kleines Multimeter zum Prüfen der Verbindungen und ein Satz Dupont-Kabel für die spätere Verdrahtung zwischen den Modulen.

4️⃣ Home Assistant vorbereiten

Damit später nichts im Weg steht, habe ich vorab in Home Assistant unter Einstellungen → Add-ons → Add-on Store nach dem ESPHome Device Builder gesucht und ihn installiert. So kann ich direkt nach dem Verlöten mit der Konfiguration starten, ohne erst noch Grundlagen einrichten zu müssen.


🧩 Verwendete Hardware

Diese Komponenten kommen zum Einsatz:

📸 Alle verwendeten Komponenten im Überblick


🔌 Verkabelung

Bevor verdrahtet wird, werden an allen Modulen zunächst Stiftleisten angelötet. Wichtig: Für die ersten Tests kommt noch kein Netzteil zum Einsatz – der ESP32 wird ausschließlich per USB-C versorgt.

📌 Pinbelegung der Module

KomponenteBenötigte Anschlüsse
ESP32-S3 SuperMini5V, 3V3, GND, GPIO43 (TX), GPIO44 (RX), Pin 10 / GPIO18 (I²C SCL), Pin 11 / GPIO09 (I²C SDA)
LD2410C5V, GND, TX, RX
BH1750VCC, GND, SDA, SCL
BME280VIN, GND, SDA, SCL

🔗 Verdrahtung

BauteilAnschlussESP32-S3 SuperMini
LD2410CVCC5V
LD2410CGNDGND
LD2410CTXGPIO44 (RX)
LD2410CRXGPIO43 (TX)
BH1750VCC3V3
BH1750GNDGND
BH1750SDAGPIO09 (Pin 11)
BH1750SCLGPIO18 (Pin 10)
BME280VIN3V3
BME280GNDGND
BME280SDAGPIO09 (Pin 11)
BME280SCLGPIO18 (Pin 10)

💡 Merksatz für die UART-Verbindung zum LD2410C: TX → RX und RX → TX – die Leitungen werden gekreuzt, nicht parallel verbunden.

DIY-Multisensor

📸 Mein handgezeichneter Verkabelungsplan – GND rot, VCC/3V3 lila, SCL orange, SDA schwarz, TX grün, RX blau


💻 ESPHome-Konfiguration

Nachdem die Verdrahtung steht, folgt die Konfiguration in ESPHome. Zuerst wird in Home Assistant unter Einstellungen → Add-ons → Add-on Store der ESPHome Device Builder installiert und gestartet. Danach ein neues Gerät anlegen (Name: zimmer_sensor, Board: ESP32-S3) und das WLAN eintragen.

Das ist die komplette Konfiguration:

esphome:
  name: zimmer_sensor

esp32:
  board: esp32-s3-devkitc-1

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

logger:

api:

ota:

uart:
  tx_pin: GPIO43
  rx_pin: GPIO44
  baud_rate: 256000

ld2410:

i2c:
  sda: GPIO9
  scl: GPIO18
  scan: true

binary_sensor:
  - platform: ld2410
    has_target:
      name: "Präsenz"

sensor:
  - platform: ld2410
    moving_distance:
      name: "Bewegungsdistanz"
    still_distance:
      name: "Präsenzdistanz"
    moving_energy:
      name: "Bewegungsenergie"
    still_energy:
      name: "Präsenzenergie"

  - platform: bh1750
    name: "Helligkeit"
    update_interval: 30s

  - platform: bme280_i2c
    address: 0x76
    temperature:
      name: "Temperatur"
    pressure:
      name: "Luftdruck"
    humidity:
      name: "Luftfeuchtigkeit"
    update_interval: 30s

Hinweis: Einige BME280-Module nutzen die I²C-Adresse 0x77 statt 0x76. Falls der Sensor nicht erkannt wird, im ESPHome-Log nach der gefundenen I²C-Adresse suchen und die Adresse in der Konfiguration entsprechend anpassen.

Anschließend wird die Firmware geflasht: ESP32 per USB-C an den PC anschließen, in ESPHome auf Install → Plug into this computer klicken und warten, bis SUCCESS erscheint. Nach wenigen Sekunden taucht das neue Gerät in Home Assistant unter Einstellungen → Geräte & Dienste automatisch zur Einrichtung auf.


🏠 Integration in Home Assistant

Für das Dashboard zeige ich mir folgende Entitäten an:

  • Präsenz
  • Bewegungsdistanz
  • Präsenzdistanz
  • Bewegungsenergie
  • Präsenzenergie
  • Helligkeit
  • Temperatur
  • Luftfeuchtigkeit
  • Luftdruck

Damit der Sensor nicht nur Werte liefert, sondern auch etwas tut, habe ich direkt zwei einfache Automationen eingerichtet: Das Licht geht an, wenn Präsenz erkannt wird und es zu dunkel ist – und wieder aus, sobald für zwei Minuten keine Präsenz mehr erkannt wird.

💡 Licht einschalten

alias: Licht An

trigger:
  - platform: state
    entity_id: binary_sensor.prasenz
    to: "on"

condition:
  - condition: numeric_state
    entity_id: sensor.helligkeit
    below: 50

action:
  - service: light.turn_on
    target:
      entity_id: light.flur

🌙 Licht ausschalten

alias: Licht Aus

trigger:
  - platform: state
    entity_id: binary_sensor.prasenz
    to: "off"
    for:
      minutes: 2

action:
  - service: light.turn_off
    target:
      entity_id: light.flur

🚧 Ausblick: Vom Testaufbau zum fertigen Gehäuse

Aktuell steht mein Sensor noch offen verdrahtet auf dem Schreibtisch und wird per USB-C versorgt – perfekt, um die Konfiguration zu testen und die Automationen zu verfeinern, bevor er fest verbaut wird. Für den dauerhaften Einbau sind zwei weitere Schritte geplant:

1️⃣ Feste 230V-Stromversorgung mit HLK-PM01

Für den Festeinbau ersetzt ein HLK-PM01-Netzteil (230V → 5V) das USB-Netzteil:

QuelleZiel
230V LHLK-PM01 L
230V NHLK-PM01 N
HLK-PM01 +5VESP32 5V
HLK-PM01 GNDESP32 GND

Das LD2410C hängt dabei weiterhin direkt an 5V und GND des ESP32.

2️⃣ 3D-gedrucktes Gehäuse

Für den Festeinbau plane ich ein eigenes Gehäuse mit rund 90 × 60 × 35 mm, in das ESP32-S3, LD2410C, BH1750, BME280 und das HLK-PM01-Netzteil passen. Gedruckt wird es aus PLA, PETG oder ASA – das LD2410C funktioniert laut Datenblatt problemlos durch Kunststoff hindurch, eine Aussparung ist also nicht nötig.

Beispiele für ein solches Gehäuse:


📝 Kurz zusammengefasst

Mit diesem DIY-Multisensor bekommt Home Assistant einen selbstgebauten WLAN-Raumsensor auf Basis eines ESP32-S3, der mittels LD2410C echte Präsenz erkennt und zusätzlich Helligkeit, Temperatur, Luftfeuchtigkeit und Luftdruck misst. Alle Daten werden über ESPHome direkt an Home Assistant übertragen und lassen sich für intelligente Automationen wie Licht-, Heizungs- oder Lüftungssteuerungen nutzen. Je nach Ausführung – per USB-C oder dauerhaft über ein 230V-Netzteil – kostet der Sensor etwa 20-30 € pro Stück.


Wenn dir dieses DIY-Projekt gefallen hat, schau dir auch meine weiteren Smart-Home- und Home-Assistant-Projekte an. Dort findest du viele weitere Ideen zum Nachbauen.