Crea una plantilla de automatización

Acerca de este codelab
schedule34 minutos
subjectÚltima actualización: 26 de septiembre de 2023
account_circleEscrito por Jonathan Donald and Andres Gomez
  • 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
  • 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

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.

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:

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

  1. 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
  2. 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.
  3. 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 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 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 llamadas time_on y time_off. Estos permiten que el usuario especifique cuándo iniciar las automatizaciones. time_on representa la hora en que la luz está encendida, y time_off representa la hora en que la luz está apagada. 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 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.

  1. Ve a la consola para desarrolladores de Google Home.
  2. Accede con la misma cuenta con la que configuraste el dispositivo en la app de Google Home.
  3. Crea o selecciona un proyecto existente.
  4. En Automatizaciones, haz clic en Desarrollar.
  5. Haz clic en Crear una plantilla.
  6. Copia la "Luz programada" plantilla de automatización.
  7. Pega la "Luz programada" plantilla de automatización en el editor de plantillas.
  8. 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.
  9. Haz clic en Save 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 la consola para desarrolladores de Google Home.
  4. Abre el proyecto en el que creaste tu plantilla.
  5. Selecciona Automatizaciones y, luego, la pestaña Prueba.
  6. Haz clic en Abrir junto a la opción "Luz programada". plantilla de automatización.
  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 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 de lights. También puedes escribir el nombre del dispositivo.
  9. 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 de time_off a una hora poco después de la 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 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: