Parameter in Rules und Pulsetime

  • Hallo. Ich habe heute ein Basic an die Nachttischlampe im Kinderzimmer angeschlossen. Ich habe eine Rule eingefügt, dass nach dem Strom einschalten das Licht 1800 Sekunden an bleibt. Alternativ kann man auch (wenn Netzschalter „ein“ ist) über Alexa anschalten. Hier habe ich Pulsetime 1800 eingestellt.

    Gibt es etwas ähnliches wie in der CNC-Programmierung, dass man an den Stellen einen Parameter eingibt (bei CNC bspw r100=1800) und diesen Parameter dann in rule und Pulsetime einfügt? Würde das ändern der Zeit extrem vereinfachen, Fall man nicht immer die ganze Regel und pulstime eingeben muss (außerdem muss man nur noch an einer Stelle ändern) Oder gibt es vielleicht eine andere Lösung?

  • Hi, dafür gibts Variablen, die auch PowerDown überstehen:

    mem1 mem2 mem3 mem4 mem5

    z.B. in die Konsole eingeben Mem1 1800

    und dann in der Rule Pulsetime %Mem1% verwenden

    mehr dazu im Wiki oder: https://github.com/arendst/Sonoff…iables-and-mems

  • Guten MOrgen. Ich hab das jetzt gerade mal versucht.
    hab in der Konsole folgendes eingegeben:

    08:34:26 CMD: Mem1 10

    08:34:26 RSL: RESULT = {"Mem1":"10"}

    08:35:21 CMD: Pulsetime %Mem1%

    08:35:21 RSL: RESULT = {"PulseTime1":"0 (Active 0)"}

    Hab ich etwas falsch gemacht? Scheint leider nicht zu funktionieren.

    Edit: Hab gerade gemerkt, dass ich Pulsetime1 %Mem1% schreiben muss. Dann versush mal weiter...

    Edit2:
    ich bekomms doch nicht hin.

    08:43:58 CMD: mem1 50

    08:43:58 RSL: RESULT = {"Mem1":"50"}

    08:44:07 CMD: pulsetime1 %Mem1%

    08:44:07 RSL: RESULT = {"PulseTime1":"0 (Active 0)"}

    Einmal editiert, zuletzt von basti535 (31. Januar 2019 um 08:45)

  • Hi, ja, das hab ich wohl zu schnell und unklar hingekritzelt :)

    hätte so aussehen sollen:

    "und dann in der Rule als Pulsetime %Mem1% verwenden"

    Abrufen und Verwendung der Variablen ist in den Rules möglich,

    als Beispiel bei einem Taster:

    Code
    Mem1 10
    
    Rule1 1
    
    Rule1
    on Button1#State do Backlog Power1 on; RuleTimer1 %mem1% endon
    on Rules#Timer=1 do Power1 off endon

    Kann man dann z.B. auch per MQTT oder http verändern:

    http://192.168.x.x/cm?cmnd=Mem1 50

    Abfrage mit:

    http://192.168.x.x/cm?cmnd=Mem1

  • Habe mal ne Frage und zwar wenn der Timer läuft möchte ich die Restlaufzeit auf ein Display bringen IC2, wie könnte ich das realisieren?ß

    Gruß an alle :)

  • Hi.

    Kommt auf den Zeitintervall an in dem du den abfragen möctest?

    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

  • also wenn ich wenn die Zeit läuft pulsetime eingebe bekomme ich das zurück:

    07:46:47.210 MQT: stat/tasmota_1803E1/RESULT = {"PulseTime":{"Set":[100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Remaining":[52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}}

    jetzt müsste das remaining (die 52) in eine Variable und die auf Display

  • Das erste Problem ist schonmal das sekündliche auslesen.

    Das gibst ja so nicht in Tasmota.

    Ich spiele gerade mit folgendem Ansatz:

    Code
    Rule1
    on event#second do backlog ruletimer; delay 10; event second endon
    on T1 do var1 %value% endon

    erst mal ne Sekundendauerschleife mit event angelegt und dann mit command ruletimer und dem Trigger T1 den ruletimer 1 in die var1 einlesen.

    Funktioniert sogar soweit. Statt in var1 einzuelsen kann natürlich auch Displaytext verwendet werden.

    Allerdings stört mich die Dauerschleife.... müsste man noch bei T1=0 deaktivieren und bei T1>0 aktivieren in einem seperaten Ruleset

    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

  • Geht bei mir:

    Spoiler anzeigen

    13:04:05.982 CMD: ruletimer1 60

    13:04:05.989 MQT: stat/FLURLICHT/RESULT = {"T1":60,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:05.002 RUL: T1 performs "var1 60"

    13:04:06.002 MQT: stat/FLURLICHT/RESULT = {"Var1":"60"}

    13:04:06.235 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:06.254 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:06.286 MQT: stat/FLURLICHT/RESULT = {"T1":59,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:06.298 RUL: T1 performs "var1 59"

    13:04:06.306 MQT: stat/FLURLICHT/RESULT = {"Var1":"59"}

    13:04:06.535 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:07.548 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:07.567 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:07.599 MQT: stat/FLURLICHT/RESULT = {"T1":58,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:07.611 RUL: T1 performs "var1 58"

    13:04:07.620 MQT: stat/FLURLICHT/RESULT = {"Var1":"58"}

    13:04:07.847 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:08.851 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:08.871 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:08.901 MQT: stat/FLURLICHT/RESULT = {"T1":57,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:08.915 RUL: T1 performs "var1 57"

    13:04:08.924 MQT: stat/FLURLICHT/RESULT = {"Var1":"57"}

    13:04:09.151 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:10.202 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:10.221 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:10.253 MQT: stat/FLURLICHT/RESULT = {"T1":55,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:10.267 RUL: T1 performs "var1 55"

    13:04:10.275 MQT: stat/FLURLICHT/RESULT = {"Var1":"55"}

    13:04:10.501 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:11.503 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:11.522 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:11.553 MQT: stat/FLURLICHT/RESULT = {"T1":54,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:11.567 RUL: T1 performs "var1 54"

    13:04:11.576 MQT: stat/FLURLICHT/RESULT = {"Var1":"54"}

    13:04:11.803 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:12.813 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:12.832 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:12.864 MQT: stat/FLURLICHT/RESULT = {"T1":53,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:12.876 RUL: T1 performs "var1 53"

    13:04:12.884 MQT: stat/FLURLICHT/RESULT = {"Var1":"53"}

    13:04:13.113 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:14.119 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:14.138 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:14.171 MQT: stat/FLURLICHT/RESULT = {"T1":51,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:14.184 RUL: T1 performs "var1 51"

    13:04:14.193 MQT: stat/FLURLICHT/RESULT = {"Var1":"51"}

    13:04:14.421 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:15.427 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:15.446 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:15.479 MQT: stat/FLURLICHT/RESULT = {"T1":50,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:15.492 RUL: T1 performs "var1 50"

    13:04:15.501 MQT: stat/FLURLICHT/RESULT = {"Var1":"50"}

    13:04:15.726 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:36.574 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:36.593 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:36.625 MQT: stat/FLURLICHT/RESULT = {"T1":29,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:36.638 RUL: T1 performs "var1 29"

    13:04:36.647 MQT: stat/FLURLICHT/RESULT = {"Var1":"29"}

    13:04:36.873 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:37.877 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:37.895 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:37.928 MQT: stat/FLURLICHT/RESULT = {"T1":28,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:37.942 RUL: T1 performs "var1 28"

    13:04:37.950 MQT: stat/FLURLICHT/RESULT = {"Var1":"28"}

    13:04:38.176 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:39.180 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:39.198 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:39.232 MQT: stat/FLURLICHT/RESULT = {"T1":26,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:39.244 RUL: T1 performs "var1 26"

    13:04:39.252 MQT: stat/FLURLICHT/RESULT = {"Var1":"26"}

    13:04:39.479 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:40.530 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:40.548 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:40.581 MQT: stat/FLURLICHT/RESULT = {"T1":25,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:40.594 RUL: T1 performs "var1 25"

    13:04:40.603 MQT: stat/FLURLICHT/RESULT = {"Var1":"25"}

    13:04:40.829 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:41.880 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:41.898 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:41.932 MQT: stat/FLURLICHT/RESULT = {"T1":24,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:41.943 RUL: T1 performs "var1 24"

    13:04:41.951 MQT: stat/FLURLICHT/RESULT = {"Var1":"24"}

    13:04:42.180 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:43.186 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:43.204 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:43.237 MQT: stat/FLURLICHT/RESULT = {"T1":22,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:43.249 RUL: T1 performs "var1 22"

    13:04:43.257 MQT: stat/FLURLICHT/RESULT = {"Var1":"22"}

    13:04:43.485 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:44.489 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:44.507 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:44.540 MQT: stat/FLURLICHT/RESULT = {"T1":21,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:44.554 RUL: T1 performs "var1 21"

    13:04:44.563 MQT: stat/FLURLICHT/RESULT = {"Var1":"21"}

    13:04:44.787 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:45.791 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:45.810 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:45.841 MQT: stat/FLURLICHT/RESULT = {"T1":20,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:45.853 RUL: T1 performs "var1 20"

    13:04:45.861 MQT: stat/FLURLICHT/RESULT = {"Var1":"20"}

    13:04:46.089 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:47.141 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:47.160 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:47.192 MQT: stat/FLURLICHT/RESULT = {"T1":18,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:47.203 RUL: T1 performs "var1 18"

    13:04:47.211 MQT: stat/FLURLICHT/RESULT = {"Var1":"18"}

    13:04:47.441 MQT: stat/FLURLICHT/RESULT = {"Delay":9}

    13:04:48.447 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:48.465 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:48.498 MQT: stat/FLURLICHT/RESULT = {"T1":17,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:48.511 RUL: T1 performs "var1 17"

    13:04:48.520 MQT: stat/FLURLICHT/RESULT = {"Var1":"17"}

    13:04:48.747 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:49.799 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:49.818 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:49.851 MQT: stat/FLURLICHT/RESULT = {"T1":16,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:49.864 RUL: T1 performs "var1 16"

    13:04:49.872 MQT: stat/FLURLICHT/RESULT = {"Var1":"16"}

    13:04:50.100 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:51.153 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:51.168 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:51.204 MQT: stat/FLURLICHT/RESULT = {"T1":14,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:51.215 RUL: T1 performs "var1 14"

    13:04:51.224 MQT: stat/FLURLICHT/RESULT = {"Var1":"14"}

    13:04:51.452 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:52.504 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:52.523 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:52.555 MQT: stat/FLURLICHT/RESULT = {"T1":13,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:52.567 RUL: T1 performs "var1 13"

    13:04:52.575 MQT: stat/FLURLICHT/RESULT = {"Var1":"13"}

    13:04:52.802 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    13:04:53.855 MQT: stat/FLURLICHT/RESULT = {"Event":"Done"}

    13:04:53.874 RUL: EVENT#SECOND performs "backlog ruletimer; delay 10; event second"

    13:04:53.907 MQT: stat/FLURLICHT/RESULT = {"T1":12,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}

    13:04:53.918 RUL: T1 performs "var1 12"

    13:04:53.926 MQT: stat/FLURLICHT/RESULT = {"Var1":"12"}

    13:04:54.156 MQT: stat/FLURLICHT/RESULT = {"Delay":10}

    Der event second muss einmalig manuell gestartet werden:

    event second

    EDIT: v12.5.0

    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

  • Allerdings ist die Sekundenschleife mehr als unzuverlässig und ungenau. Ist mehr ein Workaround als ne Lösung. Aber evtl tut's auch ein 2 oder 5 Sekundentakt.

    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

  • muss das nicht :

    Rule3

    on event#second do backlog ruletimer; delay 10; event second endon

    on T1 do VAR1 %value% endon

    on VAR1#State do VAR1 endon

    on Rules#Timer=1 do VAR1 0 endon

    heißen?

    bzw. brauch ich den am schluß ist var1 eh 0 oder?

  • Kommt drauf an was er damit bezweckt und ob karoCB die var4 für was anderes verwenden wollte.

    ich weiß nicht ob der T1 Trigger nach Ablauf, also kleiner 1 noch auslöst.

    Hab ich jetzt nicht drauf geachtet. Aber wenn doch, dann wäre var 0, stimmt.

    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