Präsenzmelder für Home Assistant: lokal per MQTT einbinden

Präsenzmelder für Home Assistant: lokal per MQTT einbinden

Ein Präsenzmelder (auch Präsenzsensor oder Anwesenheitssensor genannt) für Home Assistant soll zuverlässig erkennen, ob jemand im Raum ist, und damit eine echte Anwesenheitserkennung liefern, auch wenn niemand sich bewegt, und seine Werte ohne Umweg über eine Cloud liefern. Die Senvolon-Präsenzmelder verbinden sich per WLAN mit Ihrem MQTT-Broker, Home Assistant legt alle Entitäten automatisch an. Hier lesen Sie, worauf es ankommt, und wie Sie den Präsenzmelder in fünf Schritten einbinden.

Worauf es bei einem Präsenzmelder für Home Assistant ankommt

  • Präsenz und Bewegung: Ein Radar erkennt auch, wer liest, am Schreibtisch sitzt oder schläft. Ein Infrarot-Bewegungsmelder (PIR) sieht nur Bewegung, das Licht geht dann mitten im Film aus. Mehr dazu: Präsenzmelder oder Bewegungsmelder?
  • Lokal, ohne Hub: Die Werte gehen per MQTT direkt an den Broker in Ihrem Netz. Es braucht keine Zentrale des Herstellers, keine App und kein Konto.
  • Automatische Einbindung: Mit MQTT Discovery meldet sich der Präsenzmelder selbst bei Home Assistant an. Sie tragen den Broker einmal ein, der Rest passiert von allein.
  • Zonen als eigene Entitäten: Beim KL MZ wird jede Erkennungszone, etwa Sofa oder Esstisch, eine eigene Entität mit dem Namen, den Sie ihr geben.
  • Raumklima im selben Gerät: KL, KL LD und KL MZ messen zusätzlich Temperatur, Luftfeuchte und Luftdruck. Für Heizung und Lüftung brauchen Sie keinen zweiten Sensor.

Welches Modell zu Ihrem Raum passt, zeigt die Übersicht aller Präsenzmelder: der KL für einzelne Räume, der KL LD mit 9 m für große Räume und der KL MZ mit Zonen und mehreren Personen.

In fünf Schritten in Home Assistant

  1. MQTT-Broker installieren. Falls Sie noch keinen Broker nutzen: In Home Assistant unter Einstellungen, Apps, App installieren den Mosquitto broker installieren und starten.
  2. MQTT-Integration einrichten. Unter Einstellungen, Geräte & Dienste erscheint MQTT meist schon als gefunden. Auf Konfigurieren klicken und bestätigen.
  3. Anmeldung für den Präsenzmelder anlegen. Unter Einstellungen, Apps, Mosquitto broker den Reiter Konfiguration öffnen und unter „Logins“ einen Eintrag mit Benutzername und Passwort hinzufügen, zum Beispiel mqtt-sensor. Speichern und die App neu starten. Ein eigener Benutzer in Home Assistant ist dafür nicht nötig.
  4. Präsenzmelder verbinden. Die Oberfläche des Präsenzmelders im Browser öffnen (seine IP-Adresse), dann Verbindungen. Dort eintragen:
    • Verbindungsart: MQTT Broker
    • Server: die IP-Adresse von Home Assistant, Port 1883
    • Benutzer und Passwort aus Schritt 3
    • Hauptthema: ein eindeutiger Name ohne Umlaute, etwa praesenz_wohnzimmer
    • Home Assistant: einschalten
    Speichern. Der Präsenzmelder verbindet sich neu.
  5. Fertig. Nach etwa einer Minute steht der Präsenzmelder unter Einstellungen, Geräte & Dienste, MQTT als eigenes Gerät. Die Zonen benennen Sie in der Oberfläche des Präsenzmelders, beim KL MZ unter Zonen Namen, bei KL und KL LD unter Zonen; Home Assistant übernimmt den Namen. Wie Sie am KL MZ Zonen anlegen, steht in Zonen am Präsenzmelder KL MZ einrichten.
Präsenzmelder KL MZ in Home Assistant, per MQTT automatisch erkannt: Präsenz, Zone Sofa, Personenzahl, Helligkeit, Temperatur, Luftfeuchte, Luftdruck, Sirene, LEDs und Einstellungen
So erscheint der KL MZ in Home Assistant: per MQTT automatisch erkannt, ohne Hub und ohne App.

Diese Werte kommen in Home Assistant an

KL MZ KL und KL LD
Präsenz für den Raum und für jede Zone für den Raum, dazu Bewegung und ruhende Präsenz
Personen und Zonen Anzahl erkannter Personen, Präsenz je Zone (bis zu 4 frei gezeichnete Zonen) welche Zone belegt ist (Entfernungsbereiche mit Namen, KL bis zu 3, KL LD bis zu 5)
Entfernung nein Entfernung der erkannten Person, getrennt nach Bewegung und ruhender Präsenz
Helligkeit in Lux in Lux
Temperatur, Luftfeuchte, Luftdruck ja ja
Schalten aus Home Assistant Sirene, LEDs Sirene

