Criar um modelo de automação

1. Introdução

O que você vai aprender

  • Como criar e escrever um modelo de automação.
  • Como testar um modelo de automação usando o Google Home Developer Console.

O que é necessário

  • Um smartphone Android ou iOS com o app Google Home.
  • Uma iluminação inteligente integrada à sua casa ou um dispositivo simulado no Playground do Google Home.

Pré-requisitos

Você precisa saber como escrever uma automação residencial do Google Home. Se você nunca escreveu uma automação, faça o codelab Criar uma automação com script antes de continuar.

2. Modelos e instâncias de automação

Os desenvolvedores criam modelos de automação usando o editor de modelos de automação no Google Home Play Console. Os modelos de automação contêm a essência da lógica de script, referenciando tipos de dispositivos, mas não dispositivos específicos.

Com o editor de script de automação do Google Home para Web, os usuários finais pegam um modelo de automação e criam uma instância personalizada que atua nos dispositivos específicos da casa deles. Depois de salva, a instância aparece em Rotinas da família no app Google Home (GHA).

3. Planejar seu modelo de automação

Ao criar uma automação, começamos pensando no problema que estamos tentando resolver e no que a automação fará para resolver o problema. Isso inclui considerações como:

  • Quais dispositivos você quer automatizar.
  • Qual iniciador (ou evento) deve acionar a execução da automação.
  • Quais condições adicionais, se houver, controlam se a automação será executada ou não depois de ser acionada.
  • Quais ações precisam ser realizadas.

Para fins deste codelab, a automação vai fazer duas coisas:

  1. Acender uma luz em um horário específico.
  2. Apagar a mesma luz em um horário específico.

Com isso em mente, você pode abrir o editor de modelos e escrever a automação.

4. Escrever o modelo de automação

As automações são escritas de maneira declarativa usando a linguagem de serialização de dados YAML.

Um modelo de automação tem três seções principais:

  1. Metadados: o nome da automação, uma descrição do que ela faz e, opcionalmente, algumas tags usadas para classificar a automação. As palavras-chave são:
    • ILUMINAÇÃO E TOMADAS
    • CLIMATIZAÇÃO E ENERGIA
    • SEGURANÇA E DETECÇÃO
    • ENTRETENIMENTO
    • ELETRODOMÉSTICOS E MAIS
  2. Entrada: define que tipo de dispositivo(s) a automação deve controlar. O mecanismo de automação usa essas informações para saber quais tipos de ações são válidas para os dispositivos pretendidos.
  3. Regras de automação: definem a lógica de início e o comportamento da automação.

Este é o modelo de automação com que você vai trabalhar:

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

Leia o modelo e observe o seguinte:

  • A seção metadata contém o nome e a descrição dessa automação.
  • A seção input define uma variável chamada the_light que especifica um dispositivo do tipo LIGHT. Isso significa que esse modelo só pode ser usado para luzes, não para outros tipos de dispositivos. Em outras palavras, quando um usuário configura sua automação em casa e precisa selecionar um dispositivo para $the_light, a escolha é restrita aos dispositivos do tipo especificado.
  • Também definidas na seção input estão duas variáveis chamadas time_on e time_off. Elas permitem que o usuário especifique quando iniciar as automações. time_on representa o horário em que a luz é acesa, e time_off representa o horário em que ela é apagada. Se o usuário não definir o valor de time_on ou time_off, os valores padrão serão usados.
  • A seção automations da nossa automação contém duas regras de automação. Cada regra tem uma única ativação time.schedule que informa à automação quando ela deve ser iniciada.

O editor de modelos

O editor de modelos de automações é a ferramenta que você usa para escrever modelos de automação.

  1. Acesse o Google Home Developer Console.
  2. Faça login com a mesma conta usada para configurar o dispositivo no app Google Home.
  3. Crie ou selecione um projeto.
  4. Em Automações, clique em Desenvolver.
  5. Clique em Criar um modelo.
  6. Copie o modelo de automação "Luz programada".
  7. Cole o modelo de automação "Luz programada" no editor de modelos.
  8. Clique em Validar. Resolva os erros que aparecerem e continue validando e corrigindo até que não haja mais erros.
  9. Clique em Salvar para salvar o modelo.

5. Testar o modelo

Agora é possível testar o modelo no console.

  1. Confira se a luz está conectada e visível no app Google Home.
  2. Se a luz estiver acesa, apague-a.
  3. Acesse o Google Home Developer Console.
  4. Abra o projeto em que você criou o modelo.
  5. Selecione Automações e clique na guia Teste.
  6. Clique em Abrir ao lado do modelo de automação "Luz programada".
  7. Selecione a estrutura em que você quer testar o modelo e clique em Próxima.
  8. No editor InputValue, especifique o nome da luz. Por exemplo, se a luz se chamar "Luz da escrivaninha - Escritório", selecione Desk light - Office no menu suspenso que aparece quando você clica à direita de lights. Ou digite o nome do dispositivo.
  9. Ainda no editor InputValue, especifique o horário time_on para um horário, digamos, cinco minutos no futuro, e mude o horário time_off para um horário logo após o time_on.
  10. Quando terminar, o editor InputValue vai ter esta aparência:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. Clique em Ativar teste.
  12. Aguarde os dois horários de início passarem. A luz vai acender e depois apagar nos horários especificados.

Depois de testar o modelo, você sabe que a automação está funcionando bem.

6. Parabéns!

Você criou um modelo de automação. Incrível!

Neste codelab, você aprendeu a:

  • Como criar e escrever um modelo de automação.
  • Como testar no Google Home Developer Console.

Próximas etapas

Neste codelab, você criou uma automação muito simples. As automações podem fazer muito mais do que programar a ativação e desativação de uma luz. Agora que você entende o básico da criação e do teste de um modelo de automação, tente criar modelos para outros tipos de dispositivos usando diferentes iniciadores, condições e ações.

Leitura adicional

Para saber mais sobre as automações do Google Home, consulte a documentação de referência de automações: