Anleitung: Home Assistant Companion App mit Standortbestimmung
Das Smart Home besteht für viele Menschen aktuell noch aus netten Einzellösungen, wie fernsteuerbare Lampen oder einer Videotürklingel. Richtig intelligent und sinnvoll wird das Zuhause aber erst, wenn all diese Geräte mit einem zentralen System zusammengeführt werden. In diesem Anleitung beschäftigen wir uns daher mit der Einrichtung der Home Assistant Companion App unter iOS und der Nutzung von Geo-Location für Automationen.
Überblick
Home Assistant ist durch seine Vielzahl an Komponenten wunderbar als zentrale Plattform für ein lokal gehostetes Smart Home geeignet. Um komfortable auf die eigenen Vierwände aus der Ferne zugreifen zu können, gibt es für Nutzer von Apple iOS Geräten (d.h. iPhones* oder iPads*) die kostenlose Home Assistant Companion App im Apple Appstore. Diese App ermöglicht im Allgemeinen drei Dinge, die die Bedienung und das Nutzungserlebnis von Home Assistant noch besser machen:
- Zugriff auf alle mit Home Assistant verbundenen Geräte, Sensoren und Automationen über eine übersichtliche Oberfläche
- Versenden von Benachrichtigen an die mobilen Endgeräte* (und Senden von Befehlen) via Push Nachrichten (siehe dazu unsere dedizierte Anleitung)
- Übermitteln des Gerätestandortes, um die Anwesenheit von Personen festzustellen
Voraussetzung
Um die Home Assistant Companion App auf eurem Gerät zu installieren, sind einige Voraussetzungen zu erfüllen, die im Folgenden kurz genannt werden sollen:
- Eure Home Assistant Instant benötigt ein gültiges, NICHT selbstsigniertes SSL-Zertifikat (Apple erlaubt keine selbstsignierten Zertifikate auf iOS-Geräten)
- Eure Home Assistant Instanz ist über ein DDNS-Service aus dem Internet erreichbar
- Euer iPhone* oder iPad* läuft mindestens mit iOS9 (besser iOS 10)
- Home Assistant ist auf dem aktuellsten Stand und auf jeden Fall neuer als V 0.42.4
Sind all diese Anforderungen erfüllt, könnt ihr euch an die Installation der Home Assistant Companion App aus dem App Store machen.
Konfiguration
Wir wollen nun zusammen Schritt für Schritt die Konfiguration der Home Assistant Companion App vornehmen, sodass sich das smarte Zuhause schon bald einfach und sicher via Smartphone* steuern lässt. Wer gerne auch Siri in die Geschichte mit einbinden möchte, um Befehle an das Smart Home per Sprache zu senden, der sollte sich unsere Home Assistant <-> Home Bridge Anleitung genauer ansehen.
Schritt 1: Initiale Konfiguration
Nach der Installation und dem ersten Start der App präsentiert sich der initiale Setup-Dialog. Hier muss zunächst die via SSL verschlüsselte URL eures Home Assistant System angegeben werden. Zusätzlich müsst ihr an dieser Stelle das Passwort für eure Home Assistant Instanz mitteilen. Wenn ihr die Discover Komponenten in eurer configuration.yaml aktiviert habt und sich euer iPhone* via WLAN im gleichen Netzwerk wie der Home Assistant Server befindet, sollte euch die Home Assistant Instanz auch automatisch durch die App aufgelistet werden. In diesem Fall wird durch ein Klick die URL automatisch übernommen und ihr müsst lediglich das Passwort eingeben. Ein Klick auf Speichern sollt euch zu der mobilen Ansicht eurer Geräte führen.
Diese Ansicht entspricht exakt der Ansicht, wie sie auch am Desktop-Computer erscheint. Nur werden die Kacheln auf einem Smartphone vertikal anstatt nebeneinander angeordnet. Auch die üblichen „Tabs“ (in Home Assistant Views genannt) werden am oberen Rand abgebildet.
Tipp: Für Views lediglich Icons festlegen und keine Namen. Das spart auf dem Smartphone-Display viel Platz und ist leichter zu bedienen.
Schritt 2: Status anzeigen und Komponenten aktivieren
In die Einstellung der App gelangt ihr am unteren rechten Rand mithilfe des Zahnradsymbols. Der Bereich Status gibt wichtige Infos über eure Home Assistant Instant. Hier werden Name, Version und der Status wichtiger Erweiterungen angezeigt. Im Regelfall sollte unter „iOS Komponente geladen“ und „Geräte Tracker Komponente geladen“ ein „x“ erscheinen. Diese beiden Komponenten müssen wir nun aktivieren, damit ihr 1) Push-Nachrichten an das iPhone senden könnt und 2) den Standort des iPhones* an das Smart Home übermitteln könnt.
Dazu ergänzen wir in unserer configuration.yaml folgende Zeilen, um den Namen und Standort unserer Zuhauses zu bestimmen. Die Zeile Radius gibt an, ab wann ein Endgerät als „zuhause“ gilt.
zone: - name: Home latitude: XX.XXXXX longitude: XX.XXXXX radius: 20 icon: mdi:account-multiple
Anschließend aktivieren die fehlenden Komponenten:
device_tracker:
und
ios:
Nachdem wir die configuration.yaml gespeichert und den Home Assistant Service neugestartet haben, sollte im Statusbereich der Home Assistant Companion nun ein Haken bei den Komponentenstatus erscheinen.
Schritt 3: An- oder Abwesenheit des iPhone an Home Assistant senden
Den wichtigsten Schritt habt ihr bereits mit der obigen Aktivierung der device_tracker Komponente erledigt. Sollte die Companion App dieses nicht bereits selbst erledigt haben, müsst ihr eurem iPhone* oder iPad* nur noch eine Geräte-ID zuweisen. Diese findet sich unter dem Statusbereich in den App Einstellungen. Unter der dort abgebildeten ID ist das Telefon dann in Home Assistant bekannt.
An dieser Stelle lohnt ein Blick in die known_devices.yaml von Home Assistant. Im Bestfall wurde hier bereits automatisch ein Eintrag für euer iPhone angelegt. Dieser sieht wie folgt aus:
nils_iphone: hide_if_away: false icon: mac: name: Nils picture: track: true vendor:
Sollte dies nicht der Fall sein, ergänzt obige Zeilen (natürlich die ID aus der App und den Namen anpassen) und speichert die Datei. Startet Home Assistant neu. Anschließend sollte im Sensor-Tab das Telefon erscheinen und aktuelle Daten, wie Standort oder Ladestatus und Batteriestand übermittel werden. Initial sind die GPS-Koordination natürlich noch leer, das ändern wir im nächsten Schritt.
Schritt 4: Home Assistant Companion App Zugriff auf den Standort gewähren
Nun kommunizieren Home Assistant und iPhone* bereits miteinander, lediglich die Standortübertragung muss noch aktiviert werden. Dazu wechselt ihr ganz unten in den App Einstellungen in den Punkt „Standorteinstellungen“ und aktiviert diese. Den iOS-Dialog, welcher nach der Berechtigung der App in Bezug auf den Gerätestandort fragt, bestätigt ihr mit „Immer“.
Auf der nachfolgenden Dialogseite solltet ihr ganz unten die Daten eures Smart Home sehen, die ihr oben konfiguriert habt (Standort, Radius). Ganz oben wählt ihr die „Update Sources“ aus. Diese bestimmen in welchen Fällen, eine Standortaktualisierung (auch bei geschlossener App) an Home Assistant gesendet wird. Ihr habe hier alle Quellen aktiviert.
Darunter lässt sich wählen, in welchem Fall ihr benachrichtig werden möchtet, sofern ein Standortupdate versandt wurde. Das wars auch schon.
In der Geräteansicht der App findet ihr am linken unteren Rand zwei weitere Symbole. Der Pfeil löst ein manuelles Update des Standorts aus und sendet diesen sofort an Home Assistant. Das Kartensymbol zeigt die Position eures Zuhauses auf einer Karte. Außerdem werden die letzten Standorte aller registrierten Geräte angezeigt.
Schritt 5: Die Positionsdaten für eine Automatisation nutzen
Im letzten Schritt wollen wir noch ein kurzes Beispiels durchgehen, wie sich die Anwesenheitsdaten nutzen lassen können. In unserem Beispiel soll bei einem Wechsel des Anwesenheitsstatus von „anwesend“ zu „abwesend“ an einem Wochentag das Licht ausgeschaltet werden. Dazu legen wir die folgende Automatisation an:
automation: - alias: 'Regel: Lampe Wochentags aus' trigger: - platform: state entity_id: nils_iphone from: 'home' to: 'not_home' condition: condition: time weekday: - mon - tue - wed - thu - fri action: service: homeassistant.turn_off entity_id: switch.lampe_esszimmertisch
Schlusswort
Die Integration von Standortdaten ist dankt der Home Assistant Companion App unter Apple* iOS relativ einfach zu realisieren. Mithilft der Anwesenheitsdaten lassen sich sehr mächtige Regeln zur Automatisierung erstellen. Ein Tipp: Werden mehrere Smartphones in einer Gruppe zusammengefasst, entspricht der Anwesenheitsstatus immer der Teilmenge der Geräte. D.h. ist ein Gerät zu Hause, ist die Gruppe „anwesend“. Sind beide Geräte „abwesend“ ist auch der Status der Gruppe „abwesende“. So lässt sich einfach vermeiden, dem Partner das Licht auszuschalten*, nur weil man schon auf dem Weg zur Arbeit ist. 😉
Wir freuen uns, wie immer, über Anmerkungen und Kommentare.