Zatrzymanie odliczania - Node-red (delay)

Witajcie, zrobiłem sobie taki prosty wyłącznik czasowy w NR ale nie jest to do końca tak jak bym chciał.
Przykładowo, z obrazka poniżej włączam przyciskiem grzałkę i po 2h NR ją wyłącza - to jest ok :).

Ale opiszę problem:
włączam grzałkę, ale po mniej niż 2h ją wyłączam i za chwilę ponownie włączam itd. Przy nodzie delay (zaznaczone strzałką) nabijają się cyfry tak jakby kolejkowały się zaplanowane wyłączenia. Ostatecznie po takich kilku on/off grzałka wyłącza się szybciej niż 2h.
Chciałbym, aby ręczne wyłączenie grzałki zerowało zakolejkowany czas. Czy jest na to jakaś metoda?

1 polubienie

Zamiast moda delay użyj noda stoptimer:

1 polubienie

Nodem change wyślij msg.reset do noda delay, to go wyzeruje i nie będzie odliczać do czasu nowej wiadomości.

2 polubienia

Dziękuję za podpowiedzi- obie są bardzo przydatne. Wstępnie sprawdziłem i to jest to czego szukałem.
:+1:

To ja z automatyzacji “ręcznej” właśnie zapoznałem się z Node red :slight_smile:
Mój pierwszy raz to zrobienie wyłącznika z resetem poprzez czujkę ruchu - dodatkowo wyświetlanie stanu timera. Po każdym wykryciu ruchu - timer się resetuje.

Proces jest taki: włączenie światła przez włącznik ścienny, zastosowanie node-red-contrib-stoptimer (który trzeba doinstalować) i po ustalonym czasie wyłączenie. Podłączenie do “stoptimera” czujki ruchu. Dodatkowo zrobiłem wyświetlanie pozostałego czasu do wyłaczenia (utworzony pomocnik z taką ilością czasu co w stoptimerze) i dodana timer.start. Po każdym wykryciu ruchu i timer i stoptimer są przedłużane - w moim przypadku 10 minut.


Ten nod ma 9 lat, jego następca to node-red-contrib-stoptimer-varidelay