Rule Timer endlos mit Sonoff Basic

  • Hallo

    Ich möchte einen einzelnen Sonoff Basic, ohne Steuerung über MQTT, als loop timer 24/7 laufen lassen.

    Das Sonoff Relais sollte 1 Minute Ein > 10 Minuten AUS > 1 Minute Ein > 10 Minuten aus ....... endlos geschaltet werden.

    Leider habe die rule dafür, bisher nicht hinbekommen.

    Auf dem Sonoff läuft Tasmota 6.2.1

    Vielen dank im voraus für Eure Antworten

    Gruss homener

  • Hi,

    eigentlich ganz einfach:

    Code
    rule1 on power1#state=1 do backlog delay 60; power off endon on power1#state=0 do backlog delay 600; power on endon

    man kann auch noch am anfang:

    Code
    on system#boot do power on endon

    einfügen... dann blinkts von alleine los. Ansonsten erst nach dem erstmaligen einschalten ....

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (24. September 2018 um 09:46)

  • HoerMirAuf

    Hallo, vielen Dank für die rasche Antwort. Jetzt tut sich was.

    Wenn ich Deinen Code über die Konsole des Sonoff eingebe wird das Relais für

    6 Sekunden eingeschaltet

    60 Sekunden ausgeschaltet

    6 Sekunden eingeschaltet

    usw.

    Demnach entspricht eine Zeiteinheit 0.1 Sekunden. 60 = 5 Sekunden, 600 = 60 Sekunden


    Wenn ich nun aber um 1 Minute Ein zu erhalten 600 und 6000 für 10 Minuten Aus, in die gleiche Rule einbaue schaltet das Relais, bleibt aber dauernd Ein.

    Nachfolgend die Rückmeldung in der Konsole mit der abgeänderten Regel:

    18:05:59 RSL: RESULT = {"POWER":"OFF"}

    18:05:59 RSL: POWER = OFF

    18:05:59 RUL: POWER1#STATE=0 performs "backlog delay 6000; power on"

    18:05:59 RSL: RESULT = {"Delay":1}

    18:05:59 RSL: RESULT = {"POWER":"ON"}

    18:05:59 RSL: POWER = ON

    18:05:59 RUL: POWER1#STATE=1 performs "backlog delay 600; power off"

    18:06:00 RSL: RESULT = {"Delay":600}

    18:07:00 RSL: RESULT = {"POWER":"OFF"}

    18:07:00 RSL: POWER = OFF

    18:07:00 RUL: POWER1#STATE=0 performs "backlog delay 6000; power on"

    18:07:00 RSL: RESULT = {"Delay":2}

    18:07:00 RSL: RESULT = {"POWER":"ON"}

    18:07:00 RSL: POWER = ON

    18:07:00 RUL: POWER1#STATE=1 performs "backlog delay 600; power off"

    18:07:01 RSL: RESULT = {"Delay":600}

    18:08:01 RSL: RESULT = {"POWER":"OFF"}

    18:08:01 RSL: POWER = OFF

    18:08:01 RUL: POWER1#STATE=0 performs "backlog delay 6000; power on"

    18:08:01 RSL: RESULT = {"Delay":2}

    18:08:02 RSL: RESULT = {"POWER":"ON"}

    18:08:02 RSL: POWER = ON

    18:08:02 RUL: POWER1#STATE=1 performs "backlog delay 600; power off"

    18:08:02 RSL: RESULT = {"Delay":600}

    Hast Du noch eine Idee?

    Gruss homener

  • uuuups....

    sorry ich hab übersehen das der delay in 0,1 Sekund zählt.

    Du hast natürlich recht mit den Werten 600 und 6000.

    Aaaaaber: der maximal Delay darf nur 3600 sein.

    Also einfach zwei delay hintereinander packen:

    Code
    rule1 on system#boot do power on endon on power1#state=1 do backlog delay 600;power off endon on power1#state=0 do backlog delay 3000;delay 3000;power on endon

    Dann sollte das eigentlich gehen .....

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (24. September 2018 um 18:59)

  • @Chaot

    Danke für den Hinweis, jedesmal wenn eine Rule nicht funktioniert hat, habe ich:

    -Den Sonoff Basic stromlos gemacht und wieder verbunden

    -Denn Knopf auf dem Sonoff gedrückt Ein/Aus was OK funktioniert hat.

    -Ueber das WEB GUI, und die Konsole Ein/Aus geschaltet, auch OK

    @HoerMirAuf

    Zur Zeit funktioniert keine der Rule Varianten mehr.

    Inzwischen habe ich den Sonoff zurückgsetzt und neu mit meinem IoT 2.4 GHz WLAN verbunden, Zeitzone und Längen-/Breitengrad Einstellungen wieder gesetzt.

    Auch ist mir noch nicht klar, ob und was für einen Einfluss, die Timer Einstellungen im WEB GUI des Sonoff auf die Rules haben. Dort kann man auch einen Timer auf Rules setzen. Diverse Varianten mit diesen Timer Einstellungen habe ich zusammen mit einer Konosolen Rule cmd getestet, aber alle erfolglos.

    Im Tasmota Wiki, steht das man um die Rules zu nutzen, diese in der Config_override.h Datei aktiveren muss.

    Das habe ich heute, als es mit der ersten Rule Variante von HoerMirAuf funktioniert hatte, auch nicht gemacht.


    Weiss jemand ob man die Rules auch über die Konsole aktiveren kann?

    Gruss homener

  • Hi.

    Habe ich nicht extra erwähnt aber die Rule musst du sogar in der Konsole aktivieren, mit:

    Code
    rule1 1

    (Nachdem ich das sonst immer extra erwähne dachte ich, ich kanns mir diesmal sparen ^^, falsch gedacht)

    Wenn du dann nur rule1 eingibt siehst du den status angezeigt, was in der rule steht und ob sie aktiv ist....

    Hab eben getestet, die Rule funktioniert.

    Mit dem dem Config_override.h ist nur beim compilieren interessant. Standart ist das es eine Rule Funktion gibt ... das hat aber nichts damit zu tun das die dann später auch erst eingeschaltet werden müssen.

    Zur Zeitplan "Regel" funktion kann ich gerade nichts sagen, aber ich vermute da kann eine Regel angetrikert werden zu einer gewissen zeit.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (24. September 2018 um 21:24)

  • @HoerMirAuf

    Super das war richtige Hinweis. Die Rules müssen auch einzeln aktviert werden. Nun funktioniert der Looptimer wie gewünscht. Eigentlich logisch, beim switchmode und anderen cmd ist es auch so.

    Nur der Vollständigkeit halber noch zur Frage betreffend Timer im Web GUI. Habe allfällige Timer Einstellungen wie oben, einen Einfluss/Vorrang/Nachrang gegenüber den Rules von der Konsole?

    Nochmals herzlichen Dank für Deine rasche Hilfe.

    Gruss homener

  • Hallo

    Ich möchte den Sonoff Basic mit Tasmota 6.2.1 und dem obigen endlos Rule Timer, an einem Ort einsetzen an dem normalerweise, kein WLAN vorhanden ist.

    Nun habe ich folgendes Verhalten festgestellt.

    Der Rule Timer läuft endlos OK > wenn das WLAN das den Sonoff versorgt, ausgeschaltet wird > läuft der loop Timer endlos weiter, OK.

    Danach:

    Sonoff aus und wieder ein, aber kein WLAN vorhanden. Der Sonoff schaltet den Relais Ausgang ein, der loop Timer läuft aber nicht.

    Erst wenn der Sonoff wieder WLAN bekommt läuft der endlos loop Timer weiter.

    Gibt es einen Konsolen Befehl, der die loop Timer rule beim einschalten des Sonoff zum laufen bringt, ohne das WLAN vorhanden ist?

    Danke im voraus für Eure Hilfe

    Gruss homener

  • Hmmm ... nach Stromausfall und ohne WLAN geht der Sonoff Standartmäßig in den WPSCONFIG Mode...

    Was steht den wenn du in der Konsole wificonfig eingibst?

    Ändere das gegebenfalls mal indem du wificonfig 5 eingibst (WAIT) und überprüfe bitte obs dann immer noch so ist.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • HoerMirAuf

    Danke für Deine Antwort.

    Die wificonfig stand bereits auf wificonfig 5. Ich habe es aber nochmals eingegeben.

    Nachfolgend die Antwort des Sonoff wenn ich rule und wificonfig eingebe.

    10:33:44 CMD: rule

    10:33:44 MQT: stat/Basic3/RESULT = {"Rule1":"ON","Once":"OFF","StopOnError":"OFF","Free":355,"Rules":"on system#boot do power on endon on power1#state=1 do backlog delay 600; power off endon on power1#state=0 do backlog delay 3000; delay 3000; power on endon"}

    10:33:44 MQT: stat/Basic3/RESULT = {"Delay":3000}

    10:33:59 CMD: wificonfig

    10:33:59 MQT: stat/Basic3/RESULT = {"WifiConfig":"5 (Wait)"}

    Ich habe noch ein paar mal getestet, mein Sonoff Basic bleibt nach dem wieder einschalten der Strom- Versorgung, auf Relais Ein, stehen, falls kein WLAN vorhanden ist.

  • @JoergZ

    Danke für die Antwort.

    Mit PowerOnState 1 und WifiConfig 3 habe ich erfolglos getestet.


    Wenn:

    PowerOnState 0

    WifiConfig 5

    funktioniert der endlos Timer auch nach Strom Unterbruch, solange beim Start auch wieder WLAN vorhanden ist.

    Falls kein WLAN vorhanden, startet die rule nicht.

    Der Sonoff blinkt langsam und im Serie Terminal, steht das er den WLAN Accesspoint sucht.

    Wenn die WLAN Verbindung wieder hergestellt ist, läuft auch der endlos Timer wieder.

  • hmmm ...

    Tasmota ist eher nicht für einen Standalone betrieb, also ohne WLAN Verbindung gedacht.

    Wäre interessant was Nils dazu sagt, der kennt sich wohl ziemlich gut mit der Soft und dem Code aus.

    Hier scheint daselbe problem aufgetreten zu sein:

    https://github.com/arendst/Sonoff-Tasmota/issues/2459

    Allerdings mit nem anderen Release.... wenn ich das richtig verstehe hat das wohl geholfen:

    Zitat

    arendst commented on 25 Apr

    You might want to try the latest development version which contains a fix for this memory leak as documented here esp8266/Arduino#4497

    So re-compile with V2 lower memory and 2.4.1 and let me know the results over time.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Danke für Eure Vorschläge.

    Jemand vom Tasmota Github Forum hat noch vorgeschlagen, mit dem letzten Beta 6.2.1.13 zu testen. Damit gibt es ein paar zusätzliche Trigger Möglichkeiten beim Start des Sonoff. Im meinem Fall, hat das aber die Rule nicht zum laufen gebracht.

    Ich habe heute ein paar Shelly 1 + 2 bestellt, mal schauen was die so können. Leider haben die einen Liefer- Rückstand.

  • Hallo!

    Ich habe dieses Beispiel genommen und möchte gerne meine Poolpumpe ansteuern, wenn in den Solarpanelen die Temperatur z.B >30° ist. Wenn die Temperatur unter 28° sinkt möchte ich die Pumpe wieder ausschalten. Werte werden später noch geändert.

    Ruletimer1 läuft alle 60 Sekunden

    Ich habe folgende Regeln definiert:

    Code
    rule1 on power1#boot do backlog rule2 0;power1 off; ruletimer1 60 endon on rules#timer=1 do backlog power1 off;rule2 1 endon
    rule2 on Dsb18b20#Temperature<25 do power1 off endon on Dsb18b20#Temperature>28 do power1 on endon

    Das ganze läuft leider nur 1x und dann nie wieder. Das eine Mal wenn die Regel abgefragt wird, funktioniert die Prüfung auch nicht :(

    Irgendwie habe ich wohl einen Denkfehler?

    LG & vielen Dank im Voraus

    Cy

    In einem anderen Beitrag habe ich gesehen, dass sich unter anderem @HoerMirAuf mit den Rules gut auskennt :) Bin aber für jeden Tipp dankbar!

    Einmal editiert, zuletzt von cyberdrive (16. Juni 2019 um 12:36)

  • Denkfehler?

    rule1:

    - power1#boot -> damit wird die Rule nur ausgeführt, wenn Tasmota startet

    (zuerst Rule2 inaktiv und nach 60sec aktiv, Relais immer aus)

    rule2:

    - Dsb18b20 -> Schreibfehler muss DS18B20 lauten


    Was genau soll denn der RuleTimer1 bewirken?

  • Was genau soll denn der RuleTimer1 bewirken?

    Das interessiert mich auch :)

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Vielen Dank soweit :) Denkfehler und Schreibfehler... omg... Dankeschön!

    Eigentlich sollte der immer alle 60 Sekunden laufen und prüfen, ob die Temperatur in der Solar größer +10 °C ist als im Pool. Wenn die Temperaturdifferenz nur mehr 5°C ist, dann soll er sich wieder ausschalten.

    Zu einfach gedacht?