Estou aqui a tentar fazer umas configurações para controlar todos os AC cá de casa com uma variável, tem de ser assim, porque nem todos têm a mesma temperatura. Então criei um slider para usar no dashboard:
input_number:
global_temp:
name: Temperatura Global
initial: 22
min: 15
max: 25
step: 1
mode: slider
A variável está a ser atualizada corretamente. Agora precisava de utilizar o valor que a variável tem num flow de node-red, como podem na imagem,onde tenho o valor $number(21) queria utilizar o valor que está na variável.
Como assim? Esta variável será para definir a temperatura global que quero, mas dependendo da divisão, poderá ter +1 ou -1 grau. no Node-red vai ler do sensor que está na imagem a temperatura real, e depois, se estiver abaixo do valor da variável, então mete o AC a trabalhar.
Mas essa variável não tem o mesmo valor que o input_number do HA?
P.S.: É muito má ideia utilizar o ìnitial: no input_number porque se alterares para outro valor e reiniciares o HA ele vai voltar ao valor definido no initial:.
Basta criares um node pool state e de seguida um node function que analise os dados como quiseres.
Neste caso leio a temperatura da Sala. Se o valor estiver maior ou igual a 30º mas menos que 35 faz uma coisa, se for superior a 35 faz outra. Poderá ser feito o mesmo com apenas um function com duas saídas em vez dos dois function mas por vezes o “less is more”…
O Node Red não usa esse tipo de templating. O que sai do poll state é um payload com o valor que configuraste no input_number. O que a função faz é ler esse payload (msg.payload) e comparar com os valores que defini.
Não foi nada disso que pediste inicialmente nem o que mostraste. Mas nesse caso basta ler esses valores no HA, atribui-los a payloads diferentes e depois na função em vez de 30 e 35 usas msg..xxxxx (conforme o nome que deres aos payloads).
Sempre foi isto que disse desde inicio, “A variável está a ser atualizada corretamente. Agora precisava de utilizar o valor que a variável tem num flow de node-red, como podem na imagem,onde tenho o valor $number(21) queria utilizar o valor que está na variável.” Mas se calhar expliquei-me mal.