Skip to main content

Templates

Templates permitem usar valores dinâmicos em uma automação. Em vez de um texto fixo como “Placa detectada”, você pode escrever Placa {{ 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>

Para descobrir o entity_id e os atributos de uma entidade, abra a entidade no Portal e veja os detalhes.

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

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 }}
Resultado: “Placa ABC1D23 detectada às 14:32:05”, com a foto da câmera anexada.
Gatilho: Mudança de estado em várias portas, com to: on. Ação: Enviar notificação.
  • Mensagem: {{ trigger.attributes.friendly_name }} foi aberta
Resultado: “Porta da garagem foi aberta”.
  • Mensagem: Sala: {{ sensor.temperatura_sala.state }}{{ sensor.temperatura_sala.attributes.unit_of_measurement }}
Resultado: “Sala: 23.5°C”.
Gatilho: Estado numérico de um sensor de luminosidade. Ação: Chamar serviço light.turn_on, com os dados em JSON:
Quando o campo contém somente um template, o tipo original é mantido (número, verdadeiro/falso). Por isso brightness chega como número, e não como texto.

Condição Template

A condição template compara um valor com outro. Formato:
Operadores aceitos: == (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, yes ou 1.
Cada condição template aceita uma comparação. Para combinar várias (e/ou), adicione mais de uma condição ou use os operadores lógicos AND/OR/NOT.

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 como trigger.<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.