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