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:- Criar automações residenciais avançadas com o editor de script
- Ativações, condições e ações compatíveis
- Acesse nosso codelab para conferir um exemplo guiado de como criar seu primeiro script.
Prática adicional para escrever uma automação com script e exemplos de scripts
Acessar o codelabNoçõ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 |
|
Número | Número inteiro ou decimal |
String |
Texto simples Os valores de string só precisarão de aspas se começarem com |
Data |
É o mês e o dia. O formato é MM-DD ou MM/DD.
|
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
|
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.
|
Dias úteis |
|
Duração |
Um período de tempo.
|
ColorHex |
Um código hexadecimal de seis dígitos que representa uma cor. Não há # inicial.
|
Temperatura |
Dados de temperatura. Sempre adicione C ou F para indicar Celsius ou Fahrenheit.
|
ColorTemperature |
Temperatura da cor em Kelvin.
|
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
- 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 |
state: on |
Recuo O recuo indica estrutura e hierarquia e define pares de chaves aninhados. No exemplo, a chave mãe é |
|
Hífen Um hífen seguido por um espaço define um item da lista. |
|
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
assistant.command
para iniciar um script quando um dispositivo com o Assistente detectar um comando que comece com "Ok Google".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.
starters: - type: device.event.DoorbellPress device: Doorbell - Front door
starters: - type: device.event.PersonDetection device: Camera - Backyard
Exemplo: inicie a automação quando a câmera detectar movimento.
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
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.device.state
". Por exemplo, para verificar se um dispositivo está ligado, você pode usar device.state.OnOff
.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 |
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
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.starters: - type: home.state.HomePresence state: homePresenceMode is: HOME
Ativações de tempo
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
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
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.device.state
". Por exemplo, para verificar se um dispositivo está ligado, você pode usar device.state.OnOff
.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 |
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
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":
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
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
actions: - type: assistant.command.OkGoogle okGoogle: Turn off all lights devices: My Speaker - Room Name
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
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
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.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.
- Acesse home.google.com/automations e faça login na sua conta.
- Clique em Adicionar nova .
- 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.
- 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:
- Para criar uma nova linha, recue a linha com dois espaços ou pressione Tab depois do início de "
- Adicione a ativação
device.state
. Para usar uma ativação device.state, você precisa de três chaves:type
,device
estate
, 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
porVolume
e o mudamos paracurrentVolume
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
elessThan: 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
- O tipo é
- 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.
- 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:
- Para incluir mais ações, cada uma deve começar com um hífen e um espaço.
- 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
eOverhead 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
- O tipo é
- 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:
- Use o nome correto do dispositivo no formato "Nome do dispositivo – nome do ambiente". Se não tiver certeza, verifique o nome do dispositivo no app Google Home.
- Confira se o dispositivo é compatível com a função que você quer que ele execute. Você também pode usar o preenchimento automático para encontrar as opções disponíveis.
- Inclua uma ação. As ações são necessárias para executar uma automação.
- 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.