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:
- Acender a luz (ou outro dispositivo inteligente) em um horário específico.
 - 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:
- Metadados: o nome da automação com script e uma descrição do que ela faz.
 - 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   | 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  Ao incluir várias restrições, separe-as com as palavras-chave  Uma condição não é a mesma coisa que uma notificação de mudança de estado: 
  | 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:
- Há duas regras 
automations. O primeiro acende a luz, e o segundo a desliga. - Cada regra tem uma única ação.
 on: truesignifica acender a luz. Da mesma forma,on: falsesignifica desligar a luz.- Cada regra tem um único ativador 
time.scheduleque informa à automação o horário de início. - 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
- Copie a automação (acima).
 - Acesse o Google Home para Web.
 - Selecione a guia "Automações", representada por um ícone com três estrelas:

 - Clique em + Adicionar novo.
 - No editor de script, exclua o modelo de automação.
 - Cole a automação.
 - Substitua 
Desk light - Officepelo nome e local do dispositivo. - 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.
 - Clique em Salvar.
 - Verifique se a chave Ativar, abaixo do texto do script, está na posição ativada: 

 
6. Testar a automação
- Verifique se o dispositivo está conectado e aparece no app Google Home.
 - Se o dispositivo estiver ligado, desligue-o.
 - Na página Automações do Google Home para Web, clique no botão "Executar" ao lado da automação. 

 - O dispositivo vai ser ligado.
 
Agora, vamos testar a automação.
- Desligue o dispositivo.
 - Edite a automação e mude o horário de "ligar o dispositivo" na linha 7 para um horário cinco minutos no futuro.
 - 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.
 - Clique em Validar. Resolva os erros que aparecerem.
 - Clique em Salvar.
 - Verifique se a opção Ativar está na posição ativada.
 - 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áusulacondition. - 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: