O node stoptimer faz parte do grupo de nodes de tempo, vamos conhece-lo!
Ele é um node de Condição!
Ele funciona da seguinte forma:
Quando um payload é recebido ele é enviado para a primeira saída após a duração de tempo definido no temporizador. Se um novo payload for recebido antes do término do cronômetro, ele substituirá o payload existente e o cronômetro será reiniciado, a menos que o novo payload tenha uma carga útil de stop ou STOP, caso em que parará o cronômetro e será enviada um payload para a segunda saída. A segunda saída permite que você envie uma carga adicional de um number (número), string (palavra) ou boolean. Se o cronômetro for interrompido, a segunda saída enviará automaticamente um payload de interrompido.
Se o payload que iria para a primeira saída não for interrompido as duas saidas vão receber payload para continuarem o fluxo de automação.
Se o payload que iria para a primeira saída for interrompido só a segunda saída vai receber o payload.
É como o node delay do node-red, mas com a capacidade de não apenas reiniciar o cronômetro, mas também de pará-lo.
No node stoptimer em timer podemos escolher entre milissegundos, segundos, minutos ou horas no seu temporizador.
Em 2nd Payload podemos definir o novo payload que será enviado para a segunda saida caso o node stoptimer receba um payload de stop.
Vamos para o exemplo:
Para entender o exemplo recomendo ler esses tópicos aqui:
Quando cliquei no node inject para ser enviado um payload, no node stoptimer aparece o “running” indicando que está correndo os 5 segundos configurados. Passados os 5 segundos o payload foi enviado para as duas saídas do node.
Olhando o payload com o node debug linkado na primeira saída, no payload da saída de cima podemos ver o payload enviado pelo node inject.
Olhando o payload com o node debug linkado na segunda saída, no payload da saíde de baixo podemos ver o payload enviado pela configuração de 2nd Payload de dentro do node stoptimer, que é “0”.
Configurei o node change com o payload com a mensagem de stop.
Quando cliquei no node inject para ser enviado um payload, no node stoptimer aparece o “running” indicando que está correndo os 5 segundos configurados. Após cliquei no outro node inject, o node change enviou o payload com a mensagem de stop e o node stoptimer foi parado, podemos ver escrito “stopped”. Com isso só a saída de baixo foi acionada e recebeu payload.
É isso, um abraço!