1. Introducción
Qué aprenderás
- Cómo planificar y escribir una automatización de secuencias de comandos
- Cómo probar una automatización de secuencias de comandos
Requisitos
- Un teléfono Android o iOS con la app de Google Home
- Una lámpara inteligente o cualquier otro dispositivo certificado para Funciona con Google Home y que se pueda encender o apagar
2. Configura el dispositivo
Si aún no se configuró el dispositivo, configúralo en tu casa.
Confirma que el dispositivo aparezca en la app de Google Home y que puedes encenderlo y apagarlo desde esa app.
3. Planifica tu automatización de secuencias de comandos
Comenzaremos por pensar en lo que queremos que haga nuestra automatización de secuencias de comandos. Esto incluye consideraciones como las siguientes:
- Qué dispositivos quieres automatizar
- Qué activador (o evento) debe activar la ejecución de la automatización de secuencias de comandos.
- ¿Qué condiciones adicionales, si las hay, controlan si la automatización de secuencias de comandos se ejecuta o no una vez que se activa?
- Qué acciones se deben realizar.
Para los fines de este codelab, nuestro plan es que la automatización de secuencias de comandos realice las siguientes dos tareas:
- Enciende la lámpara (o algún otro dispositivo inteligente) en un momento específico.
- Apaga el dispositivo en un horario específico.
Ahora que tenemos claro qué es exactamente lo que queremos que haga nuestra automatización de secuencias de comandos, abriremos el editor y escribiremos la automatización.
4. Cómo escribir la automatización de secuencias de comandos
Las automatizaciones con secuencias de comandos se escriben de forma declarativa con el lenguaje de serialización de datos YAML.
Una automatización de secuencias de comandos consta de dos secciones principales:
- Metadatos: Es el nombre de la automatización de secuencias de comandos y una descripción de lo que hace.
- Reglas de automatización: Define la lógica de inicio y el comportamiento de la automatización.
Metadatos
Los metadatos de nuestra automatización le indican al usuario cómo se llama la automatización y qué hace. Los metadatos se especifican en el bloque metadata
, que se ve de la siguiente manera:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Reglas de automatización
Una regla de automatización es donde se lleva a cabo el trabajo real. Consta de tres partes, activadores, condiciones y acciones, que se evalúan en orden:
1 Activadores | 2 Condiciones | 3 acciones |
Los activadores son los que inician la automatización. Al menos un activador debe evaluarse como | Son opcionales y consisten en una o más restricciones adicionales que se evalúan después de que se activa un activador. Si las condiciones se resuelven en Cuando incluyas varias restricciones, sepáralas con las palabras clave Una condición no es lo mismo que una notificación de cambio de estado:
| Las acciones son operaciones que se realizan cuando se cumplen el activador y las condiciones de restricción. |
El bloque automations
de nuestra automatización contiene dos reglas:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
Ten en cuenta lo siguiente:
- Hay dos reglas
automations
. El primero enciende la luz y el segundo la apaga. - Cada regla tiene una sola acción.
on: true
significa encender la luz. De manera similar,on: false
significa apagar la luz.- Cada regla tiene un solo activador
time.schedule
que le indica a la automatización a qué hora debe iniciarla. - No hay condiciones en esta automatización.
5. La automatización de secuencias de comandos completa
Al unir todos estos elementos, este es el aspecto de la automatización de secuencias de comandos completa:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- Copia la automatización (arriba).
- Ve a Google Home para la Web.
- Selecciona la pestaña de automatizaciones, que está representada por un ícono con tres estrellas:
- Haga clic en + Agregar nueva.
- En el editor de secuencia de comandos, borra la plantilla de automatización.
- Pega tu automatización.
- Reemplaza
Desk light - Office
por el nombre y la ubicación de tu dispositivo. - Haz clic en Validar. El editor subraya las secciones de la automatización de secuencias de comandos que contienen errores. Resuelve cualquier error que surja y continúa con la validación y corrección hasta que no haya más errores. Por ejemplo, es posible que el nombre de tu dispositivo sea diferente. En ese caso, puedes usar la función de autocompletar para seleccionar un nombre de dispositivo válido.
- Haz clic en Guardar.
- Asegúrate de que el interruptor Activar, debajo del texto de la secuencia de comandos, esté en la posición activado:
6. Prueba la automatización
- Asegúrate de que tu dispositivo esté conectado y sea visible en la app de Google Home.
- Si el dispositivo está encendido, apágalo.
- En la página Automatizaciones en Google Home para la Web, haz clic en el botón “ejecutar”. junto a tu automatización.
- Se debería encender el dispositivo.
Ahora, probemos la automatización.
- Apaga el dispositivo.
- Edita la automatización y cambia el estado del dispositivo el tiempo de la línea 7 a un horario de cinco minutos en el futuro.
- Cambia el modo de apagado del dispositivo tiempo de la línea 14 a un horario poco después de la hora de “a tiempo”.
- Haz clic en Validar. Resuelve cualquier error que pueda surgir.
- Haz clic en Guardar.
- Asegúrate de que el interruptor Activar esté en la posición de encendido.
- Espera a que transcurran los dos tiempos de inicio. El dispositivo debería encenderse y apagarse en los momentos que especificaste.
7. ¡Felicitaciones!
Creaste correctamente una automatización de secuencias de comandos. ¡Excelente!
En este codelab aprendiste a hacer lo siguiente:
- Cómo diseñar y escribir una automatización
- Cómo probar una automatización
Próximos pasos
En este codelab, creamos una automatización muy simple. Las automatizaciones pueden hacer mucho más que programar el encendido de un interruptor de encendido. Ahora que comprendes los conceptos básicos de la creación de una automatización, puedes explorar los diferentes tipos de activadores, condiciones y acciones que están disponibles en el ecosistema de Google Home.
Prueba los siguientes ejercicios:
- Agrega más activadores
time.schedule
a la automatización. - Modificar la automatización para encender y apagar otro dispositivo con el mismo programa
- Sin quitar los activadores
time.schedule
, modifica la automatización para que solo encienda los dispositivos cuando otro dispositivo esté encendido. Consulta las secuencias de comandos de ejemplo que usan la cláusulacondition
. - Modificar la automatización para que los dispositivos solo se enciendan cuando haya alguien en casa
Lecturas adicionales
Para obtener más información sobre las automatizaciones de Google Home, explora la documentación de referencia de las automatizaciones: