Crea una plantilla de automatización

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:

  1. Encender una luz a una hora específica
  2. 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:

  1. 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
  2. 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.
  3. 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 metadata contiene el nombre y la descripción de esta automatización.
  • La sección input define una variable llamada the_light que especifica un dispositivo de tipo LIGHT. 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 llamadas time_on y time_off. Estos permiten que el usuario especifique cuándo iniciar las automatizaciones. time_on representa la hora en que se enciende la luz y time_off representa la hora en que se apaga. Si el usuario no establece el valor de time_on o time_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 activador time.schedule que 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.

  1. Ve a Google Home Developer Console.
  2. Accede con la misma cuenta con la que configuraste el dispositivo en la app de Google Home.
  3. Crea un proyecto o selecciona uno existente.
  4. En Automatizaciones, haz clic en Desarrollar.
  5. Haz clic en Crear una plantilla.
  6. Copia la plantilla de automatización "Luz programada".
  7. Pega la plantilla de automatización "Luz programada" en el editor de plantillas.
  8. Haz clic en Validar. Resuelve los errores que puedan surgir y sigue validando y corrigiendo hasta que no se generen errores.
  9. Haz clic en Guardar para guardar la plantilla.

5. Prueba la plantilla

Ahora puedes probar la plantilla en la consola.

  1. Asegúrate de que la lámpara esté enchufada y sea visible en la app de Google Home.
  2. Si la luz está encendida, apágala.
  3. Ve a Google Home Developer Console.
  4. Abre el proyecto en el que creaste la plantilla.
  5. Selecciona Automatizaciones y, luego, la pestaña Prueba.
  6. Haz clic en Abrir junto a la plantilla de automatización "Luz programada".
  7. Selecciona la estructura en la que deseas probar la plantilla y, luego, haz clic en Siguiente.
  8. En el editor InputValue, especifica el nombre de la luz. Por ejemplo, si la luz se llama "Luz de escritorio - Oficina", selecciona Desk light - Office en el menú desplegable que aparece cuando haces clic a la derecha de lights. También puedes escribir el nombre del dispositivo.
  9. También en el editor de InputValue, especifica la hora time_on para que sea, por ejemplo, cinco minutos en el futuro y cambia la hora time_off para que sea poco después de la hora time_on.
  10. 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
    
  11. Haz clic en Activar prueba.
  12. 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: