Anwesenheitserkennung mit der FritzBox

warning Ich übernehme keine Verantwortung für Schäden, die durch die hier angebotenen Infos/Scripte entstehen! Sie wurden von mir nach besten Wissen und Gewissen erstellt, können jedoch Fehler enthalten. Alles geschieht auf eigene Gefahr!

Eine Heimautomatisierung wird gerade mit einer funktionierenden Anwesenheitserkennung erst richtig gut. Es gibt dabei Lösungen die über Geo-Fencing arbeiten. Dabei können z.B. Radien definiert werden. Überschreitet ein definiertes Gerät den virtuellen Fence (Zaun), dann können beliebige Aktionen ausgeführt werden. Das funktioniert soweit schon sehr gut, ist aber oftmals gar nicht gewünscht. Meistens reicht es, wenn es eine Erkennung im direkten Umkreis der Wohnung oder des Hauses gibt. Da mittlerweile fast jeder ein Smartphone besitzt und dieses in der Regel mit sich herumträgt, bietet sich dieses auch als Erkennungsobjekt an.

Nach einigen Tests bin ich bei einer Lösung gelandet, die ebenfalls die TR-064 Schnittstelle der Fritz!Box anwesenheitnutzt. Im Grunde prüfe ich alle 5 Minuten (das reicht mir) per Cronjob (PHP Script) auf der Synology, ob eines der Smartphones eingebucht ist. Wenn dies der Fall ist, wird über dasselbe Script ein Marker des Lightmanagers gesetzt. Schon hat man eine sehr zuverlässige Anwesenheitserkennung.

Das Besondere bei der FritzBox ist, dass diese auch die Ruhezustände der iPhones erkennt. Diese schalten nämlich nach einer gewissen Zeit das WLAN in einen Sparmodus. Was da genau passiert, weiß ich auch nicht. Die FritzBox erkennt jedoch weiterhin, dass das Gerät eingebucht ist.

Natürlich lassen sich auch andere Szenarien über diese Erkennung aufbauen. So könnte man z.B. eine Warnung auf dem Wandtablet-Dashboard generieren lassen, wenn z.B. einer der RGB WiFi LED Controller nicht mehr im Netzwerk eingebunden ist.

Hinweis: Das Einbuchen ins WLAN erfolgt immer unmittelbar und wird auch so von der FritzBox direkt erkannt und über die API herausgegeben. Beim Ausbuchen hingegen, kann es schon mal bis zu 10 Minuten dauern, bis die FritzBox den neuen Status des jeweiligen Hosts mitbekommen hat.

Hier die beiden PHP Scripte:

  • Direkte Ausgabe ohne setzen von Marker:
 

  • Keine Ausgabe / Direkte Aktion am Lightmanager: