Présentation de l'API Automation

Les automatisations permettent d'automatiser les tâches et les paramètres des appareils d'une maison. Les automatisations étaient 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. Elles reposent sur les mêmes concepts de base que les routines GHA et les script editor, mais avec des fonctionnalités améliorées uniquement disponibles via les API Home, y compris:

  • Accès à toutes les caractéristiques Matter standards et smart home d'un appareil, comme présenté dans les API Home.
  • Prise en charge des flux d'exécution séquentiels, parallèles et sélectionnés.

Les automatisations sont écrites à l'aide du DSL Automation, 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 la section Initialiser la maison.

Parcours du développeur

L'API Automation fait partie d'un processus de développement plus vaste. Il vient 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 caractéristiques, 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 un brouillon d'automatisation personnalisé en fonction des types d'appareils et des caractéristiques présents dans la structure de l'utilisateur, avec ou sans son intervention.
    2. 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 d'automatisation. Pour en savoir plus, consultez la page Comparer l'API Device et l'API Discovery.
  4. L'application crée l'automatisation réelle 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 des instances de l'automatisation à tout moment, en sélectionnant une structure différente ou, en fonction de la logique de l'application, 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 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 également écrire un éditeur d'automatisation ouvert qui permet à l'utilisateur de créer des automatisations complexes à l'aide de tous les composants disponibles dans l'API Automation.

Limites de ressources

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

Tableau: Limites des ressources de l'API Automation
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 et par structure par jour 128