Criar uma automação com script

Sobre este codelab
schedule48 minutos
subjectÚltimo 23 de abril de 2025 atualizado
account_circleEscrito por Jonathan Donald

1. Introdução

O que você vai aprender

  • Como planejar e programar 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 lâmpada inteligente ou outro dispositivo certificado para "Funciona 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 isso na sua casa.

Confirme se o dispositivo aparece no app Google Home e se ele pode ser ligado e desligado usando o app Home.

3. Planejar a automação com script

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

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

Para este codelab, nosso plano é fazer com 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. Desligue o dispositivo em um horário específico.

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

4. Programar a automação com script

As automações com script são gravadas de forma 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: define a lógica de iniciação e o comportamento da automação.

Metadados

Os metadados da automação informam ao usuário o nome e a função dela. Os metadados são especificados no bloco metadata, que tem esta 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 o trabalho real acontece. Ele consiste em três partes: ativações, condições e ações, que são avaliadas em ordem:

1 Iniciantes

2 Condições

3 ações

As ativações iniciam a automação. Pelo menos um ativador precisa ser avaliado 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 um ativador. Se as condições forem resolvidas para true, as ações serão executadas. Se elas forem resolvidas como 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 é a mesma coisa que uma notificação de mudança de estado:

  • Uma condição representa um fato que precisa ser verdadeiro no momento em que o iniciador "dispara" para que as ações sejam executadas.
  • Uma notificação de mudança de estado é um evento, como outro dispositivo sendo ligado.

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

O bloco automations da 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 desliga.
  2. Cada regra tem uma única ação.
  3. on: true significa acender a luz. Da mesma forma, on: false significa desligar a luz.
  4. Cada regra tem um único ativador time.schedule que informa à automação o horário de início.
  5. Não há condições nesta automação.

5. A automação completa com script

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

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 "Automações", representada por um ícone com 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 dispositivo.
  8. Clique em Validar. O editor de script sublinhou as seções da automação com script que contêm erros. Resolva todos os erros que surgirem e continue validando e corrigindo até que não haja mais erros. Por exemplo, o nome do dispositivo pode ser diferente. Nesse 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 script com automação programada totalmente validada e ativada

6. Testar a automação

  1. Verifique se o dispositivo está conectado e aparece 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 automação.
    Botão de execução do script
  4. O dispositivo vai ser ligado.

Agora, vamos testar a automação.

  1. Desligue o dispositivo.
  2. Edite a automação e mude o horário de "ligar o dispositivo" na linha 7 para um horário cinco minutos no futuro.
  3. Mude o horário de desativação do dispositivo na linha 14 para um horário logo após o horário de ativação.
  4. Clique em Validar. Resolva os erros que aparecerem.
  5. Clique em Salvar.
  6. Verifique se a opção Ativar está na posição ativada.
  7. Aguarde o término dos dois tempos de início. O dispositivo vai acender e apagar nos horários especificados.

7. Parabéns!

Você criou uma automação com script.

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 ativação de um interruptor. Agora que você entendeu os conceitos básicos de 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.

Tente fazer estes exercícios:

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

Leitura adicional

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