In einem SmartHome kommt man früher oder später an den Punkt Aktionen abhängig von An- und Abwesenheit zu triggern. Der ioBroker bietet dabei mehrere Möglichkeiten die Anwenheit festzustellen:
- Ping Adapter zum anpingen von Netzwerkgeräten
- UniFi Adapter für diejenigen, die ein UniFi Netzwerk betreiben
- BLE Adapter wenn man Bluetooth Beacons nutzen möchte
- …
Die meisten Lösungen haben dabei den Nachteil, dass sie nur zuhause funktionieren. Wenn man aber eine Aktion triggern möchte sobald man z.B. auf der Arbeit ankommt oder diese verlässt, muss man sich etwas anderes einfallen lassen.
Voraussetzungen
Die folgende Lösung setzt voraus, dass der ioBroker iot Adapter installiert ist, eine passende Lizenz (mind. Smart-Assistenten) erworben wurde und der Adapter grundsätzlich läuft. Zusätzlich muss die Tasker App und das Tasker Plugin AutoLocation auf dem Android Smartphone installiert sein.
Einstellungen im iot Adapter
- Auf der Konfigurationsseite der iot Instanz wechselt Ihr zunächst auf den „Services und IFTTT“ Tab.
- Dann fügt Ihr unter „Whitelist für Services“ einen neuen Dienst hinzu und klickt auf das „+“ rechts daneben. In meinem Fall heißt der Dienst „zone_markus“.
- Den Link darunter kopiert Ihr Euch am besten in die Zwischenablage, damit Ihr im Anschluss testen könnt, ob es grundsätzlich funktioniert.
- Anschließend auf „Speichern und schließen“ klicken, um die Konfiguration abzuschließen.
Um den Dienst zu testen, öffnet Ihr den Link einfach im Browser. Ersetzt aber vorher <SERVICE_NAME> durch den Namen Eures Dienstes (in meinem Fall „zone_markus“) und <SOME_TEXT> durch „Test“. Die Spitzenklammern müssen in beiden Fällen ebenfalls ersetzt werden. Die Rückmeldung im Browser solltet dann folgendes JSON sein:
{"result":"Ok"}
Zusätzlich solltet Ihr jetzt in den Objekten den dazugehörigen Datenpunkt finden. In meinem Fall lautet die ID des Datenpunktes „iot.0.services.custom_zone_markus“.
Einstellungen auf dem Smartphone
Auf dem Smartphone müsst Ihr zunächst in AutoLocation Geofences definieren, um sie anschließend in Tasker selber als Trigger nutzen zu können.
AutoLocation
- Öffnet zunächst AutoLocation auf Eurem Smartphone.
- Anschließend geht Ihr unter „Geofences“ auf den Punkt „Manage Geofences“.
- Um einen neuen Geofence anzulegen, klickt ihr auf das „+“.
- Auf der nun erscheinenden Karte klickt Ihr zunächst auf den Mittelpunkt Eures neuen Geofences. Mit dem Slider unten könnt Ihr die Größe des Geofences festlegen.
- Nachdem Ihr auf „Accept Geofence“ geklickt habt, werdet Ihr aufgefordert einen Namen für den Geofence einzugeben.
Tasker
Die Tasker Konfiguration besteht zunächst daraus die beiden Tasks für das Betreten und Verlassen des Geofences zu erstellen. Ihr benötigt dafür den Link aus der iot Instanz. Ich habe mir den angepassten Link in die Zwischenablage meines Smartphones kopiert. Das macht es später etwas einfacher.
- Öffnet Tasker auf dem Smartphone.
- Geht dann auf den Tab „Tasks“ und klickt auf das „+“.
- Gebt einen Namen für den Task ein. In meinem Fall ist das „Zone setzen: Zuhause“.
- Klickt dann wieder auf das „+“ und eine Aktion auszuwählen.
- In dem Dialg wählt Ihr zunächst „Netzwerk“ und anschließend „HTTP Request“ aus.
- In das URL Feld fügt Ihr jetzt die URL aus der iot Instanz ein.
- Anschließend geht Ihr 2x zurück, so dass Ihr wieder in der Liste der Tasks seid.
- Klickt jetzt lange auf den erstellten Tasks, so dass er farblich hinterlegt ist.
- Dann rechts oben auf die drei Punkte und dort wählt Ihr „Klonen“ aus.
- Gebt jetzt einen Namen für den geklonten Tasks ein. In meinem Fall ist das „Zone setzen: Unbekannt“.
- Jetzt auf den geklonten Task klicken, „HTTP Request“ anklicken und die URL anpassen. In meinem Fall habe ich „Zuhause“ ersetzt durch „Unbekannt“.
- Anschließend geht Ihr 2x zurück, so dass Ihr wieder in der Liste der Tasks seid.
Nachdem die beiden Tasks angelegt wurden, muss das zugehörige Profil angelegt werden.
- Wechselt auf den „Profile“ Tab und klickt auf das „+“.
- Wählt in dem Dialog „Status“, dann „Plugin“ und anschließend „AutoLocation“ und „Geofences“ aus.
- Klickt jetzt auf den Stift, danach auf „Geofence Name“ und wählt Euren Geofence aus.
- Bestätigt das Ganze mit dem Haken und geht anschließend zurück auf die Liste der Profile.
- Wählt jetzt den Task aus, der ausgelöst werden soll, wenn Ihr in der Zone seid. In meinem Fall ist das „Zone setzen: Zuhause“.
- Danach lange auf den Taks klicken und anschließend „Ausgang Task Zufügen“ anklicken.
- Wählt nun den Task aus, der ausgelöst werden soll, wenn Ihr nicht mehr in der Zone seid. In meinem Fall ist das „Zone setzen: Unbekannt“.
Funktionsweise
Immer wenn Ihr die Zone betretet oder verlasst, wird Tasker nach wenigen Momenten den entsprechenden Task auslösen und den Datenpunkt der iot Instanz aktualisieren.
Im ioBroker könnt Ihr den Wert des Datenpunktes dann als Trigger für Aktionen nutzen, indem Ihr ihn entweder in einem Script oder einem Blockly als Auslöser verwendet.
Ihr könnt natürlich auch weitere Geofences defininieren und z.B. eine weitere etwas größere Zone um Euer Zuhause legen und sobald Ihr diese Zone betretet automatisch das Tor Eurer Einfahrt öffnen lassen.
Dem Spieltrieb des SmartHomers ist hier praktisch keine Grenze gesetzt.