Les automatisations permettent d'automatiser les tâches et les paramètres des appareils dans une maison. Les automatisations sont disponibles dans l'écosystème Google Home sous forme de routines dans le Google Home app (GHA) et via le automation script editor sur Google Home for web.
Désormais, les automatisations de l'écosystème Google Home sont disponibles via les API Home pour Android. Elles utilisent les mêmes concepts de base que les GHA routines et l'script editor, mais avec des fonctionnalités améliorées qui ne sont possibles que via les API Home, y compris :
- L'accès à tous les Matter standards et smart home traits pour un appareil, comme présenté dans les API Home.
- La prise en charge des flux d'exécution séquentiels, parallèles et de sélection.
Les automatisations sont écrites à l'aide d'Automation DSL, un langage spécifique au domaine conçu pour créer des automatisations en Kotlin.
Tous les traits et types que vous comptez utiliser dans votre application avec les API Device &Structure ou Automation doivent être enregistrés lors de l'initialisation. Consultez la section Initialiser la maison sur Android.
Conseils si l'utilisateur révoque les autorisations complètes
Si l'utilisateur révoque les autorisations complètes, toutes les automatisations existantes cesseront de fonctionner. De plus, si l'utilisateur révoque l'accès à des appareils spécifiques, les déclencheurs, les conditions et les actions associés à ces appareils cesseront de fonctionner.
Chaque fois que l'application démarre, assurez-vous que les autorisations sont toujours en vigueur. Si elles ont été révoquées, assurez-vous que toutes les données précédentes sont supprimées, y compris les données mises en cache dans l'application.
Parcours du développeur
L'API Automation fait partie d'un parcours de développement plus vaste. Elle intervient après l'intégration des API Structure et Device pour s'assurer que l'utilisateur peut utiliser une automatisation lorsqu'il le souhaite.
- Le développeur planifie son automatisation et la définit à l'aide d'Automation DSL.
- Le développeur intègre la définition de l'automatisation dans une application Android Kotlin.
- L'application présente les automatisations à un utilisateur en fonction des informations sur ses appareils, y compris les traits, les attributs, les commandes et les événements, collectées à l'aide de l'API Discovery ou de l'API Device.
- Avec l'API Discovery, l'application peut générer une automatisation brouillon personnalisée en fonction des types d'appareils et des traits présents dans la structure de l'utilisateur, avec ou sans l'intervention de l'utilisateur.
- L'API Device peut fournir la plupart des mêmes informations que l'API Discovery, mais elle n'est pas optimisée pour les cas d'utilisation de l'automatisation. Pour en savoir plus, consultez la section Comparer l'API Device et l'API Discovery.
- L'application crée l'automatisation réelle qui est associée à la structure sélectionnée.
- L'automatisation est désormais disponible dans la structure de l'utilisateur et peut être exécutée ou supprimée à l'aide des méthodes de l'API Structure.
L'utilisateur peut créer de nouvelles instances de l'automatisation à tout moment, en sélectionnant une autre structure ou, selon la logique de l'application, un autre ensemble d'appareils. Chaque fois qu'il le fait, l'application génère une nouvelle instance de l'automatisation.
Dans le scénario le plus simple, vous pouvez suggérer à vos utilisateurs une automatisation prédéfinie qui effectue une tâche relativement simple. Vous pouvez également présenter un squelette d'automatisation que l'utilisateur personnalise en fonction de ses besoins. Vous pouvez aussi écrire un éditeur d'automatisation ouvert qui permet à l'utilisateur de créer des automatisations complexes à l'aide de tous les blocs de construction disponibles dans l'API Automation.
Suggestions d'automatisation
Les API Home peuvent suggérer des automatisations pour un
Structure en fonction de facteurs
tels que les types d'appareils présents dans l'espace.
Les suggestions d'automatisation sont représentées par la
AutomationSuggestion
classe.
L'interface Structure englobe l'interface HasSuggestions, qui fournit la fonction suggestions(), qui renvoie une collection de suggestions d'automatisation.
Limites de ressources
Les limites suivantes s'appliquent aux automatisations dans les API Home :
| Métrique | Limite |
|---|---|
| Nombre maximal d'automatisations par structure | 64 |
| Nombre maximal de nœuds par automatisation | 128 |
| Nombre maximal de nœuds d'expression par automatisation | 64 |
| Nombre maximal d'instances d'automatisation par structure | 1024 |
| Nombre maximal d'instances d'automatisation par développeur et par structure | 64 |
| Nombre maximal d'exécutions par structure et par jour | 1024 |
| Nombre maximal d'exécutions par développeur, par structure et par jour | 128 |