Wykonanie czynności po zmianie stanu

Założenie:
Kiedy drzwi zostaną otworzone i po kilku sekundach nie zostaną zamknięte ma włączyć się światło oraz sygnał dźwiękowy.
W momencie kiedy po wyzwoleniu w/w procedury drzwi zostaną zamknięte światło oraz sygnał dźwiękowy powinny się wyłączyć.

Problem:
Funkcja niezależnie czy w/w warunki (wyzwolona funkcja po kilku sek, zapalone światło, włączony sygnał) zawsze gasi zapalone światło po każdorazowym zamknięciu drzwi.

Próbuje to zrobić za pomocą nod’a “current state” aby zaczytywał stan encji i po spełnieniu wszystkich warunków wyłączył światło i sygnał, ale nie wychodzi mi to. Kończy się zawsze tym ,że jak tylko światło zapalone to je gasi po zamknięciu drzwi.
Prośba o wskazówki.

Mógłbyś to opisać bardziej zrozumiale?

Działa zgodnie z założeniami

… co jednocześnia stanowi problem

Postaram się :slight_smile:

Chciałbym ,żeby światło gasiło się samo nie za każdym razem jak tylko drzwi zostaną zamknięte ,ale tylko wtedy kiedy najpierw się uruchomi wcześniejsza procedura.

np.1
Ktoś wszedł do domu i nie domknął dobrze drzwi. Wtedy włączy się po kilku chwilach światło oraz sygnał dźwiękowy ,aby zwrócić uwagę domowników ,że drzwi są otwarte.
Ktoś z domowników podchodzi do drzwi i je zamyka, a wtedy światło oraz sygnał się wyłączają.

np.2
Pali się światło. Przychodzi np. kurier. Otwieram mu drzwi, ale że zamykam drzwi zanim uruchomi się procedura “przypomnienia o otwartych drzwiach” to po zamknięciu drzwi nie chcę aby światło się gasiło.

Opóźnij wykonanie ten “procedury” nodem np. trigger.
Zapamiętaj ten fakt w zmiennej kontekstowej i przy wyłączeniu ją sprawdź nodem switch.
https://nodered.org/docs/user-guide/context
https://nodered.org/docs/creating-nodes/context

Spróbować dać tigger tu gdzie zaznaczyłem?
Rozumiem ,że wtedy tak naprawdę sprawdzanie stanów nie będzie mi potrzebne.

Raczej tak…

Więc raczej w tej gałęzi, która włącza te alarmy - z obrazka wynika, że górnego wyjścia “czujnik drzwi” , ale bóg raczy wiedzieć co ta w środku siedzi :wink:

Samo opóźnienie ustawiłem na początku. Drzwi muszą być otwarte 2min, żeby dalej poszło. Jak drzwi zamknął się wcześniej to nic dalej się nie wywołuje.

Kwestia ,że jak światło jest zapalone to wystarczy otworzyć i zamknąć drzwi nawet w ciągu 1sek ,a światło i tak zgaśnie.

Odpowiem Ci przewrotnie, z taki sam sposób jak zapytałeś - czyli obrazkiem :wink:

Dzięki :slight_smile:
Mam bazę by rzeźbić swoje :smiley: