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
Cria mensagens personalizadas. Ex: 'Bom dia! A temperatura externa é de 22°C'.
Decide valores no meio da ação. Ex: 'Se for noite, brilho em 10%, senão 100%'.
Converte unidades ou limpa dados. Ex: Converter Watts para kW.
Extrai dados escondidos de sensores. Ex: Pegar nível de bateria de um sensor de temperatura.
Considerações Técnicas de Implementação
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.
Templates complexos que consultam muitas entidades simultaneamente podem gerar picos de uso de CPU no hub se disparados com muita frequência.
Conceitos Relacionados
A linha de código dentro do template.
O objeto de dados que o Jinja2 consulta.
Dispositivos Geradores
O Templating é o que transforma automações estáticas em sistemas verdadeiramente inteligentes.
Essencial para dashboards informativos e notificações ricas em dados.