Bevor Sie die Automation API verwenden, sollten Sie Ihre automatisierten Abläufe planen.
Legen Sie die folgenden Parameter für jede Automatisierung fest:
- Die Umstände, unter denen die Automatisierung dem Nutzer vorgeschlagen werden soll. Wenn der Nutzer beispielsweise gerade drei neue Lampen in seinem Zuhause hinzugefügt hat, ist er möglicherweise an einer bestimmten Automatisierung interessiert, die auf die Steuerung von Lampen zugeschnitten ist.
- Welche Gerätetypen für die Automatisierung erforderlich sind. Wenn der Nutzer beispielsweise gerade drei neue Lampen in seinem Zuhause hinzugefügt hat, ist er möglicherweise an einer bestimmten Automatisierung zur Steuerung von Lampen interessiert. Beispiele für Lichtgerätetypen sind
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceoderExtendedColorLightDevice. - Welche Geräteattribute und Befehle für die Automatisierung erforderlich sind und ob sie von der Automation API unter Android unterstützt werden.
- Die Merkmale, die die Automatisierung als Auslöser aktivieren sollen. Auslöser werden unter Automatisierungskomponenten unter Android beschrieben.
- Zusätzliche Bedingungen, die festlegen, ob die Automatisierung tatsächlich ausgeführt werden soll und welche Aktionen ausgeführt werden sollen.
- Der Ausführungsablauf für die Automatisierung. Soll die Ausführung sequenziell oder parallel erfolgen? Benötigen Sie mehrere Logikpfade?
Beim Entwerfen kann es hilfreich sein, den Ablauf der Automatisierung Knoten für Knoten mit der für jeden Schritt erforderlichen Logik zu skizzieren.
Nachdem Sie eine Automatisierung entworfen haben, können Sie sie mit der Automatisierungs-DSL erstellen. Die von dir erstellte Automatisierung ist im Grunde eine Vorlage. Alle Strukturen und Geräte darin sind Platzhalter und werden mit den spezifischen Strukturen und Geräten jedes Nutzers gefüllt, wenn er die Automatisierung für den eigenen Gebrauch übernimmt.
Im Folgenden finden Sie verschiedene Arten von Automatisierungen, die eine App mithilfe der Home APIs erstellen kann. Auf der Seite Automatisierung erstellen finden Sie Codeausschnitte zu diesen Beispielen.
Einfache Automatisierung
Angenommen, Sie müssen eine App schreiben, die eine Automatisierung erstellt, mit der die Jalousien um 8:00 Uhr hochgefahren werden. Dazu benötigt die App eine Liste der Jalousien (Geräte mit dem Gerätetyp WindowCoveringDevice) in der Struktur, die Automatisierungen unterstützen. Diese Liste kann über die Discovery API bereitgestellt werden.
Bei Automatisierungen, die zu einer bestimmten Zeit ausgeführt werden müssen, müssen Sie außerdem dafür sorgen, dass der Nutzer der ausgewählten Struktur in Google Home app (GHA) eine Adresse zugewiesen hat. Andernfalls kennt die Automatisierung die Zeitzone, in der sie ausgeführt wird, nicht. Mit der Discovery API können Sie feststellen, ob der Struktur eine Adresse zugewiesen wurde.
Der Ausführungsablauf sieht dann so aus:
- Rufen Sie mit der Discovery API die Liste der
WindowCoveringDevice-Geräte ab. - Wenn die Adresse nicht angegeben ist, benachrichtigen Sie den Nutzer, dass er eine Adresse angeben muss, und halten Sie die Ausführung an.
- Andernfalls definieren Sie die Automatisierung:
- Starte die Automatisierung um 8:00 Uhr.
- Rufen Sie für jede Jalousie den Befehl
upOrOpendes TraitsWindowCoveringauf.
Komplexe Automatisierung
Stellen Sie sich eine App vor, die eine Automatisierung erstellt, die blinkende Lichter auslöst, wenn eine Bewegung erkannt wird.
Eine der ersten Aufgaben bei der Implementierung dieser App ist es, mit der Discovery API herauszufinden, welche Lampen im Zuhause des Nutzers verfügbar sind. Anhand dieser Informationen kann Ihre App nun die verfügbaren Lichter anzeigen und dem Nutzer möglicherweise die Auswahl der Lichter ermöglichen, die blinken sollen.
Der Ausführungsablauf:
- Rufen Sie mit der Discovery API die Liste der in der Struktur vorhandenen Beleuchtungsgeräte ab. Das sind alle Geräte mit dem Gerätetyp
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDeviceoderExtendedColorLightDevice. - Bieten Sie eine Möglichkeit, die blinkenden Lichter auszuwählen, z. B. über ein benutzerdefiniertes Einstellungsfeld.
- Automatisierung definieren:
- Starte den automatisierten Ablauf, wenn jemand das Gebäude verlässt oder dort ankommt, indem du
AreaPresenceStateüberwachst. - Wenn
presenceStateangibt, dass die Struktur belegt ist, blinken Sie die ausgewählten Lichter.
- Starte den automatisierten Ablauf, wenn jemand das Gebäude verlässt oder dort ankommt, indem du
Allgemeine Automatisierung
Ein Beispiel für eine komplexere Automatisierung ist eine, die den Nutzer beim Erstellen einer Automatisierung mit offenem Ende unterstützt, die auf allen oder einigen der Geräte basiert, die er in seinem Zuhause hat.
Die Automatisierung fordert den Nutzer möglicherweise zuerst auf, eine Struktur auszuwählen.
Die Automatisierung könnte dann alle Räume in der Struktur in einer erweiterbaren Gliederungsansicht anzeigen. Wenn Sie einen Raum erweitern, werden die darin befindlichen Geräte angezeigt. Wenn Sie eine Geräteliste maximieren, werden die von diesem Gerät unterstützten Starter und Befehle angezeigt.
Der Nutzer konnte die Geräte, Auslöser und Befehle auswählen, die er verwenden wollte, und die Automatisierung führte ihn durch das Zusammenstellen einer Automatisierung.
Wenn alle Entscheidungen des Nutzers getroffen wurden, wird die Automatisierung generiert und in der ausgewählten Struktur gespeichert.
Für eine solche Automatisierung müssten mehrere Datensätze zum Zuhause des Nutzers mithilfe der Structure API für Android, der Device API für Android und der Discovery API erfasst werden.
| API | Informationen |
|---|---|
| Structure API |
|
| Geräte-API |
|
| Discovery API |
|