Beim KL MZ stellen Sie aus Home Assistant außerdem Empfindlichkeit, Montageart, Nachlaufzeit und Alarmmodus ein. Ein Wechsel der Montageart löscht alle Zonen und die Grenze; stellen Sie sie deshalb vor dem Zeichnen der Zonen ein. Bei KL und KL LD erscheint nur die Sirene als Schalter; Nachlaufzeit, Montageart, LED und die Empfindlichkeit nach Entfernung stellen Sie in der Oberfläche des Präsenzmelders ein. Aus Home Assistant ändern Sie sie per MQTT-Befehl an cmnd/<Hauptthema>/<Befehl>, etwa DETECTION_TIMEOUT für die Nachlaufzeit. Alle Befehle stehen in der Anleitung des Präsenzmelders.

Dieselben MQTT-Werte nutzen Sie auch, wenn Sie den Präsenzmelder mit ioBroker, openHAB oder Node-RED betreiben. Mit diesen Werten bauen Sie die typischen Automationen: Licht nur bei Präsenz und Dunkelheit, Heizen nur in belegten Räumen, Lüften nach Luftfeuchte. Schritt für Schritt: Lichtsteuerung mit dem KL MZ, smarte Alarmanlage und Anwesenheitssimulation im Urlaub.

Was sich mit Präsenz, Temperatur und Luftfeuchte aus einem einzigen Gerät bauen lässt, zeigt das How-to Home Assistant Heizung nach Anwesenheit steuern. Home Assistant heizt dann nur belegte Räume und meldet, wann Sie lüften sollten, mit Blueprints zum Import.

Wenn der Präsenzmelder nicht erscheint

  • Home Assistant eingeschaltet? Ohne den Schalter Home Assistant auf der Seite Verbindungen legt Home Assistant nichts automatisch an.
  • Benutzer und Passwort: Beide müssen mit dem Eintrag unter „Logins“ im Mosquitto broker übereinstimmen; im Protokoll des Mosquitto broker steht bei falschen Daten „not authorised“.
  • Hauptthema doppelt? Zwei Geräte mit demselben Hauptthema überschreiben sich gegenseitig.
  • WLAN: Der Präsenzmelder nutzt 2,4 GHz. Steht er in der Oberfläche auf „verbunden“, liegt es am Broker.
  • Werte „unbekannt“: Direkt nach dem Einrichten, bis die erste Meldung kommt. Das dauert höchstens ein Sendeintervall. Temperatur, Luftfeuchte und Luftdruck brauchen nach dem Einschalten etwa 30 Minuten, bis sie stimmen.
  • Verbindung prüfen: Bei KL, KL LD und KL MZ zeigt die LED Grün, wenn die MQTT-Verbindung steht, und Blau, wenn nur das WLAN verbunden ist. Ist der Schalter „LED“ aus, erlischt sie 90 Sekunden nach dem Start. Unter System lässt sich ein Protokoll einschalten, das Fehler der WLAN- und MQTT-Verbindung aufzeichnet.

Häufige Fragen

Brauche ich Zigbee, Matter oder einen Hub?

Nein. Die Senvolon-Präsenzmelder verbinden sich per WLAN (2,4 GHz) mit Ihrem Netz und senden per MQTT an den Broker, etwa Mosquitto in Home Assistant. Ein Zigbee-Stick oder eine Bridge ist nicht nötig.

Funktioniert das ohne Internet?

Ja. Präsenzmelder, Broker und Home Assistant sprechen nur in Ihrem Netz miteinander. Internet braucht nur die optionale Cloud für Fernzugriff und Push-Nachrichten.

Wie schnell meldet der Präsenzmelder eine Änderung?

Präsenz und Bewegung meldet er sofort, wenn sie sich ändern. Helligkeit und Raumklima sendet er im einstellbaren Sendeintervall, ab Werk alle 5 Minuten.

Geht das auch mit ioBroker, openHAB oder Node-RED?

Ja. Diese Systeme lesen dieselben MQTT-Werte vom Broker.

Anhang: manuelle Einrichtung für ältere Firmware

Ältere Präsenzmelder (Basis mit einer Firmware vor Version 2.4) unterstützen MQTT Discovery noch nicht. Aktualisieren Sie am besten die Firmware über die Oberfläche des Präsenzmelders. Alternativ tragen Sie die Sensoren von Hand in die configuration.yaml ein und ersetzen dabei TOPIC durch Ihr Hauptthema:

mqtt:
  sensor:
    - name: "Brightness"
      unique_id: "PS_Brightness"
      state_topic: "tele/TOPIC/STATE"
      value_template: "{{ value_json.light }}"
      unit_of_measurement: "%"
    - name: "Presence"
      unique_id: "PS_Presence"
      state_topic: "stat/TOPIC/PRESENCE"
    - name: "Distance"
      unique_id: "PS_Distance"
      state_topic: "stat/TOPIC/DETECTION_DIST"
      unit_of_measurement: "cm"

Danach die Konfiguration prüfen und Home Assistant neu starten.

Sehen Sie vor dem Kauf, was Ihr Präsenzmelder erfasst

Zeichnen Sie Ihren Raum mit Möbeln und Türen, setzen Sie einen Melder und sehen Sie, wo er Präsenz erkennt. Im Browser, auch am Handy, ohne Anmeldung.