NodeRED: WLAN-Präsenzerkennung mit OpenWrt

Damit die „Alarmanlage“ bei Abwesenheit automatisch scharf geschaltet wird, benötige ich eine Präsenzerkennung der Bewohner. Ist keiner anwesend, soll der Hüllschutz aktiviert werden. In der Nacht gehen unsere Telefone automatisch in den Flugmodus, so dass der Alarm auch in der Nacht aktiviert wird.
Ich nutze einen Router mit OpenWRT-Firmware, mit der es sich einfach lösen lässt.

Voraussetzungen

  • Du benötigst für diese Anleitung einen OpenWRT-Router und die Software owrtwifi2mqtt. Das Shellskript wird nach der Anleitung des Pakets auf dem Router installiert.
  • Der Router sendet die Daten per MQTT, so dass auch ein MQTT-Server benötigt wird. Wie du einen auf der RaspberryMatic installierst, kannst du im Beitrag „MQTT-Server auf der RaspberryMatic installieren“ nachlesen.

Umsetzung in NodeRED

In NodeRED interessieren mich nur die beiden Status new und delete, welche beim Beitritt und Verlassen des WLANs pro MAC-Adresse gesendet werden. Wird das WLAN verlassen, setze ich über verschiedene Timer noch Status für abwesend und länger abwesend. Damit verhindere ich nervöses Schaltverhalten bei kurzzeitigem Verlassen des Empfangsbereichs, weil ich im Garten gerade keinen Empfang habe.

Im Flow werden die Status auf true/false umgemappt und in den globalen Context „memory“ gespeichert. Danach wird kontrolliert, ob irgendjmd zu Hause ist. Diese Funktionalität nutze ich bspw. für das automatische scharf schalten der Alarmanlage.

NodeRED-Flow zur Präsenzermittlung
NodeRED-Flow zur Präsenzermittlung

Fazit

Mit OpenWRT gestaltet sich die Präsenzerkennung im WLAN relativ einfach. Ich steuere beispielsweise damit die Alarmanlage oder die Markise, welche nur bei Anwesenheit automatisch zur Verschattung ausfahren soll. Eine Heizungssteuerung erspare ich mir, das wird über die Profile im Thermostat abgefrühstückt.

Hilf durch deine Bewertung mit, diesen Blog zu verbessern!
Abonnieren
Benachrichtige mich bei
0 Kommentare
Älteste
Neueste Beliebteste
Inline Feedbacks
Alle Kommentare