1. Introducción
Qué aprenderás
- Cómo diseñar y escribir una plantilla de automatización
- Cómo probar una plantilla de automatización con Google Home Developer Console
Requisitos
- Un teléfono Android o iOS con la app de Google Home
- Una lámpara inteligente incorporada a tu casa o un dispositivo simulado en el Google Home Playground.
Requisitos previos
Debes saber cómo escribir una automatización de Google Home. Si nunca escribiste una automatización, considera realizar el codelab Cómo crear una automatización de secuencias de comandos antes de continuar con este.
2. Plantillas e instancias de automatización
Los desarrolladores crean plantillas de automatización con el editor de plantillas de automatización en Google Home Developer Console. Las plantillas de automatización contienen la esencia de la lógica de la secuencia de comandos, ya que hacen referencia a los tipos de dispositivos, pero no a dispositivos específicos.
Con el editor de secuencias de comandos de automatización de Google Home para la Web, los usuarios finales toman una plantilla de automatización y crean una instancia personalizada que actúa sobre los dispositivos específicos de su propia casa. Una vez guardada, la instancia aparecerá en Rutinas familiares en la app de Google Home (GHA).
3. Planifica tu plantilla de automatización
Cuando se crea una automatización, se comienza por pensar en el problema que se intenta resolver y en lo que hará la automatización para resolverlo. Esto incluye consideraciones como las siguientes:
- Qué dispositivos quieres automatizar
- Qué activador (o evento) debe iniciar la ejecución de la automatización.
- Qué condiciones adicionales, si las hay, controlan si la automatización se ejecuta o no una vez que se activa
- Son las acciones que se deben realizar.
Para los fines de este codelab, la automatización hará dos cosas:
- Encender una luz a una hora específica
- Apagar la misma luz a una hora específica
Con esto en mente, ya puedes abrir el editor de plantillas y escribir la automatización.
4. Escribe la plantilla de automatización
Las automatizaciones se escriben de forma declarativa con el lenguaje de serialización de datos YAML.
Una plantilla de automatización tiene tres secciones principales:
- Metadatos: El nombre de la automatización, una descripción de lo que hace y, de manera opcional, algunas etiquetas que se usan para clasificar la automatización. Las palabras clave son las siguientes:
- LUCES Y ENCHUFES
- CLIMATIZACIÓN Y ENERGÍA
- SEGURIDAD Y CONCIENTIZACIÓN
- ENTRETENIMIENTO
- ELECTRODOMÉSTICOS Y MÁS
- Entrada: Define qué tipo de dispositivos se pretende controlar con la automatización. El motor de automatización usa esta información para saber qué tipos de acciones son válidas para los dispositivos previstos.
- Reglas de automatización: Definen la lógica de inicio y el comportamiento de la automatización.
Esta es la plantilla de automatización con la que trabajarás:
metadata:
name:
en: Scheduled light
description:
en: Turn the light on and off at specific times
tags:
- LIGHTING AND PLUGS
input:
the_light:
metadata:
name:
en: The light
description:
en: The light to be controlled
selector:
type: device
multiSelect: true
supportedTypes:
- LIGHT
time_on:
metadata:
name:
en: Time to turn on the light.
description:
en: The time of day to turn on the selected light.
selector:
type: time
default: sunset+30min
time_off:
metadata:
name:
en: Time to turn off the light.
description:
en: The time of day to turn off the selected light.
selector:
type: time
default: 10:00 pm
automations:
- name: Turn on the light
starters:
- type: time.schedule
at: $time_on
actions:
- type: device.command.OnOff
devices: $the_light
on: true
- name: Turn off the light
starters:
- type: time.schedule
at: $time_off
actions:
- type: device.command.OnOff
devices: $the_light
on: false
Lee la plantilla y ten en cuenta lo siguiente:
- La sección
metadatacontiene el nombre y la descripción de esta automatización. - La sección
inputdefine una variable llamadathe_lightque especifica un dispositivo de tipoLIGHT. Esto significa que esta plantilla solo se puede usar para luces, no para otros tipos de dispositivos. En otras palabras, cuando se le solicita a un usuario que configura tu automatización en su casa que seleccione un dispositivo para$the_light, su elección de dispositivo se restringe a los dispositivos del tipo que especificaste. - En la sección
input, también se definen dos variables llamadastime_onytime_off. Estos permiten que el usuario especifique cuándo iniciar las automatizaciones.time_onrepresenta la hora en que se enciende la luz ytime_offrepresenta la hora en que se apaga. Si el usuario no establece el valor detime_onotime_off, se usan los valores predeterminados. - La sección
automationsde nuestra automatización contiene dos reglas de automatización. Cada regla tiene un solo activadortime.scheduleque le indica a la automatización a qué hora debe iniciarse.
El editor de plantillas
El editor de plantillas de automatizaciones es la herramienta que usas para escribir plantillas de automatizaciones.
- Ve a Google Home Developer Console.
- Accede con la misma cuenta con la que configuraste el dispositivo en la app de Google Home.
- Crea un proyecto o selecciona uno existente.
- En Automatizaciones, haz clic en Desarrollar.
- Haz clic en Crear una plantilla.
- Copia la plantilla de automatización "Luz programada".
- Pega la plantilla de automatización "Luz programada" en el editor de plantillas.
- Haz clic en Validar. Resuelve los errores que puedan surgir y sigue validando y corrigiendo hasta que no se generen errores.
- Haz clic en Guardar para guardar la plantilla.
5. Prueba la plantilla
Ahora puedes probar la plantilla en la consola.
- Asegúrate de que la lámpara esté enchufada y sea visible en la app de Google Home.
- Si la luz está encendida, apágala.
- Ve a Google Home Developer Console.
- Abre el proyecto en el que creaste la plantilla.
- Selecciona Automatizaciones y, luego, la pestaña Prueba.
- Haz clic en Abrir junto a la plantilla de automatización "Luz programada".
- Selecciona la estructura en la que deseas probar la plantilla y, luego, haz clic en Siguiente.
- En el editor InputValue, especifica el nombre de la luz. Por ejemplo, si la luz se llama "Luz de escritorio - Oficina", selecciona
Desk light - Officeen el menú desplegable que aparece cuando haces clic a la derecha delights. También puedes escribir el nombre del dispositivo. - También en el editor de InputValue, especifica la hora
time_onpara que sea, por ejemplo, cinco minutos en el futuro y cambia la horatime_offpara que sea poco después de la horatime_on. - Cuando termines, el editor de InputValue debería verse de la siguiente manera:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am - Haz clic en Activar prueba.
- Espera a que pasen los dos horarios de inicio. La luz debe encenderse y apagarse en los horarios especificados.
Una vez que hayas probado tu plantilla correctamente, sabrás que tu automatización funciona bien.
6. ¡Felicitaciones!
Creaste correctamente una plantilla de automatización. ¡Genial!
En este codelab aprendiste a hacer lo siguiente:
- Cómo diseñar y escribir una plantilla de automatización
- Cómo probarlo en la consola para desarrolladores de Google Home
Próximos pasos
En este codelab, creaste una automatización muy simple. Las automatizaciones pueden hacer mucho más que programar el encendido y apagado de una luz. Ahora que comprendes los conceptos básicos para crear y probar una plantilla de automatización, puedes intentar crear plantillas de automatización para otros tipos de dispositivos, con diferentes activadores, condiciones y acciones.
Lecturas adicionales
Para obtener más información sobre las automatizaciones de Google Home, explora la documentación de referencia de Automatizaciones: