Ajuda com fluxo automação água dos Pets

tenho uma automação que abastece automaticamente a água dos meus cães…

montei essa automação para trocar a água com maior frequência baseado na sensação térmica da minha cidade.

minha dificuldade está em …

1 quando a temperatura atige os 30° ativa o interruptor , mas não quero quando baixe no fim do dia ative novamente.

2 até consegui fazer não ativar quando baixa, mas ai não ativca quando chega nos 35,38, e 40 respectivamente.

idéias ?

Algum motivo específico para usar o node red?

Independente se vai fazer no HA ou NR é só vc colocar uma condição de tempo

Temp > 30
Condição entre 8:00 e 18:00
Acionar algo

Faço todas minha automação pelo Nodered, tenho maior familiaridade com ele…

Mas não entendi sua sugestão.

Coloque uma condição para barrar caso esteja no fim do dia.
Se estiver fora do horário a automação não vai ser executada

Eu não uso node red então não vou saber te informar quais nós usar porem se entendi corretamente o problema a logica a ser implementada seria:

Salvar em uma variavel a data e horario da ultima vez que houve troca de agua.
Definir frequência para uma lista de temperaturas, aqui digamos hipoteticamente temperatura 1 (mais frio) a cada 20 minutos, temperatura 2 15 minutos, temperatura 3 10 minutos.
Ai vai ser feito uma automacao que tem que rodar com a frequencia equivalente ao maximo divisor comum das frequencias das temperaturas, no exemplo a automacao teria que rodar a cada 5 minutos.
A automacao verifica a frequência associada a temperatura atual e data da ultima troca, caso a diferenca do horario atual e a ultima atualizacao seja maior que o tempo da frequencia ele troca a agua e atualiza o horario da ultima troca.

Exemplificando para vermos que assim o problema sumiu:
digamos a temperatura atualmente é 2 e a agua acabou de trocar. Em 5 min ela roda de novo e a agua não troca. Digamos que apos isso a temperatura vira 3. Em mais 5 minutos a automacao roda de novo e a troca é realizada com 10 minutos em vez de 15. Agora digamos que 9 minutos depois a temperatura cai para 2 novamente. 1 minuto apos isso a automacao roda mas a troca não é realizada.

Apesar disso resolver o problema que voce mencionou, nao me parece fazer muito sentido pratico. A agua teria passado 9 minutos na temperatura alta e so porque no utlimo instante a temperatura caiu a automacao nao roudou.

Creio que a melhor solucao seria um sensor de temperatura dentro da agua. Mas caso queira manter o uso de temperatura ambiente com proxy eu sugiro em vez de usar frequencias pre definidas fazer quase que uma integral:
Cria uma variavel somaTemperatura que comeca como zero. A automacao roda uma vez por minuto ou a cada 5 minutos ou outra frequencia (quanto mais rapido melhor). Cada vez que ela rodar ela soma a temperatura autal na variavel. Quando a soma passar de um valor X, a troca de agua é realizada e a soma é zerada. Dessa maneira voce considera temperatura de maneira continua.

1 curtida