Intelligente Lichtsteuerung mit dem Senvolon Präsenzmelder KL MZ: Licht nur dann, wenn es wirklich gebraucht wird
Zeitgesteuerte Lichtautomationen haben sehr oft ein grundlegendes Problem: Sie ignorieren die Realität. An einem bewölkten Novembermittag ist es im Raum oft bereits dunkel, während an einem hellen Sommerabend um 21:00 Uhr noch kein Kunstlicht benötigt wird.
Die naheliegende Gegenmaßnahme, statt einer festen Uhrzeit den Sonnenuntergang als Auslöser zu nehmen, verschiebt das Problem nur. Eine Sonnenuntergangszeit wandert zwar mit der Jahreszeit und wirkt dadurch dynamisch, bleibt im Kern aber eine berechnete Uhr. Von der dichten Wolkendecke, der Nordausrichtung des Raums oder den heruntergelassenen Rollläden weiß sie nichts. Sie schätzt die Helligkeit lediglich ab, anstatt sie wirklich zu messen.
Wirklich bedarfsgerecht wird die Steuerung erst, wenn sie das Licht auswertet, das tatsächlich in Ihrem Raum ankommt, und es mit einer zweiten Frage verbindet: Sind Sie da?
Genau das ermöglicht der integrierte Helligkeitssensor des Präsenzmelders KL MZ, und zwar lokal, ohne Cloud und mit direkter Home-Assistant-Integration.
Voraussetzungen
Folgende Komponenten werden benötigt:
- Der Präsenzmelder KL MZ wird einfach in Ihr WLAN eingebunden und ermöglicht den direkten Zugriff über den Webbrowser.
- Home Assistant (Version 2024.1 oder neuer, als HA OS / Supervised empfohlen).
- Mosquitto MQTT Broker – als offizielles Home-Assistant-Add-on installiert und gestartet.
-
Ein dimmbares, schaltbares Licht – eine beliebige HA-kompatible Lampe (Zigbee, Z-Wave, WLAN). Wichtig: Diese Anleitung nutzt Helligkeitsstufen (brightness_pct) und den Nachtlicht-Modus. Beides setzt ein dimmbares Licht voraus. Mit einem reinen Ein/Aus-Schalter funktioniert die Automation grundsätzlich auch – dann entfallen aber die Helligkeitsabstufungen, und Sie lassen die brightness_pct-Zeilen weg.
Schritt-für-Schritt-Anleitung
Schritt 1: Mosquitto MQTT Broker einrichten
- Navigieren Sie in Home Assistant zu Einstellungen → Add-ons → Add-on Store.
- Suchen Sie nach „Mosquitto broker", installieren Sie das Add-on und starten Sie es.
- Aktivieren Sie die Option „Beim Start starten", damit der Broker auch nach einem HA-Neustart verfügbar ist.
- Home Assistant erkennt den lokalen Broker automatisch und bietet die MQTT-Integration an. Falls nicht: Einstellungen → Geräte & Dienste → Integration hinzufügen → „MQTT" – Broker: localhost, Port: 1883.
Sicherheitstipp: Legen Sie im Mosquitto-Add-on (oder unter den HA-Benutzern) einen eigenen MQTT-Benutzer an, statt anonyme Verbindungen oder Ihren Hauptaccount zu verwenden. Das hält die Zugriffe sauber getrennt und macht eine spätere Fehlersuche einfacher.
Wichtig: Welche Broker-Adresse tragen Sie beim Sensor ein? Der Sensor ist ein eigenständiges Gerät im Netzwerk und muss immer die echte Netzwerkadresse Ihres HA-Hosts ansprechen (z. B. 192.168.1.100), niemals localhost. Aus Sicht des Sensors würde localhost auf den Sensor selbst zeigen, nicht auf Home Assistant. Das gilt unabhängig davon, ob HA als HAOS oder in einem Docker-Container läuft. Nur die HA-interne Kommunikation zum Broker läuft über localhost. Das betrifft die MQTT-Integration aus Schritt 1, nicht die Sensor-Konfiguration in Schritt 2.
Schritt 2: Senvolon KL MZ mit MQTT verbinden
- Rufen Sie die Web-App des Sensors im Browser auf (z.B. http://[Sensor-IP]). Wenn Ihr Router Namensauflösung unterstützt, können Sie auch den Hostnamen verwenden (z.B. http://hostname.fritz.box).
- Navigieren Sie zu den Verbindungen-Einstellungen.
- Wählen Sie die Verbindungsart „MQTT Broker" aus.
- Tragen Sie folgende Werte ein:
- Server: IP-Adresse des HA-Hosts (z.B. 192.168.1.100) – nicht localhost.
- Port: 1883.
- Login / Passwort: die MQTT-Zugangsdaten aus Schritt 1.
- Hauptthema: definiert das Thema, unter dem die Daten publiziert werden (z.B. wohnzimmer_praesenz).
- WICHTIG: Aktivieren Sie unbedingt den Schalter „Home Assistant" am Ende der Seite. Erst wenn dieser aktiv ist, wird MQTT Discovery eingeschaltet.
- Speichern Sie die Einstellungen mit „Speichern“, damit sie wirksam werden.
Warum das Hauptthema so wichtig ist: Dieser Name wird direkt Teil aller MQTT-Topics (z.B. tele/wohnzimmer_praesenz/STATE). Ein nachträgliches Umbenennen bedeutet, dass alle Automationen angepasst werden müssen. Überlegen Sie sich den Namen also einmal in Ruhe.
Status-Check: Ob die Verbindung erfolgreich steht, können Sie direkt im Konfigurationsmenü des Sensors überprüfen. Unten links wird Ihnen der aktuelle Verbindungsstatus angezeigt. Steht dort „unterbrochen“, besteht keine Verbindung zum Broker und es werden keine Daten an Home Assistant übertragen.
Schritt 3: MQTT Auto-Discovery in Home Assistant verifizieren
Nach korrekter MQTT-Konfiguration und aktiviertem HA-Schalter wird der Präsenzmelder automatisch von Home Assistant gefunden und konfiguriert.
- Navigieren Sie zu Einstellungen → Geräte & Dienste → MQTT → Geräte-Tab.
- Der Senvolon Sensor sollte dort als Gerät erscheinen, mit allen Entities bereits angelegt.
- Verifizieren Sie die für diese Automation relevanten Entity-IDs unter Entwicklerwerkzeuge → Zustände:
- binary_sensor.wohnzimmer_praesenz_presence (Präsenz: AN / AUS)
- sensor.wohnzimmer_praesenz_illuminance (Lux-Wert, numerisch)
Schritt 4: Zwei Lux-Schwellenwerte als anpassbare Helfer anlegen
Wir legen bewusst zwei Schwellenwerte an: einen zum Einschalten und einen höheren zum Ausschalten. Der Grund dafür ist die sogenannte Hysterese. Mit nur einem einzigen Schwellenwert würde das Licht bei Dämmerung im Sekundentakt flackern, sobald die gemessene Helligkeit um diesen einen Wert herum pendelt. Mehr dazu erfahren Sie im Kasten weiter unten.
Beide Werte legen wir als Zahlen-Helfer an. So können Sie diese später bequem über das Dashboard nachjustieren, ganz ohne Code-Änderungen.
Navigieren Sie zu Einstellungen → Geräte & Dienste → Helfer → Helfer erstellen → Zahl und legen Sie zwei Helfer an:
Helfer 1 – Einschalt-Schwelle
- Name: Lux EIN-Schwelle Wohnzimmer
- Minimum: 0 / Maximum: 1000
- Schrittweite: 10
- Einheit: lx
- Standardwert: 200
Helfer 2 – Ausschalt-Schwelle
- Name: Lux AUS-Schwelle Wohnzimmer
- Minimum: 0 / Maximum: 1000
- Schrittweite: 10
- Einheit: lx
- Standardwert: 400
Warum zwei Schwellen statt einer? Wenn EIN und AUS denselben Wert hätten (z.B. 200 lx), entstünde eine Endlosschleife: Das Licht geht an → die eigene Lampe hebt die gemessene Helligkeit über 200 lx → das Licht geht wieder aus → der Raum ist dunkel → das Licht geht erneut an. Mit einer Lücke zwischen Einschalten (unter 200 lx) und Ausschalten (über 400 lx) wird dieser Effekt verhindert.
Schritt 5: Automation „Licht EIN" erstellen
Navigieren Sie zu Einstellungen → Automationen → Automation erstellen → Mit dem Editor beginnen und fügen Sie folgenden YAML-Code ein:
alias: "Wohnzimmer: Licht bei Präsenz und Dunkelheit einschalten"
description: >
Schaltet das Licht ein, wenn der Senvolon Präsenzmelder Präsenz erkennt UND
der Lux-Wert unter die EIN-Schwelle fällt. Bei absoluter Dunkelheit wird ein
augenschonender Nachtlicht-Modus genutzt.
triggers:
- trigger: state
entity_id: binary_sensor.wohnzimmer_praesenz_presence
to: "on"
id: presence_detected
- trigger: numeric_state
entity_id: sensor.wohnzimmer_praesenz_illuminance
below: input_number.lux_ein_schwelle_wohnzimmer
for:
minutes: 1
id: lux_dropped
# Entprellung: kurze Helligkeitsschwankungen werden ignoriert.
conditions:
- condition: state
entity_id: binary_sensor.wohnzimmer_praesenz_presence
state: "on"
- condition: numeric_state
entity_id: sensor.wohnzimmer_praesenz_illuminance
below: input_number.lux_ein_schwelle_wohnzimmer
- condition: state
entity_id: light.deckenlampe_tv
state: "off"
# Logik:
# Das Licht geht nur an, wenn jemand anwesend ist, der Raum dunkel genug ist
# und das Licht aktuell noch ausgeschaltet ist.
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.wohnzimmer_praesenz_illuminance
below: 15
sequence:
- action: light.turn_on
target:
entity_id: light.deckenlampe_tv
data:
brightness_pct: 15
transition: 2
default:
- action: light.turn_on
target:
entity_id: light.deckenlampe_tv
data:
brightness_pct: 80
transition: 1
mode: single
Die Logik dahinter: Das Licht schaltet sich nur ein, wenn beide Bedingungen erfüllt sind (Präsenz vorhanden + Raum ist dunkel), unabhängig davon, welches Ereignis zuerst eintritt.
Der „Nachtlicht"-Modus ohne starre Uhrzeiten
Das Licht geht nur an, wenn es dunkel ist. Aber wie hell soll es eigentlich sein? Wenn Sie sich nachts um 03:00 Uhr ein Glas Wasser holen, gleicht eine Helligkeit von 80 % einem Verhörscheinwerfer.
Da wir eine smarte Helligkeitssteuerung bauen, nutzen wir einfach den Lux-Wert des Senvolon-Sensors, um zwischen „Dämmerung" und „tiefer Nacht" zu unterscheiden, und zwar ganz ohne starre Uhrzeiten. Genau das macht der choose-Block oben:
- Szenario A (es dämmert / bewölkt): Der Lux-Wert liegt unter der EIN-Schwelle (z. B. 200 lx), aber es ist noch etwas Restlicht da. Das Licht schaltet sich mit 80 % ein.
- Szenario B (absolute Dunkelheit / Nacht): Der Raum ist stockfinster (unter 15 lx). Das System erkennt die tiefe Nacht und schaltet das Licht augenschonend auf nur 15 % ein.
Schritt 6: Automation „Licht AUS" erstellen
alias: "Wohnzimmer: Licht bei Abwesenheit oder ausreichend Tageslicht ausschalten"
description: >
Schaltet das Licht aus, wenn keine Präsenz mehr erkannt wird ODER der Lux-Wert
über die höhere AUS-Schwelle steigt.
triggers:
- trigger: state
entity_id: binary_sensor.wohnzimmer_praesenz_presence
to: "off"
id: no_presence
- trigger: numeric_state
entity_id: sensor.wohnzimmer_praesenz_illuminance
above: input_number.lux_aus_schwelle_wohnzimmer
for:
minutes: 2
id: lux_sufficient
# Puffer: kurze Helligkeitsspitzen lösen kein Ausschalten aus.
conditions: []
actions:
- action: light.turn_off
target:
entity_id: light.deckenlampe_tv
mode: single
Warum die höhere Schwelle und das for: 2min?
Das Ausschalten greift erst, wenn die gemessene Helligkeit die AUS-Schwelle (z. B. 400 lx) übersteigt, und zwar auch nur dann, wenn dieser Zustand zwei Minuten lang anhält. So vermeiden Sie, dass ein kurzer Helligkeitsausschlag oder die eigene Lampe das Licht abrupt ausschaltet. Das Ausschalten bei Abwesenheit (no_presence) erfolgt dagegen sofort, da es hier keinen Grund zu warten gibt.
Schritt 7: Dashboard-Karte zum Nachjustieren anlegen
Damit sich der Aufwand der zwei Helfer auch auszahlt, legen wir eine kleine Lovelace-Karte an. Sie zeigt beide Schwellen zum Anpassen sowie den aktuellen Lux-Wert und den Präsenzstatus, was ideal für das spätere Feintuning ist. Öffnen Sie einfach Ihr Dashboard, klicken Sie auf Karte hinzufügen > Manuell und fügen Sie Folgendes ein:
type: vertical-stack
cards:
- type: entities
title: Lichtsteuerung per Lux-Wert
entities:
- entity: input_number.lux_ein_schwelle_wohnzimmer
name: EIN-Schwelle
- entity: input_number.lux_aus_schwelle_wohnzimmer
name: AUS-Schwelle
- entity: sensor.wohnzimmer_praesenz_illuminance
name: Aktuelle Helligkeit
- entity: binary_sensor.wohnzimmer_praesenz_presence
name: Präsenz
- type: entities
title: Licht
entities:
- entity: light.deckenlampe_tv
name: Deckenlampe
Tipp zum Einstellen: Beobachten Sie über einen Tag, welcher Lux-Wert auf der Karte angezeigt wird, wenn Sie das Licht gerade als nötig empfinden. Genau das ist Ihr EIN-Wert. Setzen Sie die AUS-Schwelle deutlich höher (Faustregel: das Doppelte), damit genug Abstand bleibt.
Warum ist der Nacht-Wert nicht auch ein Helfer? Das ist eine bewusste Entscheidung. Sie arbeiten in dieser Anleitung mit drei Lux-Grenzen: der EIN-Schwelle, der AUS-Schwelle und der Nacht-Grenze (die below: 15 im choose-Block der EIN-Automation, die zwischen 80 % und 15 % Helligkeit umschaltet). Die ersten beiden kalibrieren Sie erfahrungsbasiert über mehrere Tage, weshalb sie als Helfer auf dem Dashboard liegen.
Die Nacht-Grenze („praktisch stockdunkel“) justieren Sie dagegen so gut wie nie nach, weshalb sie der Einfachheit halber fest in der Automation bleibt.
Als Faustregel gilt: Werte, an denen Sie regelmäßig drehen, lagern Sie in Helfer aus. Reine Struktur-Werte, die sich nie ändern, dürfen direkt in der YAML stehen. Dazu gehören die Nacht-Grenze oder die Entprellzeiten (for: 1min und for: 2min). Sie hätten theoretisch auch alle drei Werte hart in die Automation schreiben können. Die Helfer kaufen Ihnen hier nur den Bedienkomfort, ohne jedes Mal den Editor öffnen zu müssen.
Wollen Sie den Nacht-Wert doch öfter anpassen? Dann legen Sie nach demselben Muster einfach einen dritten Helfer an und ersetzen Sie below: 15 durch below: input_number.lux_nacht_schwelle_wohnzimmer.
Tipps & Troubleshooting
Helligkeit lässt sich nicht per Offset kalibrieren: Anders als Temperatur, Luftfeuchtigkeit und Luftdruck bietet der Sensor für die Helligkeit keinen Offset zur Korrektur. Misst Ihr Sensor systematisch zu hell oder zu dunkel, gleichen Sie das nicht über einen Offset aus, sondern direkt über die Lux-Schwellen selbst. Genau dafür sind die Helfer auf dem Dashboard da.
Lux-Automation reagiert träge: Präsenz wird sofort gemeldet, der Lux-Wert per MQTT aber im Standard nur alle 5 Minuten (Sendeintervall). Für die Lichtsteuerung ist das meist unkritisch, weil sich Tageslicht ohnehin langsam ändert. Wenn Sie es reaktiver mögen, können Sie das Sendeintervall in der MQTT-Konfiguration des Sensors heruntersetzen.
Fehlalarme durch störende Objekte: Bewegungen von Ventilatoren oder Klimaanlagen können vom Radarsensor erfasst werden. Es stehen vier Zonen zum Ausschluss von Störungen zur Verfügung. Neben der manuellen Definition ist auch eine automatische Erkennung möglich. Stellen Sie vor der Aktivierung von „Störzonen setzen" jedoch sicher, dass sich absolut keine Personen im Erfassungsbereich aufhalten.
Nachlaufzeit (DELAY) optimieren: Die Nachlaufzeit legt fest, wie lange eine Präsenz aufrechterhalten wird, nachdem eine Zone verlassen wurde. Dank der 60-GHz-FMCW-Radartechnologie, die kleinste Bewegungen wie die Atmung registriert, werden auch komplett still sitzende oder schlafende Personen zuverlässig erkannt. Extrem lange Nachlaufzeiten wie bei klassischen Infrarot-Meldern sind unnötig; Werte zwischen 15 und 30 Sekunden reichen gewöhnlich aus.
Licht flackert oder schaltet ständig um: Das ist fast immer ein Schwellen- oder Platzierungproblem. Prüfen Sie, ob EIN- und AUS-Schwelle genug Abstand haben und ob die gesteuerte Lampe den Sensor direkt anstrahlt. Im Zweifel sollten Sie den Sensor versetzen oder den Abstand der Schwellen vergrößern.
Sensor erscheint nicht in HA: Überprüfen Sie, ob der Schalter „Home Assistant" in der Web-App des Sensors aktiviert und gespeichert wurde. Werfen Sie einen Blick in das MQTT-Broker-Konfigurationsmenü des Sensors: Wenn der Status unten links auf „unterbrochen“ steht, blockiert etwas die Kommunikation. Kontrollieren Sie zudem im Mosquitto-Log, ob die Verbindung vom Sensor erfolgreich aufgebaut wurde.
Fazit
Mit unserem Präsenzmelder KL MZ und Home Assistant entsteht eine Lichtsteuerung, die tatsächlich intelligent und dynamisch agiert. Sie bietet kein unnötiges Kunstlicht bei Tageslicht, kein abruptes Erlöschen bei stillem Sitzen, ein sanftes Nachtlicht bei Stockdunkelheit und dank der zwei Schwellenwerte auch kein nerviges Flackern in der Dämmerung. Das alles funktioniert zu 100 % lokal.
Erfahren Sie mehr über unsere Präsenzmelder und ihre erweiterten Funktionen von der zonenbasierten Raumüberwachung bis hin zum Multi-Personen-Tracking direkt auf unserer Produktseite.