Automações

Templating (Jinja2)

Templating (Jinja2) é uma linguagem de modelagem que permite inserir lógica programática dentro de strings, tornando automações dinâmicas em sistemas de automação residencial. Com delimitadores tipo {{valor}} para valores e {%cond%} para estruturas de controle, possibilita cálculos em tempo real, condicionais, loops e geração de conteúdo adaptativo.


Definição Técnica

Templating (geralmente usando a engine Jinja2) permite a inserção de lógica dentro de strings. Através de delimitadores como `{{ ... }}` para valores e `{% ... %}` para estruturas de controle, o integrador pode realizar operações matemáticas, manipulação de listas e verificações de estado complexas diretamente no payload de uma ação ou na definição de um sensor virtual.

Tipos Comuns de Gatilhos

Template de Texto Dinâmico

Cria mensagens personalizadas. Ex: 'Bom dia! A temperatura externa é de 22°C'.

Template Lógico (If/Else)

Decide valores no meio da ação. Ex: 'Se for noite, brilho em 10%, senão 100%'.

Template de Filtro de Dados

Converte unidades ou limpa dados. Ex: Converter Watts para kW.

Template de Atributos

Extrai dados escondidos de sensores. Ex: Pegar nível de bateria de um sensor de temperatura.

Considerações Técnicas de Implementação

⚠️
Complexidade de Debug

Erros de sintaxe em templates podem impedir o carregamento de todo o arquivo de configuração. Use ferramentas de 'Template Developer' para testar antes de aplicar.

ℹ️
Performance

Templates complexos que consultam muitas entidades simultaneamente podem gerar picos de uso de CPU no hub se disparados com muita frequência.

Conceitos Relacionados

Expressão

A linha de código dentro do template.

Estado (State Object)

O objeto de dados que o Jinja2 consulta.

Dispositivos Geradores

O Templating é o que transforma automações estáticas em sistemas verdadeiramente inteligentes.

Categoria
Processamento Lógico de Strings e Dados

Essencial para dashboards informativos e notificações ricas em dados.