Este node pode ser usado para criar um tempo limite dentro de um fluxo!
Pode ser usado para enviar um payload que inicia um cronômetro de após x segundos/minutos após o tempo terminar ele envia um segundo payload. Caso receba um terceiro payload o cronômetro reinicia.
Todas as opções dele podem ser configuráveis e ter variáveis alteradas.
É um node de Condição!
No node trigger em Send (enviar) temos a opção de enviar um payload que pode ser configurado entre string, number, nothing (não fazer nada), boolean, dentre outros.
Em then (então) podemos escolher a ação que o node vai tomar após a opção Send.
Escolhendo wait to be reset (espere para ser reiniciado), temos como esperar até ser reiniciado e quando for poderá enviar um novo payload.
Em reset the trigger if (reiniciar o gatilho se) colocamos uma condição para que o gatilho seja reiniciado.
Escolhendo wait for (espere até) podemos escolher um tempo determinado que um cronômetro contará dentre milisegundos, segundos, minutos e horas. Em then send (então enviar) podemos escolher um segundo payload para ser enviado após o cronômetro ter terminado.
Em then send (então enviar) podemos escolher entre string, number, flow, boolean, nothing e outros.
Escolhendo resend it every (reenvie a cada) podemos escolher para reenviar um payload a cada x tempo.
Como exemplo de uma automação usando o node trigger vou utilizar uma automação que muitos provavelmente já pretenderam fazer nas casas de vocês a automação é a seguinte:
Lógica: entrei na cozinha e o sensor de movimento liga a luz e a luz vai desligar sozinha depois que eu sair do ambiente pois o sensor reconheceu que não tem ninguém no ambiente.
Nodes usados:
1x events:state
1x switch
1x trigger
2x call service
O node events:state só está com o sensor de movimento em Entity ID, no node só estão com opções de on e off. Nos nodes call services estão configurados para ligar e desligar as luzes da cozinha.
O node trigger está configurado da seguinte forma: em send (enviar) está marcado como nothing para não enviar um payload inicial, está configurado em then (então) com wait for (espere até) para aguardar por 2 minutos, em then send (então enviar) está configurado para “off”. Em reset the trigger if está configurado para “on” para reiniciar o cronômetro.
Lógica do node trigger: quando o node trigger receber o paylod “on” não será enviado um payload inicial, quando receber o status off o node trigger irá começar o cronômetro que contará por 2 minutos, se não houver alteração no status ele enviará um payload “off”, se receber novamente um payload “on” o cronômetro será reiniciado.
Lógica da automação: se houver movimento o sensor de movimento irá enviar um payload “on”, que irá passar pelo node switch que irá para o node call service e ligará as luzes, também irá para o node trigger. Nesse ponto o ideal é verificar qual o tempo de retrigger do seu sensor de movimento, o meu demora 50 segundos para verificar novamente se existe movimento no local, por isso coloquei 2 minutos para o cronômetro no node trigger. Então logo após os 50 segundos o sensor pode reportar “off”, ele repostando “off” irá começar a contagem do cronômetro no node trigger, então o sensor irá reconhecer movimento e irá reportar “on” reiniciando o cronômetro. Quando eu sair da cozinha, após alguns segundos ou até 2 minutos as luzes serão apagadas com o node trigger liberando o segundo payload com o status de “off” para o node call service apagar as luzes.
Bom, é isso. Um abraço!