Website-Icon Dein Smart Home Blog

Homematic Anwesenheit per Smartphone oder iPhone prüfen

© crissxcross

Homematic Anwesenheits anhand des iPhone WLAN Status prüfen

Die Heizung automatisch herunter regeln sobald man das Haus verlässt oder automatisch alle schaltbaren Steckdosen abschalten wenn ausser Haus geht. Wäre es nicht toll, wenn mein Zuhause wüsste wann ich weg bin?Das Licht automatisch einschalten sobald man zur Haustür herein kommt, oder schon mal die Heizung auf Wohlfühltemperatur einstellen. Das alles mit der Homematic zu automatisieren war mein Ziel.

Anwesenheit per Geofencing prüfen

Ist doch einfach werden viele jetzt denken, das geht doch mit der Geofencing Funktion. Ich hatte letztens in meinem Beitrag Neue pocket control HM Version 4.2 für Homematic mit Geofencing Funktion darüber berichtet. Im Alltag allerdings gestaltet sich diese Lösung als völlig unbrauchbar. Wer ein iPhone hat weiss um die Akku-Problematik. Mit aktivierter "Home Zone" in der pocket Control App ist das iPhone damit maximal 1/2 Stunde dein Begleiter.  Statt die Position über das Mobilfunknetz zu bestimmen, was deutlich shonender für den Akku ist, wurde es in der "pocket Control App" über das GPS gelöst.

Anwesenheit im SmartHome per GeoFencing prüfen

Anwesenheit per Bewegungsmelder prüfen

Ok, dann prüfe die Anwesenheit doch über Bewegungsmelder werden jetzt einige sagen. Ja das geht auch, wenn man nicht wie wir eine Katze hat. Der Homematic Bewegungsmelder hat für den Sicherheitsbereich einen "Unterkriechschutz". Dieser erfasst also auch alles was "unterhalb" des Bewegungsmelder passiert. Daher stellte dies keine Alternative für mich da. Ausserdem, was ist wenn ich Mittags auf der Couch ein kleines Nickerchen halte? Geht dann das Licht aus und es wird kalt? Alles keine Lösung!

Anwesenheit per Smartphone im WLAN

Was ist also eine Konstante wenn ich zu Hause bin, bzw. wie verändert sich diese wenn ich nicht zu Hause bin? Inzwischen ist das Smartphone zum ständigen Begleiter geworden. Warum also nicht anhand des Smartphone prüfen ob ich zu  Hause bin? Bin ich zu Hause anwesend, ist mein Smartphone im WLAN. Daher möchte ich euch in diesem Beitrag zwei Wege zeigen, wie man mit der Homematic ein Smartphone anpingt und die Antwort auswertet. Das iPhone ist hierbei eine Besonderheit, welche man jedoch auch lösen kann - aber dazu später in dem Beitrag mehr.

Smartphone feste IP Adresse vergeben

Smartphone im WLAN feste IP Adresse vergeben

In jedem Fall muss sichergestellt werden, das der WLAN Router dem Smartphone immer die gleiche IP Adresse vergibt. Nur so kann es später per PING erreicht werden. In der Fritzbox ist dies relativ einfach lösbar über eine kleine Checkbox. Hierzu einfach im Menü der Fritzbox auf den Menüpunkt Heimnetz > Netzwerk gehen und das entsprechende Mobilgerät auswählen, welches später angepingt werden soll. In der folgenden Ansicht wird bereits die aktuell vergebene IP Adresse des Gerätes angezeigt. Hier kann nun die Checkbox "Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen" aktiviert werden. Die Fritzbox wird damit in Zukunft anhand der MAC Adresse erkennen welches Gerät in das WLAN kommt und vergibt nun immer die gleiche iP Adresse.

Smartphone mithilfe CUX-Daemon anpingen

Nun könnte man bereits den Netzwerkstatus von Smartphones oder Tablets abfragen, sofern es kein iPhone oder iPad ist. Dies lässt sich mithilfe des CUX-Daemon auf der Homematic realisieren. Eine Anleitung findest du hier.

Besonderheit iPhone

Du hast ein iPhone? Dann müssen wir etwas anders vorgehen. Hintergrund ist, dass dein iPhone im Sperrbildschirm das WLAN abschaltet, um so Strom zu sparen. Demzufolge ist es per PING im Netzwerk nicht erreichbar. Aber auch das ist lösbar indem wir vor dem versenden eines PING das iPhone aus dem Lockscreen "aufwecken". Den Antwort-Wert des PING schreiben wir dann in eine Systemvariable.

Homematic Systemvariable anlegen

Es empfiehlt sich den Zustand der An- oder Abwesenheit einer Person in eine Systemvariable zu speichern. Dies hat den charmanten Vorteil das man später in verschiedenen Programmen mit diesem Wert arbeiten kann und ihn in Wenn > Dann Funktionen verwenden kann. Wohnt man im Haushalt nicht alleine, so muss man die Anwesenheit aller Personen prüfen bevor man im ganzen Haus das Licht  der die Heizung ausmacht. Eine Systemvariable kann in der Homematic ganz einfach über den Menüpunkt Einstellungen > Systemvariable erstellt werden. In meinem Beispiel habe ich die Logikwert Variable als iPhoneChris benannt. Eine Logikwert Variable kann genau zwei Zustände annehmen. 0 oder 1 oder anders gesprochen falsch oder wahr. In unserem Fall heißt das dann anwesend oder abwesend.

