Automatisierte Abläufe sind eine Möglichkeit, Aufgaben und Geräteeinstellungen in einem Zuhause zu automatisieren. Automatisierte Abläufe sind im Google Home-Ökosystem als Abläufe in der Google Home app (GHA) und über den automation script editor auf Google Home for web verfügbar.
Jetzt sind automatisierte Abläufe im Google Home-Ökosystem über die Home APIs für Android verfügbar. Sie verwenden dieselben grundlegenden Konzepte wie GHA Abläufe und der script editor, bieten aber erweiterte Funktionen und Möglichkeiten, die nur über die Home APIs möglich sind, darunter:
- Zugriff auf alle Matter Standard- und smart home Merkmale für ein Gerät, wie in den Home APIs dargestellt.
- Unterstützung für sequenzielle, parallele und ausgewählte Ausführungsabläufe.
Automatisierte Abläufe werden mit Automation DSL geschrieben, einer domänenspezifischen Sprache, die für die Erstellung von automatisierten Abläufen in Kotlin entwickelt wurde.
Alle Merkmale und Typen, die Sie in Ihrer App mit der Device &Structure API oder der Automation API verwenden möchten, müssen bei der Initialisierung registriert werden. Weitere Informationen finden Sie unter Zuhause unter Android initialisieren.
Anleitung, wenn der Nutzer alle Berechtigungen widerruft
Wenn der Nutzer alle Berechtigungen widerruft, funktionieren alle vorhandenen automatisierten Abläufe nicht mehr. Wenn der Nutzer den Zugriff auf bestimmte Geräte widerruft, funktionieren auch die mit diesen Geräten verknüpften Starter, Bedingungen und Aktionen nicht mehr.
Prüfen Sie bei jedem Start der App, ob die Berechtigungen noch gültig sind. Wenn sie widerrufen wurden, müssen alle vorherigen Daten entfernt werden, einschließlich aller in der Anwendung gespeicherten Daten.
Entwicklerprozess
Die Automation API ist nur ein Teil eines größeren Entwicklungsprozesses. Sie wird nach der Einbindung der Structure API und der Device API verwendet, um sicherzustellen, dass ein Nutzer einen automatisierten Ablauf verwenden kann.
- Der Entwickler plant den automatisierten Ablauf und definiert ihn mit Automation DSL.
- Der Entwickler bettet die Definition des automatisierten Ablaufs in eine Kotlin-Android-App ein.
- Die App präsentiert dem Nutzer automatisierte Abläufe basierend auf Informationen zu seinen Geräten, einschließlich Merkmalen, Attributen, Befehlen und Ereignissen, die mit der Discovery API oder der Device API erfasst wurden.
- Mit der Discovery API kann die App einen Entwurf für einen automatisierten Ablauf erstellen, der an die Gerätetypen und Merkmale in der Struktur des Nutzers angepasst ist, mit oder ohne Eingabe des Nutzers.
- Die Device API kann die meisten Informationen liefern, die auch die Discovery API liefert, ist aber nicht für Anwendungsfälle mit automatisierten Abläufen optimiert. Weitere Informationen finden Sie unter Device API und Discovery API vergleichen.
- Die App erstellt den tatsächlichen automatisierten Ablauf, der mit der ausgewählten Struktur verknüpft ist.
- Der automatisierte Ablauf ist jetzt in der Struktur des Nutzers verfügbar und kann mit Methoden der Structure API ausgeführt oder gelöscht werden.
Der Nutzer kann jederzeit neue Instanzen des automatisierten Ablaufs erstellen und dabei eine andere Struktur oder, je nach App-Logik, eine andere Gruppe von Geräten auswählen. Jedes Mal, wenn er das tut, erstellt die App eine neue Instanz des automatisierten Ablaufs.
Im einfachsten Fall können Sie Ihren Nutzern einen vordefinierten automatisierten Ablauf vorschlagen, der eine relativ einfache Aufgabe ausführt. Alternativ können Sie ein Grundgerüst für einen automatisierten Ablauf präsentieren, das der Nutzer an seine Bedürfnisse anpassen kann. Oder Sie können einen offenen Editor für automatisierte Abläufe erstellen, mit dem der Nutzer komplexe automatisierte Abläufe mit allen in der Automation API verfügbaren Bausteinen erstellen kann.
Vorschläge für automatisierte Abläufe
Die Home APIs können automatisierte Abläufe für eine
Structure vorschlagen, basierend auf Faktoren
wie den Gerätetypen im Raum.
Vorschläge für automatisierte Abläufe werden durch die
AutomationSuggestion
Klasse dargestellt.
Die Structure Schnittstelle
umfasst die
HasSuggestions
Schnittstelle, die die
suggestions()
Funktion bereitstellt, die eine Sammlung von Vorschlägen für automatisierte Abläufe zurückgibt.
Ressourcenlimits
Die folgenden Limits gelten für automatisierte Abläufe in den Home APIs:
| Messwert | Limit |
|---|---|
| Maximale Anzahl automatisierter Abläufe pro Struktur | 64 |
| Maximale Anzahl von Knoten pro automatisiertem Ablauf | 128 |
| Maximale Anzahl von Ausdrucksknoten pro automatisiertem Ablauf | 64 |
| Maximale Anzahl von Instanzen automatisierter Abläufe pro Struktur | 1024 |
| Maximale Anzahl von Instanzen automatisierter Abläufe pro Entwickler und Struktur | 64 |
| Maximale Anzahl von Ausführungen pro Struktur und Tag | 1024 |
| Maximale Anzahl von Ausführungen pro Entwickler, Struktur und Tag | 128 |