Automações

Gatilho por Valor Numérico

Diferentemente de uma condição numérica, que apenas autoriza uma execução já iniciada, o gatilho por valor numérico observa continuamente uma grandeza e dispara quando ocorre a transição configurada. Pode reagir, por exemplo, à temperatura acima de 28 °C, potência abaixo de 5 W ou umidade além de 70%. Home Assistant e outras plataformas aplicam limiar e duração, mas histerese, ruído e estados indisponíveis precisam ser tratados para evitar disparos repetidos.


⚙ Definição Técnica
Gatilho por valor numérico é um mecanismo de disparo que compara a representação numérica atual de uma entidade, atributo ou leitura com um limite e inicia a automação quando a relação configurada passa a ser verdadeira. A transição é o elemento decisivo: uma temperatura que já estava acima de 28 °C antes do carregamento da regra não deve ser tratada da mesma forma que uma leitura que cruza de 27,9 °C para 28,1 °C, salvo quando a plataforma documenta avaliação inicial diferente. O mecanismo pode incorporar duração mínima, limites superior e inferior, conversão de unidade e filtros, mas não substitui uma condição adicional quando a execução depende de presença, horário, modo da casa ou estado de outro equipamento.
Tipos comuns de gatilhos
Cruzamento acima de um limite
A automação dispara quando a leitura deixa uma região igual ou inferior ao limite e passa para uma região superior. Um exemplo é ligar a ventilação quando a concentração de CO₂ cruza 1.000 ppm. O cruzamento deve ser definido com unidade, qualidade do sensor e frequência de atualização conhecidas. Se o sensor publica 995, 1005, 998 e 1007 ppm em poucos segundos, uma regra sem histerese ou bloqueio pode gerar múltiplas execuções. A ação também pode alterar a própria variável, como um ventilador que reduz CO₂ ou temperatura, criando ciclos rápidos. Para evitar, usam-se limiares separados de ligar e desligar, tempo mínimo ligado e confirmação temporal. O gatilho deve considerar estados unknown, unavailable, null e erros de conversão para não interpretar retorno de falha como valor real.
Cruzamento abaixo de um limite
A regra inicia quando a grandeza passa de uma região igual ou superior ao limite para uma região inferior. É comum em monitoramento de bateria, potência, nível de reservatório e luminosidade. Uma tomada pode indicar potência abaixo de 3 W durante 5 min e sinalizar que a máquina terminou. O valor isolado, porém, pode ocorrer durante pausas normais do ciclo. A duração reduz falso positivo, mas também aumenta atraso. Para baterias, a tensão pode recuperar após retirada de carga e cruzar o limiar em ambos os sentidos. Para iluminação, nuvens e sombras provocam oscilações. A escolha precisa usar comportamento histórico, resolução do sensor e consequência da ação. Em sistemas críticos, o gatilho deve criar alerta e não desligar equipamento sem confirmação independente.
Faixa entre limite inferior e superior
Algumas plataformas permitem disparar quando um valor entra numa janela, sai dela ou satisfaz simultaneamente condições acima e abaixo. Uma automação pode considerar umidade confortável entre 40% e 60% UR, tensão dentro de 210–240 V ou temperatura de armazenamento entre 2 e 8 °C. A semântica precisa ser explícita: entrar na faixa, permanecer nela e sair da faixa são eventos distintos. Limites inclusivos ou exclusivos também mudam o comportamento em valores exatamente iguais. Sensores com resolução de 1 unidade podem nunca publicar valores intermediários esperados. Se a plataforma avalia apenas cada atualização recebida, saltar de 39 para 61 atravessa a faixa sem registrar entrada. Para eventos importantes, a lógica deve verificar cruzamento matemático ou usar estados derivados.
Limiar baseado em atributo numérico
O valor observado pode estar em um atributo, e não no estado principal da entidade. Uma câmera pode expor temperatura interna, um inversor pode publicar potência por fase e uma bateria pode apresentar state_of_charge enquanto o estado principal permanece charging. O gatilho precisa apontar o caminho correto e tratar ausência do atributo após reinício ou atualização de firmware. Integrações podem mudar nomes, unidades ou tipos. Um número enviado como texto exige conversão; uma string vazia não deve virar zero. Antes de implantar, convém registrar exemplos reais do payload, validar unidade e testar atualização. A vantagem é reagir a dados específicos sem criar sensores auxiliares. A desvantagem é maior acoplamento ao schema da integração.
Valor mantido por uma duração
O disparo ocorre somente se a relação numérica permanecer verdadeira por um período, como temperatura acima de 30 °C por 10 min ou consumo abaixo de 5 W por 3 min. A duração funciona como filtro temporal e reduz reação a picos. Ela não é equivalente a média móvel: um único valor de retorno à região normal pode reiniciar o contador, mesmo que a média continue alta. Reinícios do controlador podem cancelar o temporizador se a plataforma não persistir estado. Atualizações muito espaçadas também limitam precisão. Se o sensor reporta a cada 15 min, exigir 2 min não cria informação intermediária. O requisito deve ser maior ou compatível com o intervalo de relatório e com a latência tolerada pela função.
Considerações de Implementação
⚠️
Oscilação no limiar pode criar disparos em sequência
Ruído, quantização e pequenas mudanças físicas fazem a leitura alternar ao redor do limite. Um termostato controlado por um único limiar pode ligar e desligar a cada atualização. A solução preferencial é histerese: ligar acima de 28 °C e desligar abaixo de 26 °C, por exemplo. Também podem ser usados debounce, duração mínima, média, mediana ou cooldown. Cada técnica altera latência. Histerese preserva resposta rápida ao primeiro cruzamento e evita retorno imediato. Média reduz ruído, mas atrasa. Cooldown impede novas execuções, porém pode ocultar evento legítimo. A escolha deve partir da dinâmica do processo e não de um valor arbitrário.
⚠️
Unidade e conversão precisam ser determinísticas
Uma integração pode publicar °C, °F, W, kW, Pa, bar ou porcentagem em formatos diferentes. Comparar 1,5 kW com limite 1500 assumindo mesma unidade pode falhar. O controlador deve normalizar antes do gatilho. Mudanças de preferência do usuário não podem alterar silenciosamente a semântica. Valores de ponto flutuante também exigem cuidado: 0,1 pode não ser representado exatamente. Comparações de igualdade são inadequadas para a maioria dos sensores. Prefira maior ou menor com tolerância. Quando a unidade está ausente ou incompatível, a regra deve permanecer inativa e registrar erro, não executar com zero ou valor presumido.
ℹ️
Avaliação inicial e reinício variam por plataforma
Alguns motores de automação disparam apenas na mudança depois que a regra está ativa. Outros avaliam o estado atual ao carregar. Temporizadores do tipo for podem ser perdidos em reinício. Uma temperatura que permaneceu alta durante manutenção pode não gerar novo evento quando o sistema volta. Se a ação é importante, deve existir reconciliação na inicialização: uma automação separada verifica estados atuais e corrige divergências. Esse mecanismo precisa ser idempotente para não repetir efeitos. A documentação da versão da plataforma deve ser consultada, porque comportamento de restauração pode mudar.
ℹ️
Limiar deve ser validado com histórico e consequência
Um limite técnico não deve ser escolhido apenas por conveniência. Para conforto, use faixas adequadas ao ambiente. Para energia, observe ciclos reais. Para pressão ou qualidade do ar, considere especificação do sensor, incerteza e normas aplicáveis. O histórico ajuda a identificar distribuição e duração. A consequência define conservadorismo: enviar notificação tolera mais falso positivo que desligar uma bomba. A automação deve registrar valor que causou o disparo, hora, unidade e estado das condições. Esse contexto facilita ajustar o limiar sem adivinhação.