Descripción general de la API de Automation en Android

Las automatizaciones son una forma de automatizar tareas y la configuración de dispositivos en una casa. Las automatizaciones han estado disponibles en el ecosistema de Google Home como rutinas en Google Home app (GHA) y a través de automation script editor en Google Home for web.

Ahora, las automatizaciones en el ecosistema de Google Home están disponibles a través de las APIs de Home para Android. Usan los mismos conceptos básicos que se utilizan en las rutinas de GHA y en script editor, pero con funciones y capacidades mejoradas que solo son posibles a través de las APIs de Home, incluidas las siguientes:

  • Acceso a todos los rasgos estándar de Matter y smart home de un dispositivo, como se presentan en las APIs de Home.
  • Compatibilidad con flujos de ejecución secuenciales, paralelos y selectivos

Las automatizaciones se escriben con el DSL de Automation, un lenguaje específico de dominio diseñado para crear automatizaciones en Kotlin.

Todos los rasgos y tipos que pretendas usar en tu app con las APIs de Device & Structure o Automation deben registrarse durante la inicialización. Consulta Cómo inicializar la página principal en Android.

Exploración del desarrollador

La API de Automation es una parte de un recorrido de desarrollo más amplio. Se realiza después de integrar las APIs de Structure y Device para garantizar que, cuando un usuario quiera usar una automatización, pueda hacerlo.

  1. El desarrollador planifica su automatización y la define con el DSL de Automation.
  2. El desarrollador incorpora la definición de automatización en una app para Android escrita en Kotlin.
  3. La app presenta automatizaciones a un usuario en función de la información sobre sus dispositivos, incluidos los rasgos, los atributos, los comandos y los eventos, recopilada con la API de Discovery o la API de Device.
    1. Con la API de Discovery, la app puede generar un borrador de automatización personalizado para los tipos y rasgos de dispositivos presentes en la estructura del usuario, con o sin la entrada del usuario.
    2. La API de Device puede proporcionar la mayor parte de la misma información que la API de Discovery, pero no está optimizada para los casos de uso de automatización. Consulta Compara la API de Device y la API de Discovery para obtener más detalles.
  4. La app crea la automatización real que se basa en la estructura seleccionada.
  5. La automatización ahora está disponible en la estructura del usuario y se puede ejecutar o borrar con los métodos de la API de Structure.

El usuario puede crear nuevas instancias de la automatización en cualquier momento, seleccionando una estructura diferente o, según la lógica de la app, tal vez un conjunto diferente de dispositivos. Cada vez que lo hacen, la app genera una nueva instancia de la automatización.

En el caso más básico, puedes sugerir a tus usuarios una automatización predefinida que realice una tarea relativamente básica. Como alternativa, puedes presentar un esquema de una automatización que el usuario personalice para satisfacer sus necesidades. También podrías escribir un editor de automatizaciones de extremo abierto que permita al usuario crear automatizaciones complejas con todos los componentes disponibles en la API de Automation.

Límites de recursos

Se aplican los siguientes límites a las automatizaciones en las APIs de Home:

Tabla: Límites de recursos de la API de Automation
Métrica Límite
Cantidad máxima de automatizaciones por estructura 64
Cantidad máxima de nodos por automatización 128
Cantidad máxima de nodos de expresión por automatización 64
Cantidad máxima de instancias de automatización por estructura 1024
Cantidad máxima de instancias de automatización por desarrollador y por estructura 64
Cantidad máxima de ejecuciones por estructura y por día 1024
Cantidad máxima de ejecuciones por desarrollador, por estructura y por día 128