Criar uma automação com script

1. Introdução

Conteúdo

  • Como planejar e escrever uma automação com script.
  • Como testar uma automação com script.

O que é necessário

  • Um smartphone Android ou iOS com o app Google Home.
  • Uma iluminação inteligente ou outro dispositivo certificado para Compatível com o Google Home e que pode ser ligado ou desligado.

2. Configurar o dispositivo

Se o dispositivo ainda não estiver configurado, faça a configuração na sua casa.

Confirme se o dispositivo aparece no app Google Home e se ele pode ser ativado ou desativado pelo app.

3. Planejar a automação com script

Vamos começar pensando sobre o que queremos que nossa automação com script faça. Isso inclui considerações como:

  • quais dispositivos você quer automatizar;
  • Qual ativação (ou evento) deve acionar a execução da automação com script.
  • Quais condições adicionais, se houver, controlam se a automação com script é executada quando é acionada.
  • Quais ações devem ser realizadas.

Para os fins deste codelab, nosso plano é que a automação com script faça duas coisas:

  1. Acender a luz (ou outro dispositivo inteligente) em um horário específico.
  2. desligar o dispositivo em um horário específico;

Agora que sabemos exatamente o que queremos que nossa automação com script faça, vamos abrir o editor de script e escrever a automação.

4. Programar a automação com script

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

Uma automação com script é composta por duas seções principais:

  1. Metadados: o nome da automação com script e uma descrição do que ela faz.
  2. Regras de automação: definem a lógica de início e o comportamento da automação.

Metadados

Os metadados da nossa automação informam ao usuário como ela é chamada e o que ela faz. Os metadados são especificados no bloco metadata, que tem a seguinte aparência:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

Regras de automação

Uma regra de automação é onde acontece o trabalho real. Ela consiste em três partes, ativações, condições e ações, que são avaliadas nesta ordem:

1 Ativações

Duas condições

3 ações

As ativações são o que inicia a automação. Pelo menos uma ativação precisa ser avaliada como true para que as condições subsequentes sejam avaliadas.

Elas são opcionais e consistem em uma ou mais restrições adicionais que são avaliadas após a ativação de uma ativação. Se as condições resultarem em true, as ações serão executadas. Se elas forem resolvidas para false, as ações não serão executadas.

Ao incluir várias restrições, separe-as com as palavras-chave and e or para formar uma única expressão lógica. Essa expressão precisa ser resolvida como true para que as ações de uma automação prossigam.

Uma condição não é o mesmo que uma notificação de alteração de estado:

  • Uma condição representa um fato que precisa ser verdadeiro quando a ativação é "disparada" para que as ações sejam executadas.
  • Uma notificação de mudança de estado é um evento, como a ativação de outro dispositivo.

As ações são operações realizadas quando a ativação e todas as condições de restrição são atendidas.

O bloco automations da nossa automação contém duas regras:

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

Observe o seguinte:

  1. Há duas regras automations. O primeiro acende a luz, e o segundo a apaga.
  2. Cada regra tem uma única ação.
  3. on: true significa acender a luz. Da mesma forma, on: false significa apagar a luz.
  4. Cada regra tem uma única ativação time.schedule que informa à automação quando ela deve ser iniciada.
  5. Não há condições nessa automação.

5. A automação completa com script

Juntando todas essas partes, veja como fica a automação completa com script:

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
  1. Copie a automação (acima).
  2. Acesse o Google Home para Web.
  3. Selecione a guia de automações, representada por um ícone de três estrelas:
    Guia "Automações"
  4. Clique em + Adicionar novo.
  5. No editor de script, exclua o modelo de automação.
  6. Cole a automação.
  7. Substitua Desk light - Office pelo nome e local do seu dispositivo.
  8. Clique em Validate (Validar). O editor de script sublinha as seções da automação que contêm erros. Resolva os erros que surgirem e continue validando e corrigindo até que não haja mais erros. Por exemplo, o nome do seu dispositivo pode ser diferente. Se esse for o caso, use o recurso de preenchimento automático para escolher um nome de dispositivo válido.
  9. Clique em Salvar.
  10. Verifique se a chave Ativar, abaixo do texto do script, está na posição ativada: Editor de scripts com automação totalmente validada e ativada

6. Testar a automação

  1. Confira se o dispositivo está conectado e visível no app Google Home.
  2. Se o dispositivo estiver ligado, desligue-o.
  3. Na página Automações do Google Home para Web, clique no botão "Executar" ao lado da sua automação.
    Botão de execução do script
  4. O dispositivo deve ligar.

Agora, vamos testar a automação.

  1. Desligue o dispositivo.
  2. Edite a automação e mude o horário de "dispositivo ligado" na linha 7 para um horário cinco minutos depois.
  3. Mude o horário de "desligamento do dispositivo" na linha 14 para um horário logo após o horário de ativação.
  4. Clique em Validate (Validar). Resolva os erros que surgirem.
  5. Clique em Salvar.
  6. Confira se a chave Ativar está na posição ativada.
  7. Aguarde os dois tempos de ativação. O dispositivo deve ligar e desligar nos horários especificados.

7. Parabéns!

Você criou uma automação com script. Incrível!

Neste codelab, você aprendeu a:

  • Como projetar e escrever uma automação.
  • Como testar uma automação.

Próximas etapas

Neste codelab, criamos uma automação muito simples. As automações podem fazer muito mais do que programar a mudança de um interruptor. Agora que você entende o básico da criação de uma automação, pode conhecer os vários tipos de ativações, condições e ações disponíveis no ecossistema do Google Home.

Faça os seguintes exercícios:

  • Adicionar mais ativações time.schedule à automação.
  • Modifique a automação para ligar e desligar outro dispositivo na mesma programação.
  • Sem remover as ativações time.schedule, modifique a automação para ligar os dispositivos apenas quando outro estiver ligado. Consulte os exemplos de scripts que usam a cláusula condition.
  • Modifique a automação para ligar os dispositivos apenas quando alguém estiver em casa.

Leia mais

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