Systemvariable in der Homematic anlegen

iPhone wecken

Wie können wir beim iPhone verhindern, das es das WLAN im Lockscreen ausschaltet ? Verhindern kannst du das nicht. Hierzu gibt es keine Einstellung (Alternativ geht es wohl per Jailbreak). Wir können jedoch das iPhone aus dem Lockscreen "wecken" bevor der PING gesendet wird. Dies erfolgt über eine kleine APP namens Prowl. Eigentlich ist diese um über den kostenlosen Prowl Account Push Nachrichten auf das iPhone zu senden. Durch die Pushnachricht welche über das 3G Netz vom iPhone empfangen wird, "wacht" dieses aus dem Lockscreen auf.

1) App installieren

Zunächst brauchst du dafür die APP Prowl welche auf dem iPhone die Push Nachrichten empfangen wird. Sie kostet zwar ein paar Euro - aber es lohnt sich! [app url="https://itunes.apple.com/de/app/prowl-growl-client/id320876271?mt=8"]

2) kostenlosen Prowl Account erstellen

Danach benötigt ihr einen kostenlosen Prowl Account an welchen später eure Homematic die Nachrichten sendet. Den Account könnt ihr hier erstellen.

3) API Key generieren

Damit wir im nächsten Schritt die Push Nachricht versenden können, benötigen wir einen API Key - quasi den Schlüssel zum Account. Dieser kann ebenfalls kostenfrei im Prowl Account, rechts oben über den Tab "API Keys" generiert werden. Vergebt einen Namen für den Schlüssen - ich habe hier kreativer Weise "Homematic" genommen, weil der Key für die Homematic ist.

API Key Prowl Account

4) Homematic Script zum Nachrichten versenden

Nun benötigen wir ein kleines effektives Script, welches wir ausführen um eine Push Nachricht zu versenden. Diese Nachricht weckt das iPhone aus dem Lockscreen auf. Danach kann ein PING abgesetzt werden. Befindet sich dein iPhone im WLAN wird es auf den PING antworten. Wie der PING gesendet wird, erkläre ich gleich in diesem Beitrag. Das Script kann in der Homematic per Programm & Zentralenverknüpfung ausgeführt werden.

 

Den API Key musst du natürlich mit deinem generierten Key ersetzen. Bitte ersetze auch den Namen der Application im Script, durch den Namen welchen du beim anlegen des Keys vergeben hast.

Ping senden per Script

Nun prüfen wir ob das iPhone im WLAN erreichbar ist. Auch dies kann in der Homematic per Programm & Zentralenverknüpfung in einem Script geschehen, welches die IP Adresse des Smartphones anpingt. Dies kann mit dem folgenden Befehl ausgeführt werden: [blockquote]system.Exec("ping -c 1 192.168.2.xxx",&stdout, &stderr);[/blockquote]  Die IP Adresse ist an dieser Stelle natürlich mit der IP Adresse eures Smartphones zu ersetzen. Wir erinnern uns, diese können wir in der Fritz!Box auslesen.

Script zur Anwesenheitsprüfung in der Homematic

Die Antwort wird dann wie folgt ausgewertet und in unsere angelegte Systemvariable geschrieben. In meinem Beispiel ist die Variable "iPhoneChris" Den Namen der Systemvariable müsst ihr dann natürlich durch den Namen eurer angelegten Variable ersetzen.

 

Im Gesamten sieht das dann so aus:

 

Frage mich ob ich da bin, wenn die Haustür aufgeht

Es würde ziemlich nervig sein, wenn man alle 5 Minuten eine Push Nachricht aufs iPhone bekommt. Auch der Akku wäre innerhalb weniger Stunden durch das PING - Pong Spiel leer gesaugt. Daher habe ich mir einen Homematic Fenster-/ Tür Kontakt an meine Haustür angebaut. Sobald dieser öffnet, wird per Zentralenprogramm in der Homematic die Nachricht versendet und im Anschluss ein PING an mein iPhone gesendet. Zwei mal - davon einmal zeitversetzt. Warum? Das erste Mal erfolgt sofort Nachricht und PING falls ich die Tür öffne und nach Hause komme, damit sofort das Licht angeht. Der zweite PING ist für den Fall das ich das Haus beim öffnen der Tür verlassen habe. Zeitversetzt deshalb, weil ich ein paar Minuten benötige um die Treppe herunter zu gehen  (wir wohnen ganz oben ;-) ) und bis ich aus der Reichweite des WLAN Netzwerks bin. So einfach lässt sich eine Anwesenheitsprüfung durchführen. Ach ja übrigens: für die Sparfüchse - ihr solltet das WLAN des Routers dauerhaft eingeschaltet lassen - denn kommt ihr mal Nachts von Party nach Hause und das WLAN ist aus, geht das Licht nicht automatisch an und es bleibt kalt - denkt mal darüber nach :-)

Die mobile Version verlassen