Rules 15 Min Lüfter Nachlauf

  • Hallo Zusammen

    Ich habe einen Wemos D1Mini mit Tasmota der ein Feuchtigkeitsensor AM2301 hat und über ein Relais einen 12 V Lüfter steuert. Das ganze solle die Feuchtigkeit im Raum senken. Bisher sag es so aus.

    Code
    Rule1 on AM2301#HUMIDITY>60 do power2 on endon 
          on AM2301#HUMIDITY<55 do power2 off endon

    Funktioniert auch soweit gut aber jetzt will ich das der Lüfter noch 15 Min Nachläuft. So war der Plan.

    Code
    Rule1 on AM2301#HUMIDITY>60 do power2 on endon 
          on AM2301#HUMIDITY<55 do backlog power2 %value%; ruletimer1 900 endon 
          on rules#timer=1 do power2 off endon

    So schaltet er nicht mehr ab. Meine Vermutung ist das er den Timer jedes mal neu Startet. Wen sich der Wert unter 55% ändert und somit nie ausläuft.

    Mein neuer Ansatz ist eine konstante hin zu bekommen. Die Ersten Versuche waren die Var und Mem aber die sind nicht Trigger Fähig wenn ich es richtig verstanden habe.

    Ich habe ein neues Relais 4 erstellt das Fiktiv mit geschalten wird wenn er unter 55 % ist.

    Code
    Rule1 on AM2301#HUMIDITY>60 do backlog power2 on; power4 on endon       
          on AM2301#HUMIDITY<55 do power4 off endon
          on power4#state==0 do backlog power2 %value%; ruletimer1 900 endon 
          on rules#timer=1 do power2 off endon

    Das ganze funktioniert so auch. Jetzt zu meiner Frage.

    Kann man das schöner Lösen?

    Alternativ überlege ich auf Script umzustellen.

  • Hi.

    zuerst, warum on AM2301#HUMIDITY<55 do backlog power2 %value%;?

    Natürlich schaltet er power2 nicht mehr ab. Mit %value% fütterst du ihn ja mit dem Triggerwert und der ist jeder Humiditywert kleiner 55.

    Aber Dein Ansatz aus Deiner ersten Rule mit einem Ruletimer war schon ganz oke. Nur das du nicht den Power2 ausschaltest sondern einen Ruletimer startest der dann Power2 nach Ablauf ausschaltet.

    Code
    rule1 
    on AM2301#HUMIDITY>60 do power2 1 endon
    on AM2301#HUMIDITY<55 do ruletimer1 900 endon
    on rules#timer=1 do power2 0 endon

    Damit der Ruletimer nicht ständig neu getriggert wird solange der Wert <55 ist muss noch die OnShot Funktion aktivert werden:

    Rule1 5

    Wobei ich mir jetzt nicht ganz sicher bin was die OneShot Funktion mit dem Ruletimer macht. Müsste aber 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 (23. Dezember 2021 um 18:17)

  • Hab mich versucht an einem Beispiel Lang zu hangeln. Aus deiner Übersetzung der Rules .Hab es wohl Falsch verstanden.

    on AM2301#HUMIDITY<55 do backlog power2 %value%;

    So gibt das für mein Verständniss natürlich auch mehr sinn.

    Ja dieses Rule 5 habe ich schon Gelesen aber leider auch nicht so Richtig verstanden wie er funktioniert.

    Probiere es Morgen. Melde mich dan Danke.

  • Wie gebe ich das mit Rule1 5 Richtig ein?

    Hab zwei Varianten Probierterst

    Rule1 5 Eingeben Danach

    Code
    rule1 on AM2301#HUMIDITY>60 do power2 1 endon
          on AM2301#HUMIDITY<55 do ruletimer1 900 endon
          on rules#timer=1 do power2 0 endon

    Und das ganze als Komination.

    Code
    rule1 5 on AM2301#HUMIDITY>60 do power2 1 endon
          on AM2301#HUMIDITY<55 do ruletimer1 900 endon
          on rules#timer=1 do power2 0 endon

    Er schaltet leider bei beiden nicht ab.:(

  • Rule1 5 wird seperat eingegen.

    rule1 5 enter

    rule1 1 enter

    rule1 on AM2301#HUMIDITY>60 do power2 1 endon on AM2301#HUMIDITY<55 do ruletimer1 900 endon on rules#timer=1 do power2 0 endon enter

    Und dann doch bitte mal den Konsolenoutput posten!

    Hab mich versucht an einem Beispiel Lang zu hangeln. Aus deiner Übersetzung der Rules .

    Oje ... das ist schon uralt wenn auch nicht falsch und es gibt vieles was damals noch nicht in den Rules gab.

    Besser ist es sich auf der Tamota Seite zu informieren. Halt leider nicht deutsch.

    https://tasmota.github.io/docs/Rules/

    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

  • Hab das ganze auf 60 sekunden reduziert. Schaltet aber auch nicht ab. Version Tasmota 10.0.0.4

    Wenn ich alles neu eingabe schaltet er beim Ersten mal ab danach nicht mehr.

    Code
    12:11:56.630 RUL: AM2301#HUMIDITY>60 performs "power2 1"
    12:11:56.636 MQT: stat/tasmotatemp/RESULT = {"POWER2":"ON"}
    12:11:56.639 MQT: stat/tasmotatemp/POWER2 = ON
    12:12:34.443 MQT: tele/tasmotatemp/STATE = {"Time":"2021-12-24T12:12:34","Uptime":"0T00:30:09","UptimeSec":1809,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"ON","POWER3":"OFF","POWER4":"OFF","Wifi":{"AP":1,"SSId":"Interwebs","BSSId":"5C:49:79:48:D0:DD","Channel":1,"Mode":"11n","RSSI":74,"Signal":-63,"LinkCount":1,"Downtime":"0T00:00:03"}}
    12:12:34.454 MQT: tele/tasmotatemp/SENSOR = {"Time":"2021-12-24T12:12:34","Switch1":"ON","Switch2":"ON","Switch3":"ON","AM2301":{"Temperature":16.9,"Humidity":71.7,"DewPoint":11.7},"TempUnit":"C"}
    12:13:38.874 RUL: AM2301#HUMIDITY<55 performs "ruletimer1 60"
    12:13:38.883 MQT: stat/tasmotatemp/RESULT = {"T1":60,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}
    12:15:37.885 CMD: timer1
    12:15:37.893 MQT: stat/tasmotatemp/RESULT = {"Timer1":{"Enable":0,"Mode":0,"Time":"00:00","Window":0,"Days":"0000000","Repeat":0,"Output":1,"Action":0}}

    2er Vesuch mit Rücksetzen des Timer bei >60 . Leider das gleich ergebnis. Einmal stoppt er danach nicht mehr

    rule1 on AM2301#HUMIDITY>60 do backlog power2 1; ruletimer1 0 endon

    on AM2301#HUMIDITY<55 do ruletimer1 60 endon

    on rules#timer=1 do power2 0 endon


  • Code
    12:19:13.876 MQT: stat/tasmotatemp/RESULT = {"Rule1":{"State":"ON","Once":"ON"

    hier bei "Once":"ON"

    liegt der Fehler begraben

    einfach "Rule1 6" eingeben.

    Code
    Control rule triggering with command: *     Rule 0 = Rules disabled (Off) *     Rule 1 = Rules enabled (On) *     Rule 2 = Toggle rules state *     Rule 4 = Perform commands as long as trigger is met (Once OFF) *     Rule 5 = Perform commands once until trigger is not met (Once ON) *     Rule 6 = Toggle Once state *   Execute an event like: *     Event anyname=001000 *   Set a RuleTimer to 100 seconds like: *     RuleTimer2 100
  • Danke für die Hilfe. Leider habe ich wieder das Problem das er mir den Timer Dauernd zurück stellt.;(

  • Moin.

    hier bei "Once":"ON"

    liegt der Fehler begraben

    Das ist Quatsch, sonst passiert genau das was Staubi0815 sagt: Der Ruletimer wird ständig nachgetriggert.


    do backlog power2 1; ruletimer1 0 endon

    Macht auch keinen Sinn. Wenn der Ruletimer abgelaufen ist, ist er Null.

    Wenn ich mir die Log's aus #6 ansehen:

    Der Ruletimer wird nur dann ausgelöst, wenn die Feuchte ÜBER 60 gestiegen und dann UNTER 55 fällt.

    Du schaltest zwar EIN und aus aber Deine Feuchte war da bei 51.2 warum sollte als Nachlaufen?

    Die Feuchte muss über 60 steigen. Anhauchen oder was weis ich. Das nach einem Neustart einmalig geht ist klar weil ja der Trigger einmalig ausgelöst wird. Und dann nicht mehr.

    Was noch sein könnte ist, das der ONCE Befehl den Ruletimer aushebelt, hatte ich zu anfangs bereits erwähnt. Versuch mal das:

    rule1 on AM2301#HUMIDITY>60 do power2 1 endon on AM2301#HUMIDITY<55 do ruletmer1 60 endon

    rule2 on rules#timer=1 do power2 0 endon

    Rule1 1

    Rule2 1

    Rule1 5

    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

  • Tip Top mit den 2 Rules klappt es.

    Ja hab anfangs den Fehler gemacht mit Manuel On Off bei den Späteren beispielen habe ich immer mit anhauchen gemacht. Hat leider auch nichts geholfen.

    Egal was ich Probiert habe. Beim ersten Durchlauf hat er ausgeschaltet und beim zweiten war es vorbei. So funktioniert es vielen Dank.:):thumbup: