Criar um modelo de automação

Sobre este codelab
schedule34 minutos
subjectÚltimo 26 de setembro de 2023 atualizado
account_circleEscrito por Jonathan Donald and Andres Gomez
  • Como projetar e escrever um modelo de automação.
  • Como testar um modelo de automação usando o Google Home Developer Console.
  • 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.

Você precisa saber como programar uma automação do Google Home. Se você nunca criou uma automação, considere fazer o codelab Criar uma automação com script antes de continuar.

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

Com o editor de scripts de automação do Google Home para Web, os usuários finais usam um modelo de automação e criam uma instância personalizada que atua nos dispositivos específicos da própria casa. 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, você começa pensando no problema que está tentando resolver e no que a automação fará para resolver o problema. Isso inclui considerações como:

  • quais dispositivos você quer automatizar;
  • Qual ativação (ou evento) vai acionar a execução da automação.
  • Quais condições adicionais, se houver, controlam se a automação é executada ou não depois de acionada.
  • Quais ações devem ser executadas.

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

  1. acender uma luz em um horário específico;
  2. Apague a mesma luz em um horário específico.

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

4. Criar 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 classificá-la. As palavras-chave são:
    • Iluminação E PLUGAS
    • CLIMA E ENERGIA
    • SEGURANÇA E CONSCIÊNCIA
    • ENTRETENIMENTO
    • APPLIANCES E MAIS
  2. Entrada: define que tipo de dispositivo a automação pretende controlar. O mecanismo de automação usa essas informações para saber que tipos de ações são válidos 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, e não para outros tipos de dispositivos. Em outras palavras, quando um usuário configurando a automação na casa dele receber uma solicitação para selecionar um dispositivo para $the_light, a escolha do dispositivo será restrita aos dispositivos do tipo que você especificou.
  • Na seção input, também estão definidas duas variáveis, chamadas time_on e time_off. Isso permite que o usuário especifique quando iniciar as automações. time_on representa o tempo em que a luz é acesa e time_off representa o período em que a luz é desligada. 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. Cada regra tem uma única ativação time.schedule que informa a hora de início da automação.

Editor de modelos

O editor de modelos de automações é a ferramenta usada para criar modelos de automação.

  1. Acesse o Console para desenvolvedores do Google Home.
  2. Faça login com a mesma conta em que o dispositivo foi configurado no app Google Home.
  3. Crie ou selecione um projeto atual.
  4. Em Automações, clique em Desenvolver.
  5. Clique em Criar um modelo.
  6. Copie a "luz programada" modelo de automação.
  7. Cole a luz programada modelo de automação para o editor de modelos.
  8. Clique em Validar. Resolva qualquer erro que possa surgir e continue validando e corrigindo até que nenhum erro seja gerado.
  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 Console para desenvolvedores do Google Home.
  4. Abra o projeto em que você criou o modelo.
  5. Selecione Automações e depois a guia Testar.
  6. Clique em Abrir ao lado de "Luz programada". modelo de automação.
  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 o nome da luz for "Luz da mesa - Escritório", selecione Desk light - Office no menu suspenso que aparece quando você clica à direita de lights. Ou você pode digitar o nome do dispositivo.
  9. Ainda no editor InputValue, especifique o horário time_on como um horário, por exemplo, cinco minutos no futuro, e mude o horário time_off para um horário logo após time_on.
  10. Quando você terminar, o editor InputValue ficará assim:
    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 tempos de ativação passarem. A luz vai acender e apagar nos horários especificados.

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

6. Parabéns!

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

Neste codelab, você aprendeu a:

  • Como projetar e escrever um modelo de automação.
  • Como testar no Play Console do Google Home.

Próximas etapas

Neste codelab, você criou uma automação muito simples. As automações podem fazer muito mais do que programar o acionamento de uma luz. Agora que você conhece os fundamentos da criação e teste de um modelo de automação, tente criar modelos de outros tipos de dispositivos usando diferentes ativações, condições e ações.

Leitura adicional

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