Présentation de l'API Automation sur Android

Les automatisations permettent d'automatiser des tâches et des paramètres d'appareils dans une maison. Les automatisations sont disponibles dans l'écosystème Google Home sous forme de routines dans Google Home app (GHA) et via automation script editor sur Google Home for web.

Les automatisations de l'écosystème Google Home sont désormais disponibles via les API Home pour Android. Elles utilisent les mêmes concepts de base que les routines GHA et script editor, mais avec des fonctionnalités améliorées qui ne sont possibles que grâce aux API Home, y compris :

  • Accès à tous les traits Matter standards et smart home d'un appareil, tels qu'ils sont présentés dans les API Home.
  • Prise en charge des flux d'exécution séquentiels, parallèles et sélectifs.

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 prévoyez d'utiliser dans votre application avec les API Device & Structure ou Automation doivent être enregistrés lors de l'initialisation. Consultez Initialiser la maison sur Android.

Parcours du développeur

L'API Automation ne représente qu'une partie d'un parcours de développement plus vaste. Elle intervient après l'intégration des API Structure et Device pour s'assurer qu'un utilisateur peut utiliser une automatisation lorsqu'il le souhaite.

  1. Le développeur planifie son automatisation et la définit à l'aide du DSL d'automatisation.
  2. Le développeur intègre la définition de l'automatisation dans une application Android Kotlin.
  3. L'application présente des 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.
    1. Avec l'API Discovery, l'application peut générer une automatisation brouillon personnalisée en fonction des types et des caractéristiques d'appareils présents dans la structure de l'utilisateur, avec ou sans l'intervention de l'utilisateur.
    2. L'API Device peut fournir la plupart des informations de l'API Discovery, mais elle n'est pas optimisée pour les cas d'utilisation de l'automatisation. Pour en savoir plus, consultez Comparer l'API Device et l'API Discovery.
  4. L'application crée l'automatisation réelle qui est associée à la structure sélectionnée.
  5. 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 structure différente ou, selon la logique de l'application, peut-être un ensemble d'appareils différent. Chaque fois qu'il le fait, l'application génère une nouvelle instance de l'automatisation.

Dans le scénario le plus élémentaire, 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 pour répondre à ses besoins. Vous pouvez également écrire un éditeur d'automatisation à réponse libre qui permet à l'utilisateur de créer des automatisations complexes à l'aide de tous les blocs de construction disponibles dans l'API Automation.

Limites de ressources

Les limites suivantes s'appliquent aux automatisations dans les API Home :

Table: Automation API resource limits
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