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. Nach der Testphase im Karton habe ich den Sensor mittlerweile fest verbaut: mit einer 230V-Stromversorgung über ein HLK-PM01-Netzteil, versteckt in einem Fake Book Cover, und im Einsatz zur nächtlichen Steuerung unserer Bodenlichter im Flur. Wie dieser dauerhafte Einbau aussieht – inklusive der Verkabelung eines Shelly 1PM Mini im zugehörigen Lichtschalter – zeige ich dir weiter unten im Detail.
🎯 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:
- Controller: ESP32-S3 SuperMini
- Präsenzsensor: LD2410C mmWave-Radar
- Helligkeitssensor: GY-302 (BH1750) – empfohlen – oder alternativ BH1750FVI mit Lichtkugel; beide funktionieren identisch
- Klimasensor: BME280 (Temperatur, Luftfeuchtigkeit, Luftdruck)
- Stromversorgung: USB-C zum Testen, HLK-PM01 (230V → 5V) für den Festeinbau




📸 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
| Komponente | Benötigte Anschlüsse |
|---|---|
| ESP32-S3 SuperMini | 5V, 3V3, GND, GPIO43 (TX), GPIO44 (RX), Pin 08, Pin 09 |
| LD2410C | VIN (3V3), GND, TX, RX |
| BH1750 | VCC, GND, SDA, SCL |
| BME280 | VIN, GND, SDA, SCL |
🔗 Verdrahtung
| Bauteil | Anschluss | ESP32-S3 SuperMini |
|---|---|---|
| LD2410C | VIN | 3V3 |
| LD2410C | GND | GND |
| LD2410C | TX | GPIO44 (RX) |
| LD2410C | RX | GPIO43 (TX) |
| BH1750 | VCC | 3V3 |
| BH1750 | GND | GND |
| BH1750 | SDA | Pin 08 |
| BH1750 | SCL | Pin 09 |
| BME280 | VIN | 3V3 |
| BME280 | GND | GND |
| BME280 | SDA | Pin 08 |
| BME280 | SCL | Pin 09 |
💡 Merksatz für die UART-Verbindung zum LD2410C: TX → RX und RX → TX – die Leitungen werden gekreuzt, nicht parallel verbunden.

