Anwesenheit in der Welt von Homematic
Ein Dauerbrennerthema in Foren und Gruppen ist das Thema „Anwesenheit“. Der Grund dafür ist einfach. Wenn man nicht zu Hause ist, möchte man
- informiert werden, wenn noch Fenster offen stehen
- die Heizung runterregeln
- die Kaffeemaschine ausschalten
- die Lichter ausschalten
- die Haustüre absperren
- die Markise einfahren
- …. uvm
Ich selbst nutze ein Android Smartphone, daher bezieht sich die untere Anleitung auf das Betriebssystem.
Folgende Möglichkeiten der Anwesenheitskontrolle gibt es (bzw. sind mir bekannt)
- Wer eine FritzBox hat und diese als Router nutzt, hat mit diesem Addon die perfekte Wahl getroffen (https://github.com/jens-maus/hm_pdetect)
- Vor dem Androidupdate auf 7.0 konnte das Smartphone noch angepingt werden. Wer noch die ältere Version hat, oder generell Geräte im Netzwerk anpingen möchte (Auto, PC, Tablet etc.), ist hier gut aufgehoben. (http://www.christian-luetgens.de/homematic/cuxd/ping/Ping-Geraet.htm) bzw. hier (http://www.christian-luetgens.de/homematic/cuxd/anwesenheit/Ping-My-iPhone.htm)
- Wer beispielsweise ioBroker verwendet, kann außerdem IFTTT nutzen. Hierbei ist aber der Cloudadapter notwendig. (http://forum.iobroker.net/viewtopic.php?t=6782)
Jetzt aber zu meiner Anleitung
Mit dieser Anleitung werde ich mit Tasker eine URL aufrufen, welche mit Hilfe des XML.API die Systemvariable „Anwesenheit“, basierend auf dem GPS Standort ändert.
Folgendes sollte vorbereitet sein, bevor wir loslegen:
- Installierte App „TASKER„
- Systemvariable vom Typ Logikwert anlegen (wenn nicht schon vorhanden)
- Installiertes Addon „XML-API“ (ACHTUNG: Für Raspberrymatic gibt es eine andere Version)
HINWEIS: Am besten sitzt du mit deinem Android Smartphone am PC
Als erstes testen wir, ob der URL Aufruf funktioniert.
Dazu benötigen wir die ISE_ID der Variable. Um diese zu bekommen, muss in der WebUI unter „Einstellungen“ –> „Zusatzsoftware“ unter dem installierten Addon „XML-API“ auf „Einstellen“ geklickt werden.
Anschließend landest du auf folgender Übersicht. Dort suchen wir den Punkt „sysvarlist.cgi“ (8ter Punkt von oben)
In der folgenden Übersicht werden alle Informationen zu den vorhandenen Systemvariablen angezeigt. Dort ist auch die „ISE_ID“ zu finden. Wer eine lange liste hat, kann auch mit „STRG + F“ nach dem Wort „Anwesenheit“ suchen. Wenn die gewünschte Variable gefunden ist, benötigen wir nur die Nummer.
Die URL ist dann wie folgt aufgebaut: (Die fett gedruckten Teile müssen durch die eigenen Daten ergänzt werden)
http://IP-der-CCU/config/xmlapi/statechange.cgi?ise_id=1504&new_value=true
Bei mir sieht die URL dann so aus: (Der Wert am Ende „true“ setzt die Variable auf „wahr“, also „anwesend“. Hier ist die Bezeichnung in der Variable egal. Es gibt nur „true“ und „false“.
http://192.168.1.22/config/xmlapi/statechange.cgi?ise_id=1504&new_value=true
Wenn die URL dann vervollständigt ist, dann einfach in deinem Browser aufrufen. Wenn alles richtig läuft, sollte das Ergebnis so aussehen und die Variable auf „anwesend“ stehen. Das Ganze geht natürlich auch mit „false“ und stellt dann die Variable auf „abwesend“.
Wenn das funktioniert, richten wir die App Tasker ein.
App öffnen, unter „Profile“ auf das „+“ klicken und „Ort“ auswählen.
GPS sollte spätestens jetzt aktiviert sein (PS: Wer möchte, kann hier als Trigger auch eine Bluetoothverbindung o.ä. auswählen). Um Geolocate zu starten einmal auf das GPS Icon klicken um es zu deaktivieren und anschließend wieder aktivieren. Unten bei „Radius“ kannst du den Umkreis bestimmen, indem du als „Anwesend“ erkannt werden möchtest.
Das ganze noch benennen („GPS Location“), und dann „Neuer Task“ wählen.
Den neuen Task nennen wir „URL aufrufen“
Mit einem Klick auf das „+“ erstellen wir einen neuen „Dann“ tag.
Unter dem Punkt „Netzwerk“ findest du den Punkt „URL aufrufen“. Dort muss dann die URL von oben rein.
Im Prinzip war es das schon. Da sich ja nun jedes Mal, wenn ich mich in den GPS Bereich bewege der Browser aufgeht und die URL aufruft, habe ich jedes Mal auf meinem Handy den Browser mit der URL offen. Das gefällt mir nicht. Ich möchte es lieber „versteckt“ haben. Daher fügen wir einen weiteren „Dann“ Tag dazu und suchen nach „home“ und wählen „Homescreen anzeigen“.
Danach setzen wir noch die Systemsperre, damit das Telefon nach dem Aufruf auch wieder gesperrt wird. Muss ja nicht sein, dass der Kumpel im Auto mitbekommt, wie die URL lautet 🙂
Wenn wir fertig sind, haben wir 3 Dann Bedingungen und es sollte in etwa so aussehen.
Bei mir funktioniert das Ganze relativ gut. Inwieweit der Akku mitmacht wird sich zeigen. Viel Spaß!
EDIT (06.10.2017): Die URL funktioniert natürlich nur im lokalen WLAN, daher prüfe ich hier die Anwesenheit. Den Status auf „abwesend“ zu setzen ist hier nicht möglich, da man beim verlassen des GPS Bereichs wahrscheinlich nicht mehr mit seinem Netzwerk verbunden ist.
Hallo,
wenn Du anstatt „URL aufrufen“ einfach „HTTP GET“ nimmst, wird kein Browser gestartet und Du ersparst Dir auch das Homescreen anzeigen danach.
Gruß, Ralf