O editor de scripts permite-lhe escrever as suas próprias automatizações para criar automatizações dos residentes avançadas com o Google Home para a Web ou na app Google Home. Para escrever automatizações com script, tem de saber algumas noções básicas sobre a linguagem de script YAML, como estruturar o seu script e como usar os componentes de que é feito.
O editor de scripts está atualmente disponível em Pré-visualização pública. Pode aceder ao editor de scripts com o Google Home para a Web ou na app Google Home para dispositivos móveis depois de aderir à Pré-visualização pública.
Saiba como criar automatizações com o editor de scripts:- Crie uma domótica inteligente avançada com o editor de scripts
- Iniciadores, condições e ações compatíveis
- Visite o nosso codelab para ver um exemplo orientado de como criar o seu primeiro script
- Pratique a escrita de uma automatização com script e scripts de exemplo
Noções básicas da linguagem de script YAML
O editor de scripts usa o YAML, uma linguagem de script flexível que lhe permite introduzir instruções linha a linha para as ações que quer que os seus dispositivos executem e quando quer que ocorram. Estas instruções são escritas sob a forma de pares de chave-valor.
Pares de chave/valor
O YAML é escrito 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 é essencialmente a palavra-chave de um elemento que quer usar. Cada chave tem de ser exclusiva, mas a ordem das chaves não é importante. Cada par de chave-valor começa numa nova linha.
O valor associado a uma chave pode ser apresentado sob a forma de vários tipos de dados diferentes.
Tipos de dados
Primitivos
O tipo de dados primitivos inclui todos os tipos de dados básicos compatíveis com o editor de scripts.
| Formatos primitivos | Tipos de valores |
|---|---|
| Booleano |
|
| Número | Número inteiro ou decimal |
| String |
Texto simples Os valores de string só precisam de aspas se começarem por |
| Data |
Mês e dia. O formato é MM-DD ou MM/DD.
|
| Hora |
A hora pode estar no formato AM/PM ou no formato de 24 horas. Os segundos são opcionais. Também pode usar a hora relativa ao sol. Por exemplo, pode usar as palavras-chave
|
| Data e hora |
Ano, mês, dia e hora do dia. Tem de incluir um espaço entre a data e a hora. O formato da data é AAAA-MM-DD ou AAAA/MM/DD. O formato da hora é o mesmo que "Hora" acima. Os fusos horários não são compatíveis.
|
| Dia da semana |
|
| Duração |
Um período de tempo.
|
|
Código hexadecimal de cor |
Um código hexadecimal de 6 dígitos que representa uma cor. Não existe um # inicial.
|
| Temperatura |
Dados de temperatura. Adicione sempre C ou F para indicar Celsius ou Fahrenheit.
|
| Temperatura da cor |
Temperatura da cor em Kelvin.
|
Estruturas: pares de chave-valor aninhados
O tipo de dados de estrutura é um "bloco" ou uma estrutura de dados que contém vários pares de chave-valor. Estes pares de chave-valor estão aninhados numa única chave principal, tendo cada nível de aninhamento um avanço com o mesmo número de espaços ou tabulações para indicar a hierarquia.
actions: device: Light B - Living room state: on
Neste exemplo, a chave principal = actions. O valor para actions é 2 pares de chave-valor aninhados:
- Par 1: chave secundária =
device; valor =Light B - Living room - Par 2: chave secundária =
state; valor =on
Listas: chaves com vários valores
Para incluir vários valores com uma única chave, crie uma lista com um hífen antes de cada item de lista. Uma lista pode usar valores de tipo de dados primitivos ou de estrutura, mas não ambos em simultâneo.
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
Neste exemplo, a chave principal = starters. O valor desta chave principal = uma lista em que cada item de lista inclui vários pares de chave-valor.
Alguns tipos de chaves exigem que os valores estejam em formatos específicos, enquanto outras chaves herdam as caraterísticas com base nas capacidades de um dispositivo. Saiba como iniciadores, condições e ações específicos estão estruturados.
Sintaxe da linguagem YAML
Quando escreve rotinas com scripts, use estes conceitos de formatação:
| Conceito | Exemplo |
|---|---|
|
Dois pontos O YAML usa dois pontos |
state: on |
|
Avanço O avanço indica a estrutura e a hierarquia e define pares de chaves aninhados. No exemplo, a chave principal = |
|
|
Hífen Um hífen seguido de um espaço define um item de lista. |
|
|
Comentários Use o sinal de cardinal # para adicionar comentários ou notas ao script. Os comentários são ignorados pelo motor de automatização e não afetam a sua automatização. |
# This is a comment. It will be ignored. |
O modelo do editor de scripts
Quando cria uma nova automatização, o editor de scripts fornece-lhe um modelo vazio para escrever o script com a seguinte estrutura:
metadata |
contém o nome da automatização e uma descrição |
automations |
define o comportamento da automatização |
starters |
define os acionadores que iniciam a automatização |
condition |
define as restrições relativas ao momento em que a automatização deve ser executada (opcional) |
actions |
define as ações que ocorrem na automatização |
O modelo está dividido em 2 blocos principais: metadados e automatizações. Em seguida, as automatizações são divididas em secções para iniciadores, condições e ações.
Blocos de metadados e automatizações
O modelo do editor de scripts contém 2 chaves principais de nível superior ou blocos: metadata e automations.
O bloco metadata contém o nome e a descrição da automatização. Isto só é usado para ajudar a identificar a sua automatização.
metadata: name: TV time description: When TV is on, turn on lights
O bloco automations é o núcleo do script de automatização. É aqui que define o comportamento da automatização através de iniciadores, condições e ações.
automations:
starters:
# e.g. Motion detected
condition:
# e.g. Between 2 times
actions:
# e.g. Turn on lights
Para compreender melhor como usar o editor de scripts, visite o nosso codelab, reveja exemplos de scripts ou saiba como formatar iniciadores, condições e ações individuais no Centro para programadores do Google Home.
Preenchimento automático
O editor de scripts ajuda a escrever o seu script através de sugestões de preenchimento automático com base nos iniciadores, condições e ações disponíveis quando:
- O cursor está localizado onde existem opções válidas. Por exemplo, depois de "
- type:".- Escreve o código com sugestões válidas. À medida que escreve, encontra a lista de sugestões filtrada.
Pode iniciar manualmente o preenchimento automático usando o atalho Ctrl+Espaço.
Prima Enter para selecionar uma sugestão da lista. O preenchimento automático preenche os campos adicionais com base na estrutura que selecionar.
Dica: pode usar o preenchimento automático para saber que estados ou comandos estão disponíveis para o seu dispositivo e que dispositivos estão disponíveis para um determinado estado ou comando.
Para saber que estados ou comandos estão disponíveis para o seu dispositivo, quando escrever o script, introduza primeiro a chave "device: " e, em seguida, a chave "type: ". A funcionalidade de preenchimento automático mostra uma lista de estados ou comandos disponíveis para esse dispositivo.
Exemplo
starters: - device: LED lights - Living Room - type:
Para saber que dispositivos estão disponíveis para um determinado estado ou comando, introduza primeiro a chave "type: " e, em seguida, a chave "device: ". A funcionalidade 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:
Iniciadores, condições e ações
As automatizações são compostas por iniciadores, condições e ações de dispositivo. Estes componentes definem os comportamentos da automatização.
Alguns iniciadores, 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 automatização e informar o script sobre o que quer que seja avaliado. O valor tem de ser um tipo de dados compatível. Por exemplo, o estado on de uma luz pode ser true ou false. Para iniciar a automatização se a luz estiver acesa, usaria:
state: on is: true
Abaixo, encontra detalhes sobre os diferentes iniciadores, condições e ações disponíveis. Para ver uma lista completa de iniciadores, condições e ações, visite o Centro para programadores do Google Home.
Iniciadores
A secção de iniciadores do script especifica o que vai fazer com que o script seja executado. Os iniciadores baseiam-se em ações que o seu dispositivo pode realizar ou em atributos que podem ser alterados, incluindo estados do dispositivo, hora e eventos do dispositivo. Por exemplo, pode usar uma lâmpada com os estados OnOff, Brightness e ColorSetting. Para incluir vários iniciadores, indique cada iniciador começando com a chave " - type: ". O script tem de cumprir, pelo menos, uma condição do iniciador para ser executado.
Consulte a lista completa de iniciadores compatíveis.
Tipos de iniciadores
Iniciadores do Assistente
assistant.command para iniciar um script quando um dispositivo com o Assistente ouvir um comando do Assistente que comece por "OK Google".starters: - type: assistant.command.OkGoogle eventData: query is: party time
Iniciadores de eventos do dispositivo
Use um iniciador device.event para iniciar o script quando ocorrer um evento específico, por exemplo, quando alguém toca à campainha ou um sensor deteta algo.
Dica: 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: iniciar a automatização quando a câmara detetar movimento.
Dicas:
- Os eventos da câmara exigem uma campainha, um ecrã ou uma câmara Nest compatível e a configuração da deteção de eventos.
- Alguns eventos da câmara podem exigir uma subscrição do Google Home Premium ou que a câmara esteja ligada a uma tomada. Por exemplo, a deteção de som só funciona quando a Nest Cam (interior ou exterior, com bateria) estiver ligada com fios.
- Com base nos eventos e nos estados do dispositivo que se repetem durante um período, pode suprimir iniciadores.
Iniciadores de estado do dispositivo
device.state para que a automatização seja iniciada com base no estado de um dispositivo. Os estados são caraterísticas de um dispositivo, por exemplo, quando a temperatura do termóstato atinge um valor específico, se uma luz se liga ou desliga ou quando um sensor compatível atinge um limite definido.
device.state". Por exemplo, para verificar se um dispositivo está ligado, pode usar device.state.OnOff.device.state, comece com 3 chaves: type, device e state, seguidas de, pelo menos, um par de chave-valor de comparação.| Chave | Valor | Exemplo |
type |
O iniciador de estado do dispositivo, começando com device.state |
device.state.ArmDisarm |
device |
Nome conforme apresentado na app Google Home com o nome da divisão: Device name - Room name |
Alarm - Front Door |
state |
O campo ou os dados do estado do iniciador que quer verificar. Encontre o iniciador que quer usar no Centro para programadores do Google Home para encontrar "Campos compatíveis" ou "Dados de estado". |
isArmed |
Pode usar os seguintes pares de chave-valor de comparação com o iniciador device.state:
| Chaves de comparação | Tipos de valores compatíveis | Exemplo |
|---|---|---|
is |
String | Número | Booleano | Dinâmico | is: on |
isNot |
String | Número | Booleano | Dinâmico | isNot: cast |
greaterThan |
String | Número | Booleano | Dinâmico | greaterThan: 1 |
lessThanlessThanOrEqualTo |
String | Número | Booleano | Dinâmico | lessThan: 10 |
suppressFor |
Duração | suppressFor: 1hour |
Exemplo: iniciar a automatizaçã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
Iniciadores de estado da casa
home.state para iniciar o script com base no facto de estar em casa ou ausente. Isto pode ser detetado com a deteção de presença.starters: - type: home.state.HomePresence state: homePresenceMode is: HOME
Iniciadores de tempo
time para iniciar a automatização com base em dias e horas específicos. Pode usar os seguintes pares de chave-valor de comparação com o iniciador de tempo:| Chaves de comparação | Tipos de valores compatíveis | Exemplo |
|---|---|---|
before |
Hora | before: sunset |
after |
Hora | after: 7:00 am |
weekdays |
Dia da semana | weekdays: MON |
Exemplo: iniciar a automatização às segundas e terças, 30 minutos após o nascer do sol.
starters: - type: time.schedule at: sunrise+30min weekdays: - MON - TUE
Como suprimir iniciadores
Use a chave de comparação suppressFor para indicar à automatização que ignore um iniciador durante um período de tempo. Por exemplo, quando a câmara deteta alguém, anunciar "Há alguém à porta" e, em seguida, não anunciar novamente durante os 10 minutos seguintes, mesmo que a câmara continue a detetar alguém.
Exemplo: quando alguém passa pelo hall pela primeira vez de manhã, abrir todas as persianas e, em seguida, suprimir este iniciador durante as 20 horas seguintes.
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ções 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, existe uma condição de tempo e uma condição device.state. Este script é executado se estiver entre o pôr do sol e o nascer do sol numa segunda ou terça, ou se o volume da TV estiver entre 1 e 10.
Pode usar os seguintes tipos de condições:
Operadores de condições
Condição AND
Quando usa a condição and, o script só é executado se todas as condições secundárias forem cumpridas.
Exemplo: iniciar a automatização se a TV estiver ligada E a hora for após as 18:00.
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 usa a condição or, o script é executado quando ocorre qualquer uma das condições secundárias.
Exemplo: iniciar a automatização se a TV estiver ligada OU a hora for após as 18:00.
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 usa a condição not, o script não pode ser executado se a condição secundária ocorrer.
Exemplo: iniciar a automatização se a hora não estiver entre as 18:00 e as 20:00.
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 aos iniciadores device.state, exceto que, em vez de indicarem ao script quando deve começar, limitam as situações em que o script pode ocorrer.device.state". Por exemplo, para verificar se um dispositivo está ligado, pode usar device.state.OnOff.device.state, comece com 3 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 |
Nome conforme apresentado na app Google Home com o nome da divisão: Device name - Room name |
Chromecast - Living Room |
state |
O estado do iniciador que quer verificar Encontre a condição de estado do dispositivo que quer usar no Centro para programadores do Google Home. |
state: on |
Dica: para saber que estados estão disponíveis para o seu dispositivo, introduza primeiro a chave "device: " e, em seguida, a chave "type: " no script. A opção de preenchimento automático mostra uma lista dos estados disponíveis para esse dispositivo.
Pode usar os seguintes pares de chave-valor de comparação com a condição device.state:
| Chaves de comparação | Tipos de valores compatíveis | Exemplo |
|---|---|---|
is |
String | Número | Booleano | Dinâmico | is: on |
isNot |
String | Número | Booleano | Dinâmico | isNot: cast |
greaterThan |
String | Número | Booleano | Dinâmico | greaterThan: 1 |
lessThanlessThanOrEqualTo |
String | Número | Booleano | Dinâmico | lessThan: 10 |
Exemplo: iniciar a automatização se o termóstato detetar um nível de humidade 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 o script pode ocorrer com base no facto de alguém estar em casa ou ausente.home.state.HomePresence, configure a deteção de presença na app Google Home e confirme que está a funcionar conforme esperado. A presença em casa pode ser determinada pela localização dos telemóveis dos residentes e pelos sensores de alguns dispositivos Nest ou mudando manualmente para o estado Em casa ou Ausente na app Google Home.Para saber mais sobre a deteção de presença e as automatizações baseadas na presença, aceda aos seguintes artigos:
home.state.HomePresence:| Chaves de comparação | Tipos de valores compatíveis | Exemplo |
|---|---|---|
is |
String ("HOME" ou "AWAY") | is: away |
isNot |
String ("HOME" ou "AWAY") | isNot: HOME |
for |
Duração | for: 30min |
suppressFor |
Duração | suppressFor: 1hour |
Exemplo: a condição home.state.HomePresence inicia a automatização se a sua presença estiver definida como HOME.
condition: type: home.state.HomePresence state: homePresenceMode is: HOME
Condições de tempo
time.between para limitar quando o script pode ocorrer. Pode usar os seguintes pares de chave-valor de comparação com a condição time.between:| Chaves de comparação | Tipos de valores compatíveis | Exemplo |
|---|---|---|
before |
Hora | before: sunset |
after |
Hora | after: 7:00 am |
weekdays |
Dia da semana | weekdays: MON |
Exemplo: iniciar a automatização apenas aos fins de semana antes das 10:00.
condition: type: time.between before: 10am weekdays: - SAT - SUN
Ações
A secção de ações do script é onde lista o que quer que os dispositivos façam. Para incluir várias ações, liste cada ação começando com a chave "- type: ". O script tem de ter, pelo menos, uma ação para ser executado. A maioria das ações começa com device.command.
Pode usar os seguintes tipos de ações:
Ações do Assistente
Use a ação assistant.command com os altifalantes ou os ecrãs para que o Assistente conclua ações como "Desliga todas as luzes" ou "Diz-me a meteorologia".
Com os comandos do Assistente, pode comandar os dispositivos por divisão ou em toda a casa sem usar nomes de dispositivos específicos. Isto pode poupar-lhe tempo, uma vez que os dispositivos futuros adicionados à app Home podem funcionar automaticamente com este comando. Os comandos do Assistente exigem um altifalante ou um ecrã compatível para executar a ação.
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 Assistente também lhe permitem realizar ações personalizadas, como:
- "Toca Hello da Adele do YouTube Music no altifalante do quarto."
- "Reproduz vídeos engraçados de gatos do YouTube no ecrã da sala de estar."
- "Como vai estar o tempo amanhã?"
- "Conta-me uma anedota."
- "Mostra-me a câmara da entrada no ecrã do escritório de casa."
Ações do dispositivo
device.command para controlar ou ajustar um dispositivo. Cada comando de ação tem o seu próprio conjunto de caraterísticas e estrutura. Pode adicionar comandos ao script adicionando a ação de comando de um dispositivo depois de "device.command". Por exemplo, para ligar um dispositivo, pode usar device.command.OnOff. Uma ação device.command tem de 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 conforme apresentado na app Google Home com o nome da divisão: Nome do dispositivo – Nome da divisão. Para incluir vários dispositivos, crie uma lista. | Blinds - Bedroom |
Dica: para saber que ações ou comandos estão disponíveis para o seu dispositivo, introduza primeiro a chave "device:" e, em seguida, a chave "type:". O preenchimento automático apresenta uma lista de ações disponíveis para esse dispositivo.
Muitas ações device.command têm chaves adicionais que especificam a entrada necessária para o comando. Por exemplo, device.command.ThermostatTemperatureSetpoint exige um par de chave-valor thermostatTemperatureSetpoint para indicar ao termóstato a nova temperatura que quer definir.
Para saber como usar comandos, encontre a ação relacionada no Centro para programadores do Google Home e siga a estrutura da ação que quer usar.
Exemplo: ligar a TV na sala de estar.
actions: type: device.command.OnOff devices: TV - Living room on: true
Exemplo: ligar uma luz e desligá-la após 5 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 de notificação
Use a ação home.command.Notification para que o script envie notificações para os dispositivos móveis dos membros da casa. Por exemplo, pode receber notificações quando os eletrodomésticos ligados a tomadas inteligentes se desligam ou ficam offline.
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 período definido entre 2 ações na sua lista, em vez de executar todas as ações em simultâneo. Pode adicionar vários atrasos ao script. Por exemplo, pode fazer com que o script aguarde 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
Pratique a escrita de um script
Para começar, vamos criar uma automatização muito simples, mas popular: "Desligar as luzes quando a TV é ligada".
- Abra home.google.com/automations e inicie sessão na sua conta.
- Clique em Adicionar novo
.
- Preencha as informações de metadados. Neste script, o nome =
TV on lights offe a descrição =Turn off lights when TV turns on. Certifique-se de que formata o script corretamente.metadata: name: TV on lights off description: Turn off lights when TV turns on.
- Para adicionar iniciadores, crie uma nova linha, avance 2 espaços ou prima a tecla Tab uma vez e introduza "
starters:". Na linha seguinte, avance novamente 2 espaços e introduza "- type:".Dica:- Para criar uma nova linha, prima Shift
Enter.
- Para incluir vários iniciadores, cada iniciador deve começar com um hífen e um espaço.
- Para criar uma nova linha, prima Shift
metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type:O editor de scripts ajuda com a estrutura fornecendo sugestões de preenchimento automático com base nos iniciadores disponíveis. Para escolher de entre as sugestões, use as teclas de seta do teclado para selecionar uma e, em seguida, prima Enter para a inserir.
- Adicione o iniciador
device.state. Lembre-se de que, para usar um iniciador device.state, precisa de 3 chaves:type,deviceestate, seguidas de, pelo menos, um par de chave-valor de comparação. O editor de scripts ajuda com a estrutura fornecendo sugestões de preenchimento automático com base nos iniciadores, nas condições e nas ações disponíveis. Neste script:- Tipo =
device.state.OnOff. Este é o estado do dispositivo que vai ser avaliado para iniciar a nossa automatização. - Dispositivo =
Chromecast - Living Room. Este é o nome do nosso dispositivo, tal como aparece na app Google Home. - Estado =
on. On é o campo compatível ou os dados de estado do dispositivo OnOff. - O par de chave-valor de comparação =
is: true. O valor desta chave de comparação é um tipo de dados primitivo. O script é 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: truePara comparação, vamos verificar um script semelhante com um iniciador diferente. No script abaixo, a automatização é iniciada quando o volume está entre 1 e 10, em vez de quando a TV é ligada. Para fazer esta alteração, substituímos o estado
OnOffporVolumee alterámos o estado paracurrentVolumepara corresponder ao novo atributo. Também alterámos os pares de chave-valor de comparação para 2 pares aninhados que criam um intervalo:greaterThan: 1elessThan: 10. Para mais exemplos, segue-se uma lista completa de iniciadores que 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
- Tipo =
- Clique em Guardar para guardar o script em qualquer altura. Quando guarda um script, o editor de scripts valida automaticamente o script e verifica a existência de erros. Não é possível executar um script inválido.
- Agora, adicione uma ação ao script. Para adicionar ações, crie uma nova linha, avance 2 espaços ou prima a tecla Tab uma vez e introduza "
actions:". Em seguida, na linha seguinte, avance novamente 2 espaços e introduza "- type".Dica:- Para criar uma nova linha, prima Shift
Enter.
- Para incluir ações adicionais, cada ação 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 criar uma nova linha, prima Shift
- Para desligar as luzes, vamos usar a ação
device.command. Para usar a ação device.command, vamos incluir as seguintes informações:- Tipo =
device.command.OnOff. Este é o nome do comando ou da ação.Os comandos podem ter vários comandos aninhados nos seus dispositivos, e cada comando tem o seu próprio estado. - Dispositivos = uma lista que contém
Floor Lamp - Living RoomeOverhead Light - Living Room. Estes são os nomes das nossas luzes, tal como aparecem na app Google Home. Para incluir várias luzes, listámos cada dispositivo em linhas separadas, cada uma começando com um hífen. - O estado desejado do comando =
on: false. Esta linha diz às nossas luzes para se desligarem.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
- Tipo =
- Clique em Guardar para guardar o script. Se não existirem erros, o script é ativado automaticamente: sempre que a TV se ligar, a luz desliga-se. Se ainda não quiser executar o script, desative a opção Ativar para o pausar.
Para praticar mais, experimente alterar algumas partes do script para usar diferentes iniciadores, tipos de dados, várias ações ou uma condição adicional, como time.between. Também pode rever exemplos de scripts e consultar o codelab para saber mais. Para ver informações detalhadas sobre iniciadores, ações e condições, consulte o Centro para programadores do Google Home.
Ajuda para automatizações com script
- Encontre ajuda para scripts e saiba em que as outras pessoas estão a trabalhar na Comunidade de domótica do Google Home.
- Para que as automatizações funcionem, os scripts têm de usar código válido. Se existir um erro, é apresentada uma mensagem. Saiba mais sobre erros e avisos no editor de scripts.
- Para validar o código, clique ou toque em Validar no editor de scripts ou experimente guardar o script. Seguem-se alguns erros comuns:
- Certifique-se de que usa o nome do dispositivo correto no formato Nome do dispositivo – Nome da divisão. Se não tiver a certeza, verifique o nome do dispositivo na app Google Home.
- Certifique-se de que o dispositivo é compatível com a função que quer que execute. Também pode usar o preenchimento automático para encontrar as opções disponíveis.
- Certifique-se de que inclui uma ação. São necessárias ações para que uma automatização seja executada.
- Se o script for guardado, mas a automatização não se comportar conforme o esperado, confirme manualmente se cada componente do script funciona. Por exemplo, se escreveu um script para ligar a luz e alterar o brilho ao pôr do sol, experimente concluir estas tarefas com um comando do Assistente para confirmar que cada função individual funciona. Também pode verificar se:
- O dispositivo está adicionado ou associado na app Google Home.
- O dispositivo está ligado e online.
- O nome, os iniciadores, as condições e as ações do dispositivo estão escritos corretamente.
Dica: os fabricantes podem alterar as caraterísticas do dispositivo quando fazem atualizações, o que pode fazer com que os scripts deixem de funcionar. Pode usar o preenchimento automático para ajudar a atualizar os scripts afetados. - O script tem avanço e formatação adequados.
- Com o Google Home para a Web, também pode aceder aos registos de automatizações
abaixo do script para verificar o histórico da automatização e identificar potenciais problemas. Learn more about the types of messages you see in the Automation logs.
- Try using the script editor’s experimental generative AI feature to describe the automation you want and it will draft a script for you to review and edit.
- Saiba mais sobre as noções básicas das rotinas e como resolver problemas relacionados com as mesmas.
- Saiba como criar e editar automatizações com script.