Nachdem wir uns vor kurzem schon angeschaut haben, wie sich nello in Homebridge einbinden lässt, widmen wir uns in diesem Artikel der Integration in eine andere Anwendung: Dieses mal ist es jedoch kein Smart Home Hub, mit dem wir nello synchronisieren wollen, sondern eine App.
Tasker ist ein wahres Schweizer Taschenmesser an Funktionalität.
Auch ohne Kenntnisse einer einzigen Programmiersprache erlaubt die App ihren Nutzern, einfache als auch komplizierte Routinen zu erstellen. Automatischer Flugzeugmodus nach Feierabend und an Wochenenden? Spotify starten, sobald du die Kopfhörer verbindest? Wöchentlich wechselnde Wecktöne? Alles kein Problem. In dieser Anleitung wollen wir euch nun Schritt für Schritt erklären, wie man auch die Türöffnung per nello als ausführbare Aufgabe in der App hinzufügen kann.
Wozu das Ganze? Nun, beispielsweise könnte man so eine Routine erstellen, die neben der Türöffnung durch nello auch gleich die App eures Smart Locks öffnet. Oder man verknüpft das Türöffnen mit einer WLAN-Verbindung, sodass euch die Tür automatisch geöffnet wird, wenn sich das Handy ins heimische Netz einwählt. Oder man erstellt ein Widget, welches nur kurz für eine Türöffnung den Flugzeugmodus ausschaltet – für Leute, die weder gestört noch in der Kälte stehen wollen. Und noch viel mehr..
Bei all unserer Begeisterung für Tasker sollten wir noch zwei Dinge vorher erwähnen:
- Zum einen ist die App Tasker nicht kostenlos, aktuell kostet sie im Google Play Store 2,99€.
- Zum anderen ist sie auch nur im Play Store erhältlich – iOS-Nutzer kommen bislang also noch nicht in den Genuss.
Neben der eigentlichen App sind noch einige andere Dinge erforderlich.
- Zum einen ein Zugang zu unserer öffentlichen API. Dieser lässt sich ganz einfach hier anfordern. Auf der Seite, die der Link öffnet, gibst du anschließend deine Zugangsdaten für dein nello-Konto ein, beantwortest ein paar kurze Fragen und bekommst anschließend eine client_id sowie ein client_secret. Bitte beides notieren, das wird später gebraucht. Wir empfehlen übrigens, einen separaten Benutzer nur für diese Einbindung einzuladen.
- Ein REST-Client. Wir haben uns auf unserer Windows-Maschine für den Insomnia Client entschieden, den es aber auch für MacOS und Linux gibt. Diese Anleitung bezieht sich explizit auf das Layout von Insomnia. Andere Clients erfüllen den Job allerdings auch.
- Da Tasker von Haus aus noch nicht alle Funktionen zur Verfügung stellt, die wir benötigen, bedarf es auch noch des kostenlosen Plugins RESTask for Tasker, ebenfalls im Play Store erhältlich.
Alle Dinge beisammen? Fantastisch, dann kann’s ja losgehen.
- Starte den Insomnia Client. Mittels des Buttons “New Request” lässt sich eine neue Anfrage starten. Der Name ist hier egal, der Typ jedoch (im Drop-Down-Menü ganz rechts auszuwählen) sollte auf GET gestellt sein. Mit “Create” wird die neue Anfrage erstellt.
- Unser erstes Ziel ist es, einen OAuth-2.0-Token zu erhalten, um uns für kommende Anfragen an das nello-Backend authentifizieren zu können. Die Adresse, die wir dafür ansprechen müssen, ist https://auth.nello.io/oauth/token/ . Diese kannst du einfach in die ausgegraute Adresszeile über dem Peace-Emoji ✌️ eintragen. Anschließend müssen wir unserem Backend noch mitteilen, von wem die Anfrage kommt. Unter “Body” wähle “Multipart Form” aus und gib folgende fünf Paare name ; value ein:
- grant_type ; password
- client_id ; [deine Client ID aus unserer API]
- client_secret ; [dein Client Secret]
- username ; [die E-Mail-Adresse, mit der du dich in der API angemeldet hast]
- password ; [das dazugehörige Passwort].
Anschließend wechsle zum Reiter “Header” und gib ein: - Content-Type ; application/x-wwwform-urlencoded
Wenn du nun “Send” bestätigst, solltest du eine Antwort bekommen, bei denen du Werte für “access_token”, “scope”, “refresh_token” und “token_type” erhältst. Wichtig ist nur der erste der vier, den bitte notieren.
- Eine weiter Anfrage benötigen wir noch, ehe wir alle notwendigen Informationen haben. Tausche die Adresse der Anfrage aus gegen https://public-api.nello.io/v1/locations/ und modifiziere den Header, sodass er folgende zwei Punkte enthält:
- Content-Type ; application/json
- Authorization ; Bearer [der access_token der vorherigen Anfrage, ohne Anführungszeichen]
Neben der Adresse, die in der nello-App hinterlegt ist, solltest du in der Antwort nun auch eine location_id sehen. Bitte notiere diese ebenfalls.
- Damit hat Insomnia seinen Dienst erfüllt und wir können uns nun an Tasker machen. Bitte gehe sicher, dass RESTask ebenfalls installiert ist. Nach dem Öffnen der App, wähle den Reiter “Tasks” und füge mit dem Plus-Icon eine neue Aufgabe hinzu, die du nun noch benennen darfst. Nach dem Bestätigen öffnet sich ein neuer Bildschirm, auf dem du ebenfalls wieder das Plus-Icon betätigst. Wähle im Menü anschließend “Plugin” -> “RESTask” aus. Der Schieberegler unter “Timeout” sollte möglichst niedrig gehalten werden. Dieser gibt nämlich an, wie lange Tasker versuchen soll, die Aufgabe zu erfüllen, wenn es nicht auf Anhieb klappt. Bei zu hohem Timeout und schlechter Internetverbindung beim initialen Abruf kann es so durchaus passieren, dass die Tür erst etliche Minuten bis Stunden später geöffnet wird. Wir empfehlen, 20 Sekunden nicht zu überschreiten. Neben dem Wort “Konfiguration” gibt es ein Stift-Icon, bei dessen Betätigung wir nun den eigentlichen Befehl eingeben können. Der Request Type muss auf PUT gestellt werden und unter “Host” gib bitte folgende URL eingegeben: https://public-api.nello.io/v1/locations/[deine location_id]/open/ . Die restlichen Einstellungen passen. Im Reiter “Header” allerdings müssen wir noch die zwei Einträge unserer zweiten GET-Anfrage hinzufügen, also:
- Content-Type ; application/json
- Authorization ; Bearer [access_token]
Jetzt nur noch per Disketten-Icon speichern und fertig ist unser nello-Task.
- Ab diesem Punkt ist eure Fantasie gefragt. Ihr könnt nun entweder die Aufgabe weiterhin bearbeiten (also weitere Aktionen nach dem Öffnen der Tür anhängen) oder unter dem Reiter “Profile” Bedingungen erstellen, die eine Türöffnung nach sich ziehen. Beispielsweise, dass nello genau dann die Tür öffnet, wenn sich euer Handy mit dem heimischen WLAN verbindet (Plus -> “Status” -> “Netzwerk” -> “WiFi verbunden” -> Heim-SSID eingeben). Einzelne Tasks lassen sich übrigens auch per Widget bei Bedarf abrufen. Das Widget ist unter “Tasker” als “Task Shortcut” zu finden. Damit ließe sich beispielsweise ein Widget programmieren, welches nicht nur die Tür öffnet, sondern auch gleichzeitig die App eures Smart Locks öffnet (im Task auf Plus -> “App” -> “Lade Applikation” -> eure Smart Lock App).
Viel Spaß mit nello und Tasker und euren neuen Routinen.
Viel Spaß mit Tasker wünschen wir euch nun. Wir sind schon sehr gespannt, welche ausgefeilten Routinen euch noch so einfallen.