📸 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: test_sensor, Board: ESP32-S3) und das WLAN eintragen.
Das ist die komplette Konfiguration:
esphome:
name: test-sensor
friendly_name: Test-Sensor
esp32:
board: esp32-s3-devkitc-1
wifi:
ssid: MEIN_WLAN
password: MEIN_PASSWORT
logger:
api:
ota:
- platform: esphome
uart:
tx_pin: GPIO43
rx_pin: GPIO44
baud_rate: 256000
ld2410:
i2c:
sda: GPIO8
scl: GPIO9
scan: true
binary_sensor:
- platform: ld2410
has_target:
name: "Präsenz"
has_moving_target:
name: "Bewegung"
has_still_target:
name: "Ruhende 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"
address: 0x23 # Versuche 0x5C, falls 0x23 fehlschlägt
update_interval: 30s
- platform: bme280_i2c
address: 0x76
temperature:
name: "Temperatur"
pressure:
name: "Luftdruck"
humidity:
name: "Luftfeuchtigkeit"
update_interval: 30s
switch:
- platform: ld2410
engineering_mode:
name: "Engineering Mode"
number:
- platform: ld2410
timeout:
name: "Auslöseverzögerung (Timeout)"
max_move_distance_gate:
name: "Max Bewegungs-Gate"
max_still_distance_gate:
name: "Max Präsenz-Gate"
g0:
move_threshold:
name: "Gate 0 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 0 Präsenz-Schwellenwert"
g1:
move_threshold:
name: "Gate 1 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 1 Präsenz-Schwellenwert"
g2:
move_threshold:
name: "Gate 2 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 2 Präsenz-Schwellenwert"
g3:
move_threshold:
name: "Gate 3 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 3 Präsenz-Schwellenwert"
g4:
move_threshold:
name: "Gate 4 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 4 Präsenz-Schwellenwert"
g5:
move_threshold:
name: "Gate 5 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 5 Präsenz-Schwellenwert"
g6:
move_threshold:
name: "Gate 6 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 6 Präsenz-Schwellenwert"
g7:
move_threshold:
name: "Gate 7 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 7 Präsenz-Schwellenwert"
g8:
move_threshold:
name: "Gate 8 Bewegungs-Schwellenwert"
still_threshold:
name: "Gate 8 Präsenz-Schwellenwert"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.
Es kann da einige Tücken beim Anschließen des ESP über USB an den Rechner geben, bei mir war es sogar eine Kombination aus verschiedenen Hardware- und Konfigurationsproblemen:
1️⃣ Falscher USB-Anschluss im Browser ausgewählt
Beim ESP32-S3 integriert der Chip selbst den USB-Controller. Wenn du auf Installieren klickst und sich das Web-Serial-Fenster öffnet, muss der Eintrag im Browser ungefähr so heißen:
ESP32-S3USB JTAG/serial debug unitCP210x/CH340(falls ein externer USB-Chip verbaut ist)
Vermeide: Einträge wie Bluetooth-Modem oder Schnittstellen anderer Geräte (wie z.B. Smarthome-Gateways/Mäuse).
2️⃣ Kein Datenkabel verwendet (Sehr häufig!)
Viele Micro-USB- und USB-C-Kabel – besonders die von Ladeadaptern – besitzen nur Adern für die Stromversorgung (+5V / GND), aber keine Datenleitungen.
- Symptom: Der PC macht keinen Sound beim Anstecken, und im Browser-Pop-up taucht gar kein neuer Port auf.
- Lösung: Vergleiche mit einem anderen USB-C-Kabel (z. B. vom Smartphone oder einer externen Festplatte).
3️⃣ ESP32-S3 „USB-CDC“ Problem beim Erstbeflaschen
Ein frischer ESP32-S3 SuperMini wird ab Werk oft ohne aktive serielle USB-Schnittstelle geliefert. In diesem Fall erkennt Windows/Mac/Linux das Board im normalen Betrieb gar nicht erst als Seriellen Port.
So erzwingst du den Bootloader-Modus zuverlässig:
- Ziehe das USB-Kabel komplett vom ESP32-S3 ab.
- Halte die BOOT-Taste auf dem SuperMini gedrückt.
- Stecke das USB-Kabel ein, während du die BOOT-Taste gedrückt hältst.
- Lasse die BOOT-Taste erst nach 2–3 Sekunden los.
- Versuche jetzt erneut den Installationsvorgang im Browser.
4️⃣ Abweichendes Pinout beim ESP32-S3 SuperMini
Im Vergleich zu den größeren DevKit-C-1 Boards nutzt das extrem kompakte ESP32-S3 SuperMini andere Pins für den I2C-Bus. Standardmäßig liegen SDA und SCL auf GPIO8 und GPIO9 (und nicht auf GPIO9/GPIO18).
- Symptom: Die I2C-Sensoren werden im Log als fehlerhaft markiert (
Communication failed). - Lösung: Die Verkabelung physisch an die Pins 8 und 9 anpassen sowie den
i2c-Abschnitt in der YAML aufsda: GPIO8undscl: GPIO9ändern.
5️⃣ Falsche I2C-Sensoradressen in ESPHome
Identische Sensor-Module werden je nach Hersteller mit unterschiedlichen Hex-Adressen ausgeliefert. Weicht die in ESPHome eingetragene Adresse von der tatsächlichen Sensor-Hardware ab, schlägt der Verbindungsaufbau fehl.
- Beispiel BME280: Befindet sich meist auf
0x76(statt0x77). - Beispiel BH1750: Befindet sich meist auf
0x23(statt0x5C).
6️⃣ Spannungseinbruch & Boot-Loop durch das Radar-Modul
Das LD2410-Radarmodul benötigt beim Starten sowie beim zeitgleichen Verbindungsaufbau des WLAN-Moduls kurzzeitig hohe Stromspitzen. Wird der ESP32-S3 dabei an einem schwachen USB-Port des PCs betrieben, bricht die Spannung ein.
- Symptom: Das Board führt ständig einen Neustart durch (
rst:0x15 USB_UART_CHIP_RESET), als ich das LD2410 an den 5V-Pin (VCC) vom ESP32 angeschlossen habe, war das Problem mit dem Neustart weg, aber nach kurzer Zeit wurde das LD2410 heiß und brannte durch. Ich habe das neue LD2410 dann wieder auf den 3V3-Pin (VIN) gelegt und es hat sich nach einiger Zeit stabilisiert und die Neustarts sind ausgeblieben. - Lösung: Das LD2410 an den 3v3-Pin (VIN) anschließen und stabilisieren lassen.
Wenn Du diese Hürde genommen hast, gehst Du auf Installieren und anschließend wird die Firmware geflasht. Warte bis SUCCESS erscheint, was etwas dauern kann. Wenn Du im geöffneten Fenster auf „Details einblenden“ gehst, kannst Du den Fortschritt die ganze Zeit beobachten.
Nach wenigen Sekunden taucht das neue Gerät in Home Assistant unter Einstellungen → Geräte & Dienste automatisch zur Einrichtung auf.
Danach steht Dir der Sensor mit folgenden Informationen zur Verfügung:

