Tasmota cykliczny wyłączenie urządzenia na 2 sekundy

Cześć, mam sonof mini z wgranym systemem Tasmota. Potrzebuje ustawić go tak aby co godzinę po włączeniu wyłączał podpięte urządzenie na 2 sekundy po czym ponownie je włączał. W harmonogramie ustawienia są dla godzin i minut. Pytanie zadałem na grupie FB gdzie mnie skierowano tutaj :slight_smile: czy mogę prosić o pomoc jak to zrobić?

Jeśli dobrze rozumiem, to chcesz raz włączyć i mieć w pętli cykl praca 1h , stop 2 sek i znów praca 1 h.
Przejdź do konsoli wklej taką regułę

Rule1
ON Power1#state=1 DO RuleTimer1 60 ENDON
ON Rules#Timer=1 DO Backlog Power1 0;RuleTimer2 1 ENDON
ON Rules#Timer=2 DO Power1 1 ENDON

Potwierdź ENTER
Potem aktywuj regułę wpisując w tej samej konsoli
Rule1 1
i również zatwierdź ENTER
Włącz tego sonoff i sprawdź czy, po 1 min wyłączy na 2 sek i włączy ponownie.
Jak tak to zmień w regule RuleTimer1 60 na RuleTimer1 3598
Jak czegoś nie rozumiesz, to pytaj. Nie będę opisywał co się dzieje po kolei, bo skoro szukasz po grupach na FB , to i tak pewnie nie chcesz się niczego nauczyć, tylko osiągnąć zamierzony cel.

1 polubienie

@isom1266 - to ja kolegę zachęciłem do odwiedzenia @patryk_jawo naszego forum więc witamy i pozwolę sobie wyjaśnić co dzieję się w tym kodzie.
Na początek garść informacji podstawowej z Tasmota. W konsoli możemy wpisywać wszystko jednym ciurkiem i bez znaczenia jest wielkość liter. Zamiast pisać ON możemy wstawić 1, zamiast pisać off możemy wstawić 0. Dzięki komendzie początkowej Backlog możemy wysłać do 30 komend oddzielonych średnikiem, jednym wpisem.
Reguły możemy podzielić na 3 zestawy: Rule1; Rule2 i Rule3.

Rule1

Rozpoczyna się pierwszy zestaw, każda reguła zaczyna się od ON po którym następuje wyzwalacz, następnie mamy akcję po DO i kończymy wpis ENDON.

ON Power1#state=1 DO RuleTimer1 60 ENDON

Wyzwalacz Power1#state=1 - czyli gdy POWER1 uzyska stan 1 (ON) uruchamia się reguła po DO - ustawia się RuleTimer1 używany w regułach na 60s (może ich być od 1 do 8).

ON Rules#Timer=1 DO Backlog Power1 0;RuleTimer2 1 ENDON

Druga reguła za wyzwalacz ma nasz Rules#Timeri gdy ten dobije odliczanie z 60s do 1s następuje akcja po DO a rozpoczyna ją komenda Backlog, która umożliwia pisanie kilku po sobie oddzielonych średnikiem. Wyłączamy przekaźnik Power1 0; ustawiamy drugi timer na 1s i ENDON.

ON Rules#Timer=2 DO Power1 1 ENDON

Pozostaje zamknąć pętlę. Gdy Rules#Timer osiągnie 2 (po upływie 1 sekundy), włączy się Power1.

A jak to działa w praktyce pokazuje konsola:

20:44:49.805 RSL: RESULT = {"POWER":"ON"}
20:44:49.806 RSL: POWER = ON
20:44:49.822 RUL: POWER1#STATE=1 performs "RuleTimer1 60"
20:44:49.828 RSL: RESULT = {"T1":60,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}
20:45:50.434 RUL: RULES#TIMER=1 performs "Backlog Power1 0;RuleTimer2 1"
20:45:50.470 RSL: STATE = {"Time":"2023-11-29T20:45:50","Uptime":"0T00:01:28","UptimeSec":88,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":21,"MqttCount":0,"POWER":"OFF","Wifi":{"AP":1,"SSId":"DWR-116_613E28","BSSId":"F0:9F:C2:7A:85:AF","Channel":6,"Mode":"11n","RSSI":52,"Signal":-74,"LinkCount":1,"Downtime":"0T00:00:03"}}
20:45:50.493 RSL: RESULT = {"POWER":"OFF"}
20:45:50.495 RSL: POWER = OFF
20:45:50.718 RSL: RESULT = {"T1":0,"T2":1,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}
20:45:52.432 RUL: RULES#TIMER=2 performs "Power1 1"
20:45:52.439 RSL: STATE = {"Time":"2023-11-29T20:45:52","Uptime":"0T00:01:30","UptimeSec":90,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"POWER":"ON","Wifi":{"AP":1,"SSId":"DWR-116_613E28","BSSId":"F0:9F:C2:7A:85:AF","Channel":6,"Mode":"11n","RSSI":52,"Signal":-74,"LinkCount":1,"Downtime":"0T00:00:03"}}
20:45:52.460 RSL: RESULT = {"POWER":"ON"}
20:45:52.463 RSL: POWER = ON
20:45:52.481 RUL: POWER1#STATE=1 performs "RuleTimer1 60"
20:45:52.487 RSL: RESULT = {"T1":60,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

Jeśli będziesz chciał aby cykl uruchamiał się automatycznie przy starcie systemu, to należy wymienić wyzwalacz z Power1#state=1 na np System#Boot

Zapomniał bym dodać. Każdy zestar reguł należy na końcu włączyć dlatego na koniec podajemy Rule1 1.

2 polubienia

@angler skoro tak dokładnie rozpisałeś tą regułę i wskazałeś jaki wyzwalacz ustawić żeby cykl uruchamiał się z automatu, to warto Twój opis uzupełnić o wersję 2.
Automatyczny start po podłączeniu modułu do zasilania.

Rule1
ON System#Boot DO Backlog Power1 1; RuleTimer1 60 ENDON
ON Rules#Timer=1 DO Backlog Power1 0;RuleTimer2 1 ENDON
ON Rules#Timer=2 DO Power1 1 ENDON

Podałem ten wyzwalacz jako przykład z linkiem do listy kolejnych do wyboru. Często używałem też Wifi#Connected dla rozpoczęcia automatyzacji.

Kilka ich popełniłem i działają do dziś od paru lat:

1 polubienie

@isom1266 Cześć. napisałbyś mi taką regułę tylko żeby było godzine włączone, 15 minut przerwy i tak przez cały czas?

@angler Cześć. Napisał byś mi taką regułę żeby było włączone przez godzinę a następnie 15 minut przerwy i tak przez całą dobę? Tak żebym mógł sobie tą regułę wkleić do console w tasmocie. wiem że tłumaczysz co i jak ale ja i tak z tego nic nie rozumiem

Masz gotowe dwa różne przykłady, wystarczy podać czasy w sekundach. Ale ok masz gotowca

Rule1
ON System#Boot DO Backlog Power1 1; RuleTimer1 3600 ENDON
ON Rules#Timer=1 DO Backlog Power1 0;RuleTimer2 900 ENDON
ON Rules#Timer=2 DO Power1 1 ENDON

@isom1266 Bardzo Ci dziękuje. Mam już swoje lata i nie ogarniam tak tego wszystkiego niestety. A powiedz mi czy jak mi braknie prądu to to się później włączy i będzie działać ?

@isom1266 a mogę prosić jakiś kontakt do Ciebie bo widzę że się na tym znasz a chciałbym jeszcze to moje nieszczęsne gniazdko podłączyć do jakiejś aplikacji na telefon żeby mieć podgląd. Oczywiście nie za darmo

po tej regule co mi napisałeś gniazdko raz się załączyło na godzinne piętnaście minut przerwy a później jak się załączyło to już się nie wyłącza

Masz tu wersję z pętlą

Rule1
ON System#Boot DO Power1 1 ENDON
ON Power1#state=1 DO RuleTimer1 3600 ENDON
ON Rules#Timer=1 DO Backlog Power1 0;RuleTimer2 900 ENDON
ON Rules#Timer=2 DO Power1 1 ENDON

Po zaniku prądu cały cykl zacznie się od nowa , aplikacji do tasmoty jest kilka wystarczy wpisać w przeglądarce “tasmota app”
PS
Nie pisz swoich postów jeden za drugim, tylko edytuj jeden.