Notificação

To get the most out of Google Home, choose your Help Center: U.S. Help Center, U.K. Help Center, Canada Help Center, Australia Help Center.

Programar automações usando o editor de script

O editor de script permite que você escreva automações para criar Rotinas da família avançadas usando o Google Home para Web ou o app Google Home. Para escrever automações com scripts, você precisa conhecer alguns conceitos básicos sobre a linguagem YAML, além de saber como estruturar o script e como usar os componentes dele.

No momento, o editor de script está disponível no Acesso antecipado. Você pode abrir o editor de script com o Google Home para Web ou no app Google Home para dispositivos móveis depois de entrar no Acesso antecipado.

Saiba mais sobre como criar automações usando o editor de script:

Prática adicional para escrever uma automação com script e exemplos de scripts

Acessar o codelab
Importante: todos os membros da família podem ver quando essas rotinas estão sendo executadas. As rotinas devem ser usadas apenas para sua comodidade, e não para segurança nem proteção. Não crie rotinas que possam resultar em ferimentos ou danos se forem interrompidas ou não iniciadas. As rotinas dependem da disponibilidade da Internet, do Wi-Fi e do serviço do Google e de terceiros que fabricam os dispositivos incluídos nelas. As rotinas nem sempre funcionam, e o Google não é responsável por danos ou perdas causados por falhas relacionadas a elas.

Noções básicas da linguagem de script YAML

O editor de script usa YAML, uma linguagem flexível que permite inserir instruções linha por linha. É possível escrever o que você quer que seus dispositivos façam e o horário das atividades. Essas instruções são escritas na forma de pares de chave-valor.

Pares de chave-valor

A YAML é escrita como uma série de pares de chave-valor:

name: TV on lights off

Neste exemplo, a chave é name, e o valor é TV on lights off.

A chave é basicamente a palavra-chave do elemento que você quer usar. Cada chave precisa ser única, mas a ordem delas não importa. Cada par de chave-valor começa em uma nova linha.

O valor associado a uma chave pode estar na forma de vários tipos de dados diferentes.

Tipos de dados

Primitivos

O tipo de dados primitivo inclui todos os tipos de dados básicos compatíveis com o editor de script.

Formulários primitivos Tipos de valores
Booleano
  • true
  • false
Número Número inteiro ou decimal
String

Texto simples

Os valores de string só precisarão de aspas se começarem com [, {, ", ' ou # ou se a string tiver dois-pontos seguidos por um ou dois espaços. As aspas devem ser iguais. Por exemplo, use " " ou ' ', e não " '.

Data

É o mês e o dia. O formato é MM-DD ou MM/DD.

  • 09/01
  • 09-01
Hora

O horário pode estar nos formatos AM/PM ou 24H. Os segundos são opcionais. Você também pode usar horários relativos ao sol. Por exemplo, é possível usar as palavras-chave sunrise e sunset seguidas de uma duração.

  • 12:30 am
  • 13:00:01
  • sunrise / sunset
  • sunset+30min / sunset-1hour
Data e hora

É o ano, o mês, o dia e a hora.

Você deve incluir um espaço entre a data e a hora.

O formato da data é AAAA-MM-DD ou AAAA/MM/DD. O formato de hora é o mesmo que "Hora" acima. Fusos horários não são compatíveis.

  • 2022/01/01 14:00
  • 2022-12-31 sunrise+30min
Dias úteis
  • MON ou MONDAY
  • TUE ou TUESDAY
  • WED ou WEDNESDAY
  • THU ou THURSDAY
  • FRI ou FRIDAY
  • SAT ou SATURDAY
  • SUN ou SUNDAY
Duração

Um período de tempo.

  • 30min
  • 1hour
  • 20sec
  • 1hour10min20sec

ColorHex

Um código hexadecimal de seis dígitos que representa uma cor. Não há # inicial.

  • FFFFFF
  • B5D2A1
  • DFA100
Temperatura

Dados de temperatura. Sempre adicione C ou F para indicar Celsius ou Fahrenheit.

  • 20.5C
  • 90F
ColorTemperature

Temperatura da cor em Kelvin.

  • 5000K

Estruturas: pares de chave-valor aninhados

Esse tipo de dado consiste em um "bloco" ou estrutura que tem vários pares de chave-valor. Esses pares de chave-valor são aninhados em uma única chave mãe, e cada nível de aninhamento é recuado pelo mesmo número de espaços ou Tabs para indicar a hierarquia.

actions: 
  device: Light B - Living room  
  state: on

Neste exemplo, a chave mãe é actions. O valor para actions é dois pares de chave-valor aninhados:

  • Par 1: chave filha = device; valor = Light B - Living room
  • Par 2: chave filha = state; valor = on

Listas: chaves com vários valores

Para incluir diversos valores com uma única chave, crie uma lista com um hífen antes de cada item. Uma lista pode usar valores de tipos de dados primitivos ou de estrutura, mas não ambos ao mesmo tempo.

weekdays:
- MONDAY
- THURSDAY

No exemplo, a chave é weekdays, e o valor é uma lista que inclui Monday e Thursday.

Estruturas avançadas: listas e pares aninhados combinados

Para automações mais complexas, o valor pode ser uma lista com vários pares de chave-valor aninhados.
starters:
- type: time.schedule
  at: 10:00 am
  weekdays:
  - MONDAY
  - THURSDAY
- type: time.schedule
  at: SUNSET
  weekdays:
  - MONDAY
  - THURSDAY

No exemplo, a chave mãe é starters. O valor dessa chave mãe é uma lista em que cada item inclui vários pares de chave-valor.

Alguns tipos de chave exigem que os valores estejam em formatos específicos, enquanto outros herdam características com base nos recursos de um dispositivo. Saiba como ativações, condições e ações específicas são estruturadas.

Sintaxe da linguagem YAML

Ao criar Rotinas usando script, use estes conceitos de formatação:

Conceito Exemplo

Dois-pontos

A YAML usa dois-pontos : seguidos por um espaço para separar uma chave do seu valor.

state: on

Recuo

O recuo indica estrutura e hierarquia e define pares de chaves aninhados.

No exemplo, a chave mãe é metadata. As chaves name e description são chaves filhas aninhadas nos metadados da chave mãe. Cada uma das chaves aninhadas é recuada por dois espaços ou um Tab para indicar a hierarquia.

metadata:
  name: TV on lights off
  description: Turn off lights when TV turns on

 

Hífen

Um hífen seguido por um espaço define um item da lista.
weekdays:
- MONDAY
- THURSDAY

Comentários

Use a cerquilha # para adicionar comentários ou notas ao script. Os comentários são ignorados pelo mecanismo e não afetam a automação.
# Este é um comentário. Ele será ignorado.

Modelo de editor de script

Quando você cria uma nova automação, o editor de script oferece um modelo vazio usando esta estrutura:

metadata contém o nome da automação e uma descrição
automations define o comportamento da automação
  starters define os acionadores que iniciam a automação
  condition define restrições relacionadas a quando a automação deve ser executada (opcional)
  actions define as ações que ocorrem na automação

O modelo é dividido em dois blocos principais: metadados e automações. As automações são divididas em seções: ativações, condições e ações.

Bloqueios de metadados e automações

O modelo do editor de script contém duas chaves mães de nível superior ou blocos: metadata e automations.

O bloco metadata contém o nome e a descrição da sua automação. Isso é usado apenas para ajudar você a identificar a automação.

metadata:
  name: TV time
  description: When TV is on, turn on lights

O bloco automations é o núcleo do script de automação. É aqui que você define o comportamento da automação usando ativações, condições e ações.

automations:
  starters:
    # e.g. Motion detected
  condition:
    # e.g. Between two times
  actions:
    # e.g. Turn on lights

Para entender melhor como usar o editor de script, acesse nosso codelab, confira exemplos de scripts ou pesquise como formatar ativações, condições e ações individuais no Centro para Desenvolvedores do Google Home.

Preenchimento automático

O editor ajuda a escrever seu script apresentando sugestões de preenchimento automático com base nas ativações, condições e ações disponíveis nos seguintes casos:

  • Quando seu cursor está localizado onde há opções válidas. Por exemplo, depois de "- type: ".
  • Quando você insere um código com sugestões válidas. A lista de sugestões é filtrada enquanto você digita.

Quando o preenchimento automático é iniciado manualmente com o atalho Ctrl + Espaço.

Pressione Enter para selecionar uma sugestão na lista. O preenchimento automático vai completar campos adicionais com base na estrutura selecionada.

Dica: você pode usar o preenchimento automático para descobrir quais estados ou comandos estão disponíveis para seu dispositivo e quais dispositivos estão disponíveis para um determinado estado ou comando.

Para encontrar quais estados ou comandos estão disponíveis para seu dispositivo, ao escrever seu script, insira a chave "device: " primeiro e, em seguida, a chave "type: ". O recurso de preenchimento automático mostra uma lista de estados ou comandos disponíveis para o dispositivo.

Exemplo

starters:
- device: LED lights - Living Room
- type:

Para saber quais dispositivos estão disponíveis para um determinado estado ou comando, insira a chave "type: " primeiro e, depois, "device: ". O recurso de preenchimento automático mostra uma lista de dispositivos disponíveis na sua casa que são compatíveis com esse estado ou comando.

Exemplo

starters:
- type: device.state.OnOff
- device:

Ativações, condições e ações

As automações são compostas por ativações, condições e ações do dispositivo. Esses componentes definem os comportamentos da automação.

Algumas ativações, condições e ações exigem um tipo específico de par de chave-valor de comparação para ajudar a concluir a lógica de automação e informar ao script o que você quer avaliar. O valor precisa ser um tipo de dado compatível. Por exemplo, o estado on de uma luz pode ser true ou false. Para iniciar a automação se a luz estiver acesa, use:

state: on
is: true

Confira abaixo os detalhes sobre as diferentes ativações, condições e ações disponíveis. Para conferir uma lista completa, acesse o Centro para Desenvolvedores do Google Home.

Ativações

Na seção "Ativações", você especifica o que fará o script ser executado. As ativações são baseadas no que o dispositivo pode fazer ou em atributos que podem ser mudados, incluindo estados, horários e eventos. Por exemplo, você pode usar uma lâmpada que tenha os estados OnOff, Brightness e ColorSetting. Para incluir diversas ativações, liste cada uma com a chave " - type: ". Seu script precisa atender a pelo menos uma condição de ativação para ser executado.

Confira a lista completa de ativações compatíveis.

Tipos de ativações

Ativações do Assistente

Use uma ativação assistant.command para iniciar um script quando um dispositivo com o Assistente detectar um comando que comece com "Ok Google".
Observação: se uma automação for iniciada por um comando de voz e houver uma ação do Assistente no script, essa ação vai ocorrer no dispositivo que ouvir o comando de voz, mesmo que outro aparelho tenha sido especificado no script.
Exemplo: inicie a automação quando alguém disser "Ok, Google party time".
starters:
- type: assistant.command.OkGoogle
  eventData: query
  is: party time

Ativações de eventos do dispositivo

Use uma ativação device.event para iniciar o script quando um evento específico ocorrer. Por exemplo, quando alguém tocar a campainha ou quando um sensor detectar algo. Observação: nem todos os eventos são compatíveis.

Exemplo: inicie a automação quando alguém tocar a campainha.
starters:
- type: device.event.DoorbellPress
  device: Doorbell - Front door
Exemplo: inicie a automação quando a câmera detectar uma pessoa.
starters:
- type: device.event.PersonDetection
  device: Camera - Backyard 

Exemplo: inicie a automação quando a câmera detectar movimento.

starters:
- type: device.event.MotionDetection
  device: Camera - Backyard

Observação:

  • Para os eventos da câmera, é preciso ter uma câmera, campainha ou tela Nest compatível, além de configurar a detecção.
  • Alguns eventos podem exigir uma assinatura do Nest Aware ou uma câmera com cabo de energia. Por exemplo, a detecção de som só vai funcionar na Nest Cam (interna ou externa, com bateria) quando ela estiver ligada à energia.
  • É possível impedir que as ativações com base em eventos e estados de dispositivo ocorram novamente por um período.

Ativações de estado do dispositivo

Use uma ativação device.state para que a automação inicie com base no estado de um dispositivo. Os estados são características de um dispositivo. Por exemplo, quando o termostato atinge uma temperatura específica, se uma luz acende ou apaga, ou quando um sensor compatível atinge um limite definido. Observação: é possível impedir que as ativações ocorram novamente por um período com base em eventos e estados de dispositivo.
Adicione o estado para uma ativação desse tipo após "device.state". Por exemplo, para verificar se um dispositivo está ligado, você pode usar device.state.OnOff.
Para usar uma ativação device.state, comece com três chaves: type, device e state, seguidas de pelo menos um par de chave-valor de comparação.
Chave Valor Exemplo
type A ativação de estado do dispositivo, começando com device.state device.state.ArmDisarm
device O nome como mostrado no app Google Home, com o nome do ambiente: Device name - Room name Alarm - Front Door
state

Os dados de campo ou de estado da ativação que você quer verificar.

Procure a ativação que você quer usar no Centro para Desenvolvedores do Google Home para encontrar "Campos compatíveis" ou "Dados do estado".
isArmed

Dica: para descobrir quais estados estão disponíveis para seu dispositivo, insira a chave "device: " primeiro e, em seguida, a chave "type: " no script. O preenchimento automático mostra uma lista de estados disponíveis.

É possível usar os seguintes pares de chave-valor de comparação com a ativação device.state:

Chaves de comparação Tipos de valor compatíveis Exemplo
is String | Número | Bool | Dinâmico is: on
isNot String | Número | Bool | Dinâmico isNot: cast
greaterThan
greaterThanOrEqualTo
String | Número | Bool | Dinâmico greaterThan: 1
lessThan
lessThanOrEqualTo
String | Número | Bool | Dinâmico lessThan: 10
suppressFor Duração suppressFor: 1hour

Exemplo: inicie a automação se o volume da TV estiver entre 1 e 10.

starters:
- type:  device.state.Volume
  device: TV - Living room
  state:  currentVolume
  greaterThan: 1
  lessThan: 10 

Ativações de estado da casa

Use a ativação home.state para que o script seja iniciado com base na sua presença ou ausência na casa. Isso pode ser feito com a detecção de presença.
Exemplo: inicie a automação quando estiver em casa.
starters:
- type: home.state.HomePresence
  state: homePresenceMode
  is: HOME

Ativações de tempo

Use uma ativação time para iniciar a automação com base em dias e horários específicos. É possível usar os seguintes pares de chave-valor de comparação com essa ativação:
Chaves de comparação Tipos de valor compatíveis Exemplo
before Hora before: sunset
after Hora after: 7:00 am
weekdays Dias úteis weekdays: MON

Exemplo: inicie a automação às segundas e terças-feiras, 30 minutos depois do amanhecer.

starters:
- type: time.schedule
  at: sunrise+30min
  weekdays:
  - MON
  - TUE

Como impedir ativações

Use a chave de comparação suppressFor para fazer a automação ignorar uma ativação por um período. Por exemplo, quando a câmera detectar alguém, anuncie "Alguém está na porta" e não faça isso novamente pelos próximos 10 minutos, mesmo se ela ainda detectar uma pessoa.

Exemplo: quando alguém caminhar pelo meu corredor de manhã pela primeira vez, abra todas as minhas cortinas e suprima essa ativação durante as próximas 20 horas.

metadata:
  name: Open Blinds
  description: Open blinds in the morning after motion detected
automations:
  starters:
  - type: device.event.MotionDetection
    device: Camera - Hallway
    suppressFor: 20hours
  condition:
    type: time.between
    after: 5:00     
    before: 12:00   
  actions:     
  - type: device.command.OpenClose
    openPercent: 100
  devices:
  - Blinds1 - Living Room
  - Blinds2 - Family Room

Condições

As condições são restrições opcionais relacionadas a quando as automações devem ser executadas. Se você incluir condições, seu script só será executado se elas forem atendidas. Muitas ativações também podem ser usadas como condições e combinadas com os operadores lógicos and, or e not para expressar verificações de condição mais complexas.
type: or
conditions:
- type: time.between
  before: sunrise
  after: sunset
  weekdays:
  - MON
  - TUE
- type: device.state.Volume
  device: My TV - Living Room
  state: currentVolume
  greaterThan: 1
  lessThan: 10

Neste exemplo, há uma condição de tempo e uma condição de device.state. Esse script será executado se estiver entre o pôr e o nascer do sol na segunda ou terça-feira, ou se o volume da TV estiver entre 1 e 10.

Você pode usar os seguintes tipos de condição:

Operadores de condição

Condição AND

Quando você usa a condição and, o script só é executado se todas as condições filhas forem atendidas.

Exemplo: inicie a automação se a TV estiver ligada E se o horário for depois das 18h.

condition:
  type: and
  conditions:
  - type: device.state.OnOff
    device: TV - Living Room
    state: on
    is: true
  - type: time.between
    after: 6:00 pm

Condição "or"

Quando você usa a condição or, o script é executado quando ocorre qualquer uma das condições filhas.

Exemplo: inicie a automação se a TV estiver ligada OU se o horário for depois das 18h.

condition:
  type: or
  conditions:
  - type: device.state.OnOff
    device: TV - Living Room
    state: on
    is: true
  - type: time.between
    after: 6:00 pm

Condição NOT

Quando você usa a condição not, o script não pode ser executado se ocorrer a condição filha.

Exemplo: inicie a automação se o horário não for entre 18h e 20h.

condition:
  type: not
  condition:
    type: time.between
    after: 6:00pm
    before: 8:00pm

Condições de estado do dispositivo

Use uma condição device.state para limitar quando o script pode ocorrer com base no estado de um dispositivo quando o script é iniciado. As condições device.state são semelhantes às ativações device.state, mas, em vez de informar ao script quando começar, elas limitam as situações em que ele ocorre.
Para uma condição de estado do dispositivo, adicione o estado após "device.state". Por exemplo, para verificar se um dispositivo está ligado, você pode usar device.state.OnOff.
Para usar uma condição device.state, comece com três chaves: type, device e state, seguidas de pelo menos um par de chave-valor de comparação.
Chave Valor Exemplo
type A condição de estado do dispositivo, começando com device.state device.state.OnOff
device O nome como mostrado no app Google Home, com o nome do ambiente: Device name - Room name Chromecast - Living Room
state O estado de ativação que você quer verificar. Procure a condição de estado do dispositivo que você quer usar no Centro para Desenvolvedores do Google Home. state: on

Dica: para descobrir quais estados estão disponíveis para seu dispositivo, digite a chave "device: " e depois a chave "type: " no script. O preenchimento automático mostra uma lista de estados disponíveis.

É possível usar os seguintes pares de chave-valor de comparação com a condição device.state:

Chaves de comparação Tipos de valor compatíveis Exemplo
is String | Número | Bool | Dinâmico is: on
isNot String | Número | Bool | Dinâmico isNot: cast
greaterThan
greaterThanOrEqualTo
String | Número | Bool | Dinâmico greaterThan: 1
lessThan
lessThanOrEqualTo
String | Número | Bool | Dinâmico lessThan: 10

Exemplo: inicie a automação se o termostato detectar um nível de umidade superior a 55%.

condition:
  type: device.state.TemperatureSetting
  device: My Thermostat - Living Room
  state: thermostatHumidityAmbient
  greaterThan: 55

Condições de estado da casa

Use uma condição home.state.HomePresence para limitar quando seu script pode ocorrer com base na presença ou ausência na casa.

Observação: antes de criar um script que use a condição home.state.HomePresence, configure a detecção de presença no app Google Home e verifique seu funcionamento. A presença residencial pode ser determinada pela localização dos smartphones da sua família, por sensores em alguns dispositivos Nest ou pela alternância manual entre as Rotinas "Em casa" e "Ausente" no app Google Home.

Saiba mais sobre a detecção de presença e as Rotinas "Em casa" e "Ausente":

É possível usar os seguintes pares de chave-valor de comparação com a condição home.state.HomePresence:
Chaves de comparação Tipos de valor compatíveis Exemplo
is String ("EM CASA" ou "AUSENTE") is: away
isNot String ("EM CASA" ou "AUSENTE") isNot: HOME
for Duração for: 30min
suppressFor Duração suppressFor: 1hour

Exemplo: a condição home.state.HomePresence vai iniciar a automação se sua presença estiver definida como EM CASA.

condition:
  type: home.state.HomePresence
  state: homePresenceMode
  is: HOME

Condições de tempo

Use a condição time.between para limitar quando o script pode ocorrer. É possível usar os seguintes pares de chave-valor de comparação com a condição time.between:
Chaves de comparação Tipos de valor compatíveis Exemplo
before Hora before: sunset
after Hora after: 7:00 am
weekdays Dias úteis weekdays: MON

Exemplo: inicie a automação apenas nos fins de semana antes das 10h.

condition:
  type: time.between
  before: 10am
  weekdays:
  - SAT
  - SUN

Ações

A seção de ações do script é onde você lista o que quer que seus dispositivos façam. Para incluir várias ações, liste cada uma começando com a chave "- type: ". Seu script precisa ter pelo menos uma ação para ser executado. A maioria das ações começa com device.command.

É possível usar os seguintes tipos de ações:

Ações do Assistente

Use a ação assistant.command com os alto-falantes ou as telas para que o Google Assistente conclua tarefas como apagar as luzes ou informar a previsão do tempo.

Com os comandos do Google Assistente, é possível comandar dispositivos por ambiente ou para toda a casa sem usar nomes específicos. Isso economiza tempo, já que os futuros aparelhos adicionados ao app Home podem funcionar automaticamente com esse comando. Para executar os comandos do Google Assistente, é preciso usar um alto-falante ou uma tela compatível.

Observação: se uma automação for iniciada por um comando de voz e houver uma ação do Assistente no script, essa ação vai ocorrer no dispositivo que ouvir o comando de voz, mesmo que outro aparelho tenha sido especificado no script.

Exemplo: use "Turn on living room lights" para ligar todas as luzes da sala.
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn on living room lights  
  devices: My Speaker - Room Name 
Exemplo: use "Turn off all lights" para desligar todas as luzes configuradas na casa.
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn off all lights  
  devices: My Speaker - Room Name 
Exemplo: é possível pedir para os alto-falantes ou as telas fazerem um anúncio.
actions:
- type: assistant.command.Broadcast
  devices:  
  - My Speaker 1 - Room Name
  - My Speaker 2 - Room Name
  message: It’s dinner time.
     

As ações do Google Assistente também permitem realizar ações personalizadas, como:

  • "Play Hello by Adele from YouTube Music on bedroom speaker"
  • "Play funny cat videos from YouTube on Living Room Display"
  • "What's the weather like tomorrow?"
  • "Tell me a joke"
  • "Show me the driveway camera on home office display"

Observação: as ações do Google Assistente que exigem a ativação do Voice Match ou dos resultados personalizados não funcionam com as automações da família criadas com o editor de script.

Ações do dispositivo

Use a ação device.command para controlar ou ajustar um dispositivo. Cada comando de ação tem seu próprio conjunto de características e estrutura. Adicione comandos ao script colocando a ação de comando para um dispositivo após "device.command". Por exemplo, para ligar um dispositivo, use device.command.OnOff. Uma ação device.command precisa incluir as seguintes informações:
Chave Valor Exemplo
type A ação do dispositivo, começando com device.command device.command.OpenClose
devices Nome do dispositivo como mostrado no app Google Home, com o nome do ambiente: Device name - Room name. Para incluir vários dispositivos, crie uma lista. Blinds - Bedroom

Dica: para encontrar as ações ou os comandos disponíveis para seu dispositivo, digite a chave "device:" e, em seguida, a chave "type:". O preenchimento automático mostra uma lista das ações disponíveis.

Muitas ações device.command têm chaves adicionais que especificam a entrada necessária para o comando. Por exemplo, device.command.ThermostatTemperatureSetpoint requer um par de chave-valor thermostatTemperatureSetpoint para informar ao termostato a nova temperatura que você quer definir.

Para saber mais sobre como usar comandos, procure a ação relacionada no Centro para Desenvolvedores do Google Home e siga a estrutura da ação que você quer usar.

Exemplo: ligue a TV da sala.

actions:
  type: device.command.OnOff
  devices: TV - Living room
  on: true

 Exemplo: acenda uma luz e apague após cinco minutos.

actions:
- type: device.command.OnOff
  devices: Light A - Living Room
  on: true
- type: time.delay
  for: 5min
- type: device.command.OnOff
  devices: Light A - Living Room
  on: false

Ações da notificação

Use a ação home.command.Notification para o script enviar notificações aos dispositivos móveis dos membros da casa. Por exemplo, é possível receber notificações quando os aparelhos conectados a tomadas inteligentes forem desligados ou ficarem off-line.

actions:
- type: home.command.Notification
  members:
  - Alex - cloudysanfrancisco@gmail.com
  - Kim - jeffersonloveshiking@gmail.com
  title: It’s movie time!
  body: Join me in the living room
 

Ações de tempo

Use a ação time.delay para que o script aguarde um certo período entre duas ações na lista, em vez de executar todas de uma só vez. Você pode adicionar várias esperas ao script. Por exemplo, o script pode aguardar 10 segundos entre cada ação.
Exemplo: acenda as luzes e apague após uma espera de 30 segundos.
actions:
- type: device.command.OnOff
  devices: 
    - Bedside Lamp - Bedroom
    - Ceiling Light - Bedroom
  on: true
- type: time.delay
  for: 30sec
- type: device.command.OnOff
  devices: 
    - Bedside Lamp - Bedroom
    - Ceiling Light - Bedroom
  on: false

Recursos

Praticar a escrita de um script

Para começar, vamos criar uma automação muito simples, mas bem conhecida: "Apague as luzes quando a TV ligar".

Observação: se você não tiver um Chromecast, iluminação inteligente ou dispositivos semelhantes, seu script não será executado no final, mas você pode acompanhar a explicação para entender o processo.

  1. Acesse home.google.com/automations e faça login na sua conta.
  2. Clique em Adicionar nova .
  3. Preencha as informações dos metadados. No script, o nome é TV on lights off, e a descrição é Turn off lights when TV turns on. Formate seu script corretamente.
    metadata:
      name: TV on lights off
      description: Turn off lights when TV turns on.
  4. Agora vamos criar a automação. Adicione ativações criando uma nova linha em "starters:" começando com "- type: ".
    • Para criar uma nova linha, recue a linha com dois espaços ou pressione Tab depois do início de "starters:", conforme mostrado abaixo.
    • Para incluir várias ativações, cada uma deve começar com um hífen e um espaço.
      metadata:
        name:  TV on lights off
        description:  Turn off lights when TV turns on
      automations:
        starters:
        - type:
  5. Adicione a ativação device.state. Para usar uma ativação device.state, você precisa de três chaves: type, device e state, seguidas de pelo menos um par de chave-valor de comparação. O editor de script vai ajudar você com a estrutura apresentando sugestões de preenchimento automático com base nas ativações, condições e ações disponíveis. Confira algumas informações do script:
    • O tipo é device.state.OnOff. Esse é o estado do dispositivo que será avaliado para iniciar nossa automação.  
    • O dispositivo é Chromecast - Living Room. Esse é o nome do nosso dispositivo, conforme exibido no app Google Home.
    • O estado é on. "On" é o campo compatível ou dado de estado para o estado "OnOff".
    • O par de chave-valor de comparação é is: true. O valor dessa chave de comparação é um tipo de dado primitivo. O script será executado se a TV estiver ligada.
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true 

      Para fins de comparação, vamos conferir um script semelhante com uma ativação diferente. No script abaixo, a automação começa quando o volume está entre 1 e 10, e não quando a TV é ligada. Para fazer essa mudança, substituímos o estado OnOff por Volume e o mudamos para currentVolume para corresponder ao novo atributo. Também mudamos os pares de chave-valor de comparação para dois pares aninhados que criam um intervalo: greaterThan: 1 e lessThan: 10. Para mais exemplos, confira uma lista completa de ativações que você pode usar.

      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on
      automations:
        starters:
        - type: device.state.Volume
          device: Chromecast - Living Room
          state: currentVolume
          greaterThan: 1
          lessThan: 10
  6. Clique em Salvar para salvar o script a qualquer momento. Quando você salva um script, o editor automaticamente valida e verifica os erros. Não é possível executar um script inválido.
  7. Agora adicione uma ação ao script. Para isso, crie uma nova linha em actions: começando com - type. Para criar uma nova linha, recue a linha dois espaços depois do início de "actions:", conforme mostrado abaixo.
    • Para incluir mais ações, cada uma deve começar com um hífen e um espaço.
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on.
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true
        actions:
        - type: 
  8. Para apagar as luzes, vamos usar a ação device.command. Para usar a ação device.command, vamos incluir as seguintes informações:
    • O tipo é device.command.OnOff. Esse é o nome do comando ou da ação. Os comandos podem ter vários comandos aninhados abaixo dos dispositivos, e cada comando tem seu próprio estado.
    • Os dispositivos são uma lista com Floor Lamp - Living Room e Overhead Light - Living Room. Esses são os nomes das nossas luzes, conforme aparecem no app Google Home. Para incluir várias luzes, listamos cada dispositivo em linhas separadas, cada uma começando com um hífen.
    • O estado desejado do comando é on: false. Essa linha diz para nossas luzes se apagarem.
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on.
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true
        actions:
        - type: device.command.OnOff
          devices:
          - Floor Lamp - Living Room
          - Overhead Light - Living Room 
          on: false
  9. Clique em Salvar para salvar seu script. Se não houver erros, ele será ativado automaticamente: sempre que a TV ligar, a luz vai apagar. Se você ainda não estiver pronto para executar, pause o script desativando a opção Ativar.

Para praticar mais, tente alterar alguns scripts para usar outras ativações, tipos de dados, várias ações ou uma condição adicional, como time.between. Você também pode consultar exemplos de scripts e conferir o codelab para saber mais. Para informações detalhadas sobre ativações, ações e condições, consulte o Centro para Desenvolvedores do Google Home.

Ajuda com automações usando scripts

  • Receba ajuda com scripts e saiba em que outras pessoas estão trabalhando na comunidade de automação do Google Home.
  • Para que as automações funcionem, os scripts precisam usar um código válido. Se houver um erro, uma mensagem será exibida. Saiba mais sobre erros e avisos no editor de script.
  • Para validar seu código, clique ou toque em Validar no editor ou tente salvar o script. Consulte a seguir como evitar alguns erros comuns:
  • Se o script for salvo, mas a automação não funcionar como esperado, confirme manualmente se cada componente do script funciona. Por exemplo, se você escreveu um script para acender a luz e mudar o brilho depois do pôr do sol, tente concluir essas tarefas com um comando do Assistente para confirmar se cada função funciona. Também é possível verificar se:
    • o dispositivo foi adicionado ou vinculado ao app Google Home;
    • o dispositivo está conectado e on-line;
    • o nome do dispositivo e as ativações, condições e ações estão escritos corretamente;
    • o script tem recuo e formatação adequados.
  • Com o Google Home para Web, você também pode acessar os Registros de automação abaixo do script para conferir o histórico dela e identificar possíveis problemas. Saiba mais sobre os tipos de mensagens exibidas nos registros de automação.
  • Tente usar o recurso experimental de IA generativa do editor de script para descrever a automação que quiser e criar um script para você revisar e editar.
  • Saiba mais sobre os princípios básicos das Rotinas e como resolver problemas relacionados.
  • Saiba mais sobre como criar e editar automações usando scripts.

A informação foi útil?

Como podemos melhorá-la?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
11840290429032290355
true
Pesquisar no Centro de ajuda
true
true
true
true
true
1633396
false
false