Landkarte Deutschland

Anwesenheitserkennung mit Geofancy und Webhook

Möglichkeiten der Anwesenheitserkennung zur Gebäudeautomatisierung gibt es reichlich. Sei es nun durch die Abfrage von mobilen Geräten im Heimnetz oder die Ermittlung von zusätzlichen Bluetoothgeräten (beacons).

Eine weitere Möglichkeit besteht durch die Nutzung des sogenannten Geofencings. Beim Geofencing wir die Anwesenheit in Abhängigkeit der Positionen (GPS Daten) von Personen genutzt. Wie man das Ganze mit FHEM abbilden kann, sei hier kurz dargestellt.

Das eigentliche FHEM Modul ist schnell eingerichtet. Via

define myGeoFence GEOFANCY geo

ist das Modul sofort einsatzbereit. Das Modul nimmt ab sofort anfragen auf der URL/IP der FHEM Instanz entgegen. Alternativ ist es aber auch möglich, ein zusätzliches FHEM WEB bereitzustellen und dieses darüber hinaus auf einem anderen Port lauschen zu lassen.

Der Ablauf

Eine auf dem SmartPhone (IOS o. Android) läuft eine Geofence APP. Diese fragt in regelmäßigen Abständen die aktuelle Position des Benutzers ab und sendet diese per WebHook an die FHEM Instanz, wenn erforderlich. Damit das aber funktioniert, muss die Instanz entsprechend aus dem Web erreichbar sein. Auch hier führen mehrere Wege zum Ziel. Entweder man nutzt eine klassische Portweiterleitung auf dem Router oder aber setzt gleich auf ein Routing via entsprechendem ReverseProxy. Noch einfacher geht es, wenn man schon ein VPN auf dem Smartdevice im Einsatz hat. Eine umständliche Einrichtung eines Reverse Proxy oder von Portweiterleitungen ist dann nicht erforderlich, da die Kommunikation direkt über den Tunnel vollzogen wird.

Wie sich eine on Demand VPN Verbindung nutzen lässt, hatte ich erst kürzlich beschrieben.

In der App konfiguriert man sich verschiedene Zonen. Die wichtigste ist dabei die Home Zone. Also die Angabe des zu Hauses. Diese lässt sich clever mit einer entsprechenden Radiusangabe versehen. Verlässt oder aber Betritt man nun diese Zone wird ein WebHook Request zur FHEM bzw. GEOFANCY Instanz ausgelöst. Auf die entsprechenden Readings des Geofancy Moduls kann man dann entsprechend weitere Aktionen auslösen. Wer schon das ROOMMATE (Residents) bzw. HOMEMODE Modul im Einsatz hat, kann auch dieses nutzen und man erspart sich die Konfiguration zahlreicher notifies bzw. Aktionsabfragen. Die ID des jeweiligen SmartDevices hinterlegt man dazu einfach in den Attributen des Residents (Bewohner des Hauses).

Beim Einsatz des ROOMMATES Moduls etc. benennt man die Zone in der APP am besten in „home“ um, damit eine automatische Zuordnung erfolgen kann.

Grundsätzlich kann man sich aber auch weitere Zonen anlegen, auf welche dann individuell reagiert bzw. gesteuert werden kann. Besonders interessant ist die als „wayhome“ zu benennende Zone, welche einen größeren Radius umschliessen sollte. Damit ist es möglich zu erkennen, dass man sich auf dem Weg nach Hause befindet. So kann man beispielsweise in Abhängigkeit der Entfernung unterschiedliche smart Home Aktionen ausführen. Dieses wird in einem gesonderten Reading des Residents (der Person) gespeichert.

Beispiel: So ist es beispielsweise möglich, wenn man den Radius von 200m betritt, dass schon Beleuchtungen oder die Heizungsanlage geschaltet werden. Beim Verlassen, kann man dann entsprechend in den heimischen Energiesparmodus wechseln.

Besonderheiten IOS ab Version 15

Man wird „leider“ feststellen, dass mit dem Update von IOS auf Version 15 die Auslösung von webhooks nicht immer zuverlässig funktioniert. So wird dieser beispielsweise beim Verlassen des Radius nicht immer ausgelöst. Dieses liegt in IOS ab Version 15 begründet. Wann dieser Effekt seitens Apple korrigiert wird, steht in den Sternen.

Aber es gibt einen sehr guten und zuverlässigen WorkAround: Der FOCUS.

Über die Focus Funktion von IOS richtet man sich einfach einen zusätzlichen, individuellen Fokus ein. In diesen Fokus nimmt man die Geofence sowie alle Benachrichtigungen etc. die man benötigt auf. Wichtig ist die Angabe / Aktivierung der „dringlichen Benachrichtigungen“. Anschliessend wird die Auslösung der WebHooks zuverlässig ausgeführt. Das Ganze hat mit den RAM Sperren von IOS zu tun – lässt sich aber wie beschrieben umgehen. Den neuen Fokus schaltet man dann 24 Stunden aktiv. Die Nutzung weiterer FOCUS Konfigurationen ist natürlich weiterhin möglich (Nicht stören etc.). In diese nimmt man aber, um den WorkAround vollumfänglich zu bedienen, jeweils die Geofence App auf.

Hinweis: Die Geofence IOS App ist kostenpflichtig, lässt sich aber zumindest in der Apple Welt über die Familienfreigabe mehrfach installieren. Mit einem Preis von 5,99€ nicht gerade günstig aber die Investition auf jeden Fall wert.