Templates
Templates permitem usar valores dinâmicos em uma automação. Em vez de um texto fixo como “Placa detectada”, você pode escreverPlaca {{ trigger.plate }} detectada, e a notificação chega como “Placa ABC1D23 detectada”.
Um template é qualquer trecho entre {{ e }}. Ele é substituído pelo valor correspondente no momento em que a automação executa.
Onde usar
Nas ações dentro de Repetir e Condicional (Choose) os templates também funcionam e enxergam os mesmos dados do gatilho.
O que pode ir dentro de {{ }}
Dados do gatilho: trigger.<campo>
Cada gatilho envia informações sobre o que aconteceu. Use trigger. seguido do nome do campo. Campos com subcampos são acessados com ponto, por exemplo trigger.event_data.codigo.
Estado de uma entidade: <entity_id>.state
Escreva o entity_id da entidade seguido de .state. O valor é o estado atual no momento da execução.
Atributo de uma entidade: <entity_id>.attributes.<nome>
Data e hora atual: now
Valor padrão: | padrão
Se o valor não existir (ou estiver vazio), o template vira texto vazio. Para mostrar outra coisa, use | seguido do valor padrão:
Exemplos em ações
Notificar a placa detectada com a foto
Notificar a placa detectada com a foto
Gatilho: Placa detectada. Ação: Enviar notificação.
- Título:
Portaria - Mensagem:
Placa {{ trigger.plate }} detectada às {{ now.time }} - URL do attachment:
{{ trigger.snapshot_url }}
Avisar qual porta abriu
Avisar qual porta abriu
Gatilho: Mudança de estado em várias portas, com
to: on. Ação: Enviar notificação.- Mensagem:
{{ trigger.attributes.friendly_name }} foi aberta
Informar a temperatura em uma notificação
Informar a temperatura em uma notificação
- Mensagem:
Sala: {{ sensor.temperatura_sala.state }}{{ sensor.temperatura_sala.attributes.unit_of_measurement }}
Usar um valor do gatilho nos dados de um serviço
Usar um valor do gatilho nos dados de um serviço
Gatilho: Estado numérico de um sensor de luminosidade. Ação: Chamar serviço Quando o campo contém somente um template, o tipo original é mantido (número, verdadeiro/falso). Por isso
light.turn_on, com os dados em JSON:brightness chega como número, e não como texto.Condição Template
A condição template compara um valor com outro. Formato:== (igual), != (diferente), >, <, >=, <=.
==e!=comparam o texto exatamente (diferencia maiúsculas de minúsculas).>,<,>=,<=só funcionam com números. Se algum dos lados não for número, a condição é falsa.- Textos podem ser escritos com aspas simples ou duplas:
'on'ou"on". - Sem operador, a condição é verdadeira quando o valor for
on,true,yesou1.
Limitações
- Não há lógica dentro do template (
if,for, cálculos ou filtros). Para decidir entre ações diferentes, use a ação Condicional (Choose). - Se a entidade nunca enviou um estado desde que o servidor de automações iniciou, ela ainda não é conhecida: o template vira texto vazio e a condição é falsa.
- Os campos de configuração (serviço, entidade alvo, tempo de atraso) aceitam templates, mas o resultado precisa ser um valor válido para aquele campo.
Dica: descobrir o que o gatilho enviou
Abra o histórico da automação e veja o passo trigger de uma execução. Ali aparecem todos os campos que o gatilho enviou, e cada um pode ser usado comotrigger.<campo>.
No editor de automações, os blocos de condição e de ação têm o link “Usar valores dinâmicos (templates)”, que lista as variáveis do gatilho escolhido e exemplos prontos para copiar.