Jak sprawdzić przełącznik on/off przez ostatnie 60 min

Dzień dobry,
dopiero zaczynam przygpdę HA, zatem sorki za “głupie pytania”. Chcę sprawdzić czy przełącznik w ciągu ostatnich 60 min był przynajmniej raz włączony. Próbuje to “wyklikać” w Node-Red.

Dzięki za szybką odpowiedź, o tej historii wiedziałem ;). Chcę osiągnąć taki scenariusz że jeśli pompka cyrkulacyjna była włączona przy najmniej raz w ciągu ostatniech 60 min to nie muszę włączać jej ponownie. Umiem już dostać się do danych z ostatnich 60 min, jednak nie wiem jak to dalej oprogramować ?

Edit:
Dodam jeszcze żę state node, ma możliwość wpisanie parametru FOR, jednak to nie działa po zrobienia deploya, jeśli nie zmieni się status przełącznika choć raz, nawet przy włączonej opcji ouput on connected.

@marcin1 edytuj Swoje posty - nie pisz jednego pod drugim!

Stwórz pomocnika input_boolean który włączy się po włączeniu pompki cyrkulacyjnej i wyłączy po 60 minutach. Przy włączeniu pompki sprawdzaj jaki jest stan pomocnika i włączaj pompkę tylko jesli pomocnik jest wyłączony.

delay_rate
Delay powinien dać oczekiwany efekt.

Node Delay przekazuje stan na moment kiedy mija ustawiony czas, czyli jesli akurat pompka jest wylaczona zwraca status off i analogicznie dla on. Nie bierze pod uwagę historii.
Jak mogę ustawić w pomocniku czas po którym ma się wyłączyć ?

Za (lub przed) Delay przepuszczaj przez node switch tylko msg ze state “on”.
Będziesz miał tylko “on” nie częściej niż 1/h. Wtedy trzeba sprawdzać częściej “czy zmiana”.

Zrobiłem tak jak pisze, proces nie bierze pod uwagę czy w historii było włączenie. Wydaje mi się że trzeba to zrobić z wykorzystanie literacji w petli “while loop”. Początki są nie łatwe :slight_smile:
P.S. Rzuciło mi się teraz w oczy piszesz o node Delay, "Za(lub przed) w procesie używam History - drugi od lewej
Edit:

Zrobiłem wedlug Twojej porady, wszystko działa w pierwszej interakcji procesu, po wyłączeniu pomki (state off) i pomocnika, powinna się włączyć powtórnie pomka, jednak się nic nie dzieje.

Zaimportuj to i się pobaw - jeśli chodzi o taki sposób działania to dostosuj do swoich potrzeb.

[{"id":"56d4441d248f798b","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"75da6763466bf7fa","type":"inject","z":"56d4441d248f798b","name":"on","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"on","payloadType":"str","x":230,"y":60,"wires":[["98b8db405336f6a5"]]},{"id":"7712466e96e0b549","type":"inject","z":"56d4441d248f798b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"off","payloadType":"str","x":230,"y":120,"wires":[["98b8db405336f6a5"]]},{"id":"98b8db405336f6a5","type":"switch","z":"56d4441d248f798b","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":100,"wires":[["8533e5bb65b1a879"],["56d706a3f796a8b7"]]},{"id":"8533e5bb65b1a879","type":"delay","z":"56d4441d248f798b","name":"filtr1h","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"30","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"x":600,"y":80,"wires":[["495066cc1421439d","ce55f286dae93f39"]]},{"id":"495066cc1421439d","type":"debug","z":"56d4441d248f798b","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1070,"y":80,"wires":[]},{"id":"ce55f286dae93f39","type":"delay","z":"56d4441d248f798b","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"x":740,"y":120,"wires":[["56d706a3f796a8b7"]]},{"id":"56d706a3f796a8b7","type":"change","z":"56d4441d248f798b","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":160,"wires":[["14968b250f164ce8"]]},{"id":"14968b250f164ce8","type":"debug","z":"56d4441d248f798b","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1070,"y":160,"wires":[]}]

Trudno powiedzieć, co nie działa, jak załączasz tylko zdjęcie. Załącz flow w pliku.

Plik w załączniku, działa tylko za pierwszym razem …
flows.json (7,0 KB)

Dzięki, co raz bardziej zaczyna mi się podobać HA :slight_smile:

  1. Pierwszy node startuje przy zmianie stanu na off;
  2. Drugi (zmień na String i off) - sprawdza, czy pomocnik jest off i jesli tak puszcza dalej,
  3. Trzeci włącza my_light i po 5 sec. wyłącza
  4. Czwarty przełącza pomocnika na on i po 10 sec wyłącza (off).

Co nie działa?

Zmieniłem według Twoich zaleceń, dodatkowo wstawiłem switch z (on | off), a z pierwszego noda usunałem warunek z off. Obecnie mam stan taki ze jak zrobie diploy to pomka się załącza i wyłacza, pomocnik także wyłącza się po zadanym czasie.
Chciałbym aby pomka się ponownie włączyła jeśli node pomka i pomPomka sa off, czy trzeba dać jakiś triger który by wyzwalał proces ?
Założyłem ze pierwszy node (state node) ciągle monitoruje status i nie potrzebuje wyzwaacza ?

Node reaguje na zmianę stanu. Możesz co prawda odznaczyć opcję ‘Current State Equals Previous State’, ale jeśli urządzenie nie wyśle stanu to i tak nic nie wystartuje.

Czyli działa.

Po wyłączeniu PomPomki OFF daj sprawdzenie stanu Pomka z warunkiem off i połącz z nodem Pomka ON. Wtedy będzie działać w pętli.

Dzięki Twoim wskazówką udało mi się zrobić pętle - dzięki.
Mam jeszcze jedno pytanie, zakładka Przegląd główne menu po lewej stronie, tam sobie wyciągnąłem włącznik który włącza Pomke, zauważyłem że ręcznie mogę włączyć pomkę w czasie w którym w procesie PomPomki jest włączony i nie powinno się móc włączyć pomki. Czy można zablokować włączanie ręczne … ?

Strasznie to wszystko przekombinowane.
Dokładnie jakie działanie chcesz uzyskać całościowo?
Domyślam się że chodzi Ci o zbudowanie automatu sterownia pompą w cyklu 1raz/h włącza na pewien okres, a przycisk na pulpicie ma włączać automat? … czy pompkę na stałe?

Dokładnie automat ma włączać pompe 1raz/h - to już jest zrobione. Przycisk na pulpicie ma włączać automat.


pump.json (4,0 KB)

Pomocnik musisz zmienić na typu switch.my_pompump i tym przyciskiem sterować automatem pompki.
Encja switch.my_ligth, która służy do bespośredniego sterowania omija mechanizmy automatu i przełącza permanentnie pompę. Więc dla bezpieczeństwa możesz ich nawet nie umieszczać na pulpicie HA.
Flow nie jest sprawdzony, bo nie miałem możliwości.

Czy jest możliwość sprawdzania jednym nodem kilku encji ? Próbuje wpisać po , i ; - nie działa.
Działam na ostatecznym procesem mam nadzieje że wieczorkiem będę mogł zaprezentowac …