📸 Integration in Home Assistant
🏠 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 fünf Minuten keine Präsenz mehr erkannt wird.
💡 Licht ein- und ausschalten
alias: 'Wohnzimmer: Licht steuern bei Präsenz & Dunkelheit'
description: >-
Schaltet WZ-Lichter bei Präsenz und Dunkelheit ein und nach 5 Min. Abwesenheit
wieder aus.
triggers:
- trigger: state
entity_id: binary_sensor.test_sensor_prasenz
to: 'on'
id: prasenz_an
- trigger: numeric_state
entity_id:
- sensor.test_sensor_helligkeit
below: 5
id: helligkeit_dunkel
- trigger: state
entity_id: binary_sensor.test_sensor_prasenz
to: 'off'
for:
minutes: 5
id: prasenz_aus
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.id in [''prasenz_an'', ''helligkeit_dunkel''] }}'
- condition: state
entity_id: binary_sensor.test_sensor_prasenz
state: 'on'
- condition: numeric_state
entity_id: sensor.test_sensor_helligkeit
below: 5
sequence:
- action: light.turn_on
target:
entity_id:
- light.wz_licht_fernseher
- light.wz_licht_schranke
- conditions:
- condition: trigger
id: prasenz_aus
sequence:
- action: light.turn_off
target:
entity_id:
- light.wz_licht_fernseher
- light.wz_licht_schranke
mode: restart🏗️ Die permanente Installation: Ein Fake Book Cover für den Flur
Nach der Testphase im Karton stand fest: Die Konfiguration läuft stabil, die Automationen passen – Zeit für den ersten dauerhaften Einbau. Gesteuert werden sollen damit unsere Bodenlichter im Flur, die nachts bei Präsenz automatisch angehen sollen. Ein eigenes 3D-gedrucktes Gehäuse wäre technisch kein Problem gewesen, aber ich wollte etwas, das sich optisch ins Wohnambiente einfügt, statt wie Elektronik auszusehen. Die Lösung: der Sensor zieht in ein Fake Book Cover.
1️⃣ Warum ein Fake Book Cover statt 3D-Druck?
Fake-Book-Aufbewahrungsboxen gibt es z. B. bei IKEA, Depot oder Action als Deko-Objekt fürs Regal oder Sideboard. Der Vorteil gegenüber einem 3D-Druck: Sie sehen aus wie ganz normale Bücher und fallen niemandem auf – bieten innen aber genug Platz für ESP32, Sensoren, Netzteil und Verkabelung. Für den LD2410C ist das kein Problem, solange kein Metall im Weg ist:
- ✅ Radar-transparent: Papier, Karton, Stoff, Kunststoff, Holz
- 🚫 Blockiert das Radar: Metall, Spiegel, Alufolie, metallbedampfte Oberflächen
Bei mir ist es ein Stapel aus drei Büchern geworden – nur das unterste, „LIVE BEAUTIFUL“, ist tatsächlich präpariert und enthält die komplette Elektronik.

📸 Von außen unauffällig: das präparierte Buch geschlossen
2️⃣ Der Aufbau im Inneren
Anders als beim Testaufbau habe ich diesmal die meisten Verbindungen nicht über Steckverbinder, sondern direkt an den Bauteilen verlötet. Die Zusammenführung der Kabel erfolgt über Wago-221-Klemmen, und für die feste 230V-Versorgung kommt – wie ursprünglich geplant – ein HLK-PM01-Netzteil (230V → 5V) zum Einsatz.

📸 Innenansicht: ESP32-S3, LD2410C, BH1750, BME280, HLK-PM01 und Wago-Klemmen
| Quelle | Ziel |
|---|---|
| 230V L | HLK-PM01 L |
| 230V N | HLK-PM01 N |
| HLK-PM01 +5V | ESP32 5V |
| HLK-PM01 GND | ESP32 GND |
Das LD2410C hängt weiterhin – genau wie im Abschnitt „Spannungseinbruch & Boot-Loop“ oben beschrieben – direkt am 3V3-Pin (VIN) des ESP32, nicht an 5V, da es sonst zu heiß wird. BH1750 und BME280 sind an der Innenwand der Box montiert und schauen durch den dünnen Karton nach außen bzw. innen ins Zimmer.





📸 Verkabelung im Detail: ESP32-S3, Wago-Klemmen und Anschluss der Sensoren
3️⃣ Unauffällig im Flur
Von außen sieht man dem Bücherstapel nichts an – die komplette Elektronik verschwindet zwischen „Live Beautiful“, „Believe“ und „Love“ auf der Kommode im Flur, direkt neben Bilderrahmen und Deko.

📸 So steht der Sensor jetzt im Flur – niemand vermutet darin Elektronik
🔌 Der Shelly 1PM Mini in der Schalterdose
Damit sich die Bodenlichter nicht nur über Home Assistant, sondern weiterhin auch klassisch per Wandschalter bedienen lassen, wandert zusätzlich ein Shelly 1PM Mini in die vorhandene Schalterdose. Er übernimmt das eigentliche Schalten der Lampe und liefert nebenbei den Stromverbrauch per Power Metering.
1️⃣ Das Problem: Neutralleiter statt Phase geschaltet
In der Dose kamen ein braunes und ein blaues Kabel von der Lampe (genauer: von einem vorgeschalteten 230V/12V-Trafo für die Bodenleuchten). Das blaue Kabel ging in den Schalter hinein und wieder heraus, das braune Kabel lag fest auf einer Klemme. Genau umgekehrt zu dem, was der Shelly braucht: In alten Installationen wird gelegentlich der Neutralleiter (blau) über den Schalter geschaltet statt der Phase (braun) – eine klassische Fehlverkabelung. Der Shelly 1PM Mini erwartet am SW-Eingang aber zwingend ein Phasensignal; mit einem geschalteten Neutralleiter reagiert er schlicht nicht.

📸 Die geöffnete Schalterdose mit den vorhandenen Adern
2️⃣ Die Diagnose mit dem Spannungsprüfer
Bevor überhaupt etwas umgeklemmt wird, muss zweifelsfrei feststehen, welche Ader wirklich die Dauerphase ist – nach Aderfarbe oder Klemmenposition zu arbeiten reicht in Altbauten nicht, da dort öfter falsch verdrahtet wurde. Mit einem zweipoligen Spannungsprüfer (z. B. Duspol) gegen PE gemessen ergab sich folgendes Bild:
- Linkes blaues und linkes braunes Kabel (zur Lampe): spannungsfrei, egal in welcher Schalterstellung.
- Rechtes blaues Kabel gegen die ermittelte Dauerphase: konstant ~230V in jeder Schalterstellung → echter Neutralleiter (N).
- Rechtes braunes/graues Kabel: zeigt dauerhaft ~230V gegen PE → die echte Dauerphase (L).
Damit war die Zuordnung eindeutig: Rechts liegt Dauerphase und Neutralleiter, links geht es weiter zur Lampe – inklusive eines vollständigen, echten Neutralleiters direkt in der Dose.

📸 Der ausgebaute Lichtschalter mit den Anschlüssen L und ↓
3️⃣ Die korrigierte Verkabelung
Die Lösung: die Kabel so umklemmen, dass die Phase (braun) geschaltet wird und der Neutralleiter (blau) einfach durchgeht.
[ WAGO-KLEMME 1 (Dauerphase L) ]
│
Rechtes braunes Kabel (L, 230V) ──┤
├──> [ L ] Shelly 1PM Mini
└──> [ L ] Lichtschalter (oben)
[ ↓ ] Lichtschalter (unten) ──────> [ SW ] Shelly 1PM Mini
[ WAGO-KLEMME 2 (Neutralleiter N) ]
│
Rechtes blaues Kabel (N) ─────────┤
├──> [ N ] Shelly 1PM Mini
└──> Linkes blaues Kabel (N zur Lampe/Trafo)
Linkes braunes Kabel (Phase zur Lampe/Trafo) ──> [ O ] Shelly 1PM Mini

📸 Meine handschriftliche Skizze zur finalen Verkabelung
Ein Hinweis noch zum vorgeschalteten Trafo: Die Bodenleuchten hängen an einem 230V/12V-Trafo, der fest verputzt hinter der Wand sitzt und nicht zugänglich ist. Für die Verkabelung ändert das grundsätzlich nichts – der Shelly schaltet einfach die 230V-Zuleitung zum Trafo. Wichtig ist nur, ob es ein klassischer gewickelter Trafo (induktive Last, höhere Einschaltströme) oder ein elektronischer Trafo (kapazitive Last) ist; der Shelly 1PM Mini ist bis 8A bzw. rund 1840W ausgelegt, was für Bodenleuchten mehr als ausreicht. Beim Power Metering ist außerdem zu beachten, dass der Shelly die gesamte primärseitige Leistungsaufnahme misst – also Trafo-Eigenverbrauch plus Leuchtmittel, nicht nur die reine LED-Last.
Nach dem Einschalten der Sicherung schaltet der Wandschalter jetzt sauber die Phase zum SW-Eingang des Shelly. In der Shelly-App habe ich den Schaltertyp (Switch Type) auf „Edge Switch“ gestellt, damit sich das Licht sowohl über den Wandschalter als auch über die App und Home Assistant unabhängig voneinander steuern lässt.
🏠 Automatisierung für die Bodenlichter
Genau wie beim Präsenzsensor im Wohnzimmer greift auch hier eine Automatisierung, die Präsenz und Helligkeit kombiniert – nur eben für den Flur und den neuen Shelly-Schalter statt einer smarten Lampe direkt.
alias: 'Flur: Licht steuern bei Präsenz & Dunkelheit'
description: >-
Schaltet Flur-Boden-Lichter bei Präsenz und Dunkelheit ein (außer 06:30-12:00
Uhr) und nach 2 Min. Abwesenheit wieder aus.
triggers:
- trigger: state
entity_id: binary_sensor.prasenz_flur_prasenz
to: 'on'
id: prasenz_an
- trigger: numeric_state
entity_id:
- sensor.prasenz_flur_helligkeit
below: 1
id: helligkeit_dunkel
- trigger: state
entity_id: binary_sensor.prasenz_flur_prasenz
to: 'off'
for:
minutes: 2
id: prasenz_aus
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.id in [''prasenz_an'', ''helligkeit_dunkel''] }}'
- condition: state
entity_id: binary_sensor.prasenz_flur_prasenz
state: 'on'
- condition: numeric_state
entity_id: sensor.prasenz_flur_helligkeit
below: 1
- condition: time
after: '20:00:00'
before: '06:30:00'
sequence:
- action: switch.turn_on
target:
entity_id: switch.flur_shelly_licht_flur_boden
- conditions:
- condition: trigger
id: prasenz_aus
sequence:
- action: switch.turn_off
target:
entity_id: switch.flur_shelly_licht_flur_boden
mode: restart1️⃣ Dashboard: Werte im Blick und Automatisierung abschaltbar
Damit die automatische Steuerung nicht zur Black Box wird, gibt es in Home Assistant eine eigene Detailansicht für den Flur-Sensor. Dort sehe ich alle Rohwerte des LD2410C und der Helligkeitsmessung auf einen Blick – Präsenz, Bewegung, ruhende Präsenz, Präsenz- und Bewegungsdistanz, die jeweilige „Energie“ (Signalstärke) sowie die aktuelle Helligkeit in Lux. Ganz oben sitzt außerdem ein Schalter „Flur Lichtautomatisierung“, mit dem ich die automatische Steuerung jederzeit deaktivieren kann – zum Beispiel, wenn ich das Licht mal bewusst manuell steuern will und die Automatisierung nicht eingreifen soll.

📸 Detailansicht: Sensorwerte des Flur-Sensors und Schalter zum Deaktivieren der Automatisierung
Damit ich diesen Schalter nicht erst über die Detailansicht suchen muss, ist er auch direkt auf meinem Standard-Dashboard verfügbar. In der Karte „Präsenz & Licht“ liegt der Flur-Schalter direkt neben dem für das Wohnzimmer – beide zeigen zugleich den aktuellen Status der jeweiligen Automatisierung an.

📸 Schneller Zugriff: Wohnzimmer- und Flur-Automatisierung direkt auf dem Standard-Dashboard
📝 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. Bei mir läuft der erste Sensor mittlerweile dauerhaft über ein 230V-Netzteil, versteckt in einem Fake Book Cover, und steuert gemeinsam mit einem Shelly 1PM Mini in der Schalterdose die Bodenlichter im Flur. 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.



















































































