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 la consola para desarrolladores de Google Home
Requisitos
- Un teléfono Android o iOS con la app de Google Home
- Una lámpara inteligente que esté integrada en tu casa o un dispositivo simulado en el Playground de Google Home
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. Instancias y plantillas de automatización
Los desarrolladores crean plantillas de automatización con el editor de plantillas de automatización en la consola para desarrolladores de Google Home. Las plantillas de automatización contienen la esencia de la lógica de la secuencia de comandos y 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 en los dispositivos específicos de su propia casa. Una vez que se guarde, 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 empieza por pensar en el problema que se está tratando de resolver y en qué hará la automatización para resolverlo. Esto incluye consideraciones como las siguientes:
- Qué dispositivos quieres automatizar
- Qué activador (o evento) debe activar 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?
- Qué acciones se deben realizar.
Para los fines de este codelab, tu automatización realizará dos acciones:
- Enciende una luz a una hora específica.
- Apaga la misma lámpara a una hora específica.
Con esto en mente, ya tienes todo listo para 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 su función y, opcionalmente, algunas etiquetas que se usan para clasificar la automatización. Las palabras clave son:
- Iluminación y enchufes
- CLIMA Y ENERGÍA
- SEGURIDAD Y RECONOCIMIENTO
- ENTRETENIMIENTO
- ELectrodomésticos Y MÁS
- Entrada: Define los tipos de dispositivos que la automatización está diseñada para controlar. El motor de automatización usa esta información para saber qué tipos de acciones son válidos para los dispositivos previstos.
- Reglas de automatización: Define 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
metadata
contiene el nombre y la descripción de esta automatización. - En la sección
input
, se define una variable llamadathe_light
que 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 a un usuario que configura la automatización en su casa se le solicita que seleccione un dispositivo para$the_light
, su elección se restringe a los dispositivos del tipo que hayas especificado. - También se definen en la sección
input
dos variables llamadastime_on
ytime_off
. Estos permiten que el usuario especifique cuándo iniciar las automatizaciones.time_on
representa la hora en que la luz está encendida, ytime_off
representa la hora en que la luz está apagada. Si el usuario no establece el valor detime_on
otime_off
, se usan los valores predeterminados. - La sección
automations
de nuestra automatización contiene dos reglas de automatización. Cada regla tiene un solo activadortime.schedule
que le indica a la automatización a qué hora debe iniciar esa automatización.
El editor de plantillas
El editor de plantillas de automatizaciones es la herramienta que usas para escribir plantillas de automatización.
- Ve a la consola para desarrolladores de Google Home.
- Accede con la misma cuenta con la que configuraste el dispositivo en la app de Google Home.
- Crea o selecciona un proyecto existente.
- En Automatizaciones, haz clic en Desarrollar.
- Haz clic en Crear una plantilla.
- Copia la "Luz programada" plantilla de automatización.
- Pega la "Luz programada" plantilla de automatización en el editor de plantillas.
- Haz clic en Validar. Resuelve cualquier error que pueda surgir y sigue con la validación y la corrección hasta que no se generen errores.
- Haz clic en Save 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 la consola para desarrolladores de Google Home.
- Abre el proyecto en el que creaste tu plantilla.
- Selecciona Automatizaciones y, luego, la pestaña Prueba.
- Haz clic en Abrir junto a la opción "Luz programada". plantilla de automatización.
- Selecciona la estructura en la que deseas probar la plantilla y, luego, haz clic en Siguiente.
- En el editor InputValue, especifica el nombre de tu luz. Por ejemplo, si la lámpara se llama "Luz de escritorio: Oficina", deberás seleccionar
Desk light - Office
en 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 de
time_on
a una hora, por ejemplo, cinco minutos en el futuro, y cambia la hora detime_off
a una hora poco después de latime_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 transcurran los dos tiempos de inicio. La luz debería encenderse y, luego, apagarse en los momentos especificados.
Una vez que hayas probado correctamente tu plantilla, sabrás que la automatización será funcionalmente sólida.
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 de una luz. Ahora que comprendes los conceptos básicos para crear y probar una plantilla de automatización, puedes probar crear plantillas de automatización en 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 las automatizaciones: