Lichterkette ansteuern

  • Hallo

    Habe eine Lichterkette mit 8 Modi Stufen die per Hand mit einem Drehschalter

    gesteuert wird.

    Nun möchte ich dieses mit Tasmota und einem 8fach Relais steuern.

    Aufgebaut habe ich schon die Hardware.

    Die 8 Relais sind mit "Interlock 1,2,3,4,5,6,7,8" abgeriegelt.

    Jetzt bräuchte ich eine Rule die wenn Relais1 angeschaltet dann sollte

    nach ca. 3 Minuten Laufzeit das Relais2 für ebenfalls 3 Min. gestartet werden usw.

    Nach Relais8 müsste es dann wieder mit Relais1 weitergehen.

    Ist so eine Rule möglich.

  • Hi Theo.


    evtl sowas:

    rule1 on system#boot do var1 1 endon on var1#state>=1 do backlog power%value% 1; delay 1800; add1 1 endon on var1#state==8 do var1 1 endon

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Hmmm ... muss ich testen. Hab ich aber nix da heute ...

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Moin Theo,


    so ich hab das mal nachgestellt,

    aktuelle FW 9.1.0


    in der Konsole die Kommastellen auf 0 stellen und interlcock aktivieren:

    calcres 0

    interlock 1


    rule1 on system#boot do var1 1 endon on var1#state>=1 do backlog power%var1% 1; delay 1800; add1 1 endon on var1#state>7 do var1 1 endon


    rule1 1


    Allerdings hängt durch die Dauerschleife der Restart ... konnte das Teil nur mit Restart 99 in der Konsole rebooten.


    Edit:

    und dadurch das ja ne Dauerscheife ist fängt die auch beim booten von alleine an.

    Wenn du das erst aktivieren möchtest indem du mit dem ersten Relais startest dann bräuchte es ein 2. Rule.

    Und deaktivieren läßt es sich auch nicht über WebIF.


    Entweder macht man das dann über ne Zeitschaltuhr oder über nen externen Schalter, den mit der neuen Setoption114 von den Relias entkoppelt und den Switch#state abfragt.

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

    Einmal editiert, zuletzt von HoerMirAuf ()

  • Moin Michael

    Danke, das funktioniert super :thumbup:, läuft bei mir unter 7.2.0.

    Habe den Interlock 1 nicht gesetzt, weil ja Interlock 1,2,3,4,5,6,7,8 eingestellt ist.

    Funktioniert aber auch damit.

    Jetzt müsste ich nur noch das mit der Timesteuerung testen.

    Funkeln soll ja nur zwischen 5:30 - 8:00 und 17:00 - 23:00.

    Würde dieses auch mit einer 2. Rule gehen.

  • Hi Theo.

    Wenn du die Aktivierung/Deaktivierung mit Zeitprogrammen möchtest dann würde ich das mit 2 Rules machen:


    rule1 on clock#timer=1 do backlog var1 1; rule2 1 endon on clock#timer=2 do backlog rule2 0; var1 " endon

    rule2 on var1#state>=1 do backlog power%var1% 1; delay 1800; add1 1 endon on var1#state>7 do var1 1 endon


    Interlock muss nach wie vor an sein (Ich schreib das für andere Mitleser sicherheithalber dazu)

    interlock 1

    Die Nachkommastellen abstellen:

    calcres 0


    Rule1 aktivieren

    rule1 1


    Und dann 2 Zeitprogramme im WebIF erstellen:

    Timer1 ist Einschalten -> Aktion auf "Regel" setzen

    Timer2 ist Ausschalten -> Aktion auf "Regel" setzen

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Da es ja 4 Zeiteinstellungen gibt,

    Timer1 05:30 AN

    Timer2 08:30 AUS

    Timer3 17:00 AN

    Timer4 23:00 AUS

    habe ich mal die Rules nach deinen Vorlagen erweitert.


    rule1 on clock#timer=1 do backlog var1 1; rule2 1 endon on clock#timer=2 do backlog rule2 0; var1 " endon

    rule1 1


    rule2 on clock#timer=3 do backlog var1 1; rule2 1 endon on clock#timer=4 do backlog rule2 0; var1 " endon

    rule2 1


    rule3 on var1#state>=1 do backlog power%var1% 1; delay 1800; add1 1 endon on var1#state>7 do var1 1 endon

    rule3 1


    interlock 1


    calcres 0


    Sollte doch so funktionieren.

  • Einfacher.


    Alles wie in Post #7


    Nur Rule1 erweitern um die 2 Clock Timer:


    rule1 on clock#timer=1 do backlog var1 1; rule2 1 endon on clock#timer=2 do backlog rule2 0; var1 " endon on clock#timer=3 do backlog var1 1; rule2 1 endon on clock#timer=4 do backlog rule2 0; var1 " endon


    Dein Vorschlag würde nicht gehen weil die die eigentlich Rule2 nach Rule3 verschoben hast. Es wird aber die Rule2 aktiviert und deaktiviert durch die Clock#Timer


    EDIT:

    Was mir jetzt noch aufgefallen ist, ist das ja das zuletzt angesteuerte Relais EIN bleibt.

    Ich hab die Rule1 jetzt noch erweitert das nach dem Zeitprogramm auch das zuletzt geschaltete Relais aus geht:

    rule1 on clock#timer=1 do backlog var1 1; rule2 1 endon on clock#timer=2 do backlog rule2 0; ruletimer1 30 endon on clock#timer=3 do backlog var1 1; rule2 1 endon on clock#timer=4 do backlog rule2 0; ruletimer1 30 endon on rules#timer=1 do power0 0 endon

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

    4 Mal editiert, zuletzt von HoerMirAuf ()

  • Hi Theo.


    bei den Timer spielt der Ausgang keine Rolle, wenn die Aktion auf Regel steht.

    Der Ausgang wird dann nicht mehr berücksichtigt sondern nur noch in den Rules ausgewertet.


    Das passt aber so.

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Ach ja ... ich hab in Post #9


    Die Rule1 nochmal geändert. Die Timerauswertung etwas verbessert.


    on rules#timer=1 do power0 0 endon

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Beitrag von HoerMirAuf ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • So ... jetzt musste ich das doch noch überarbeiten.

    Beim Versuch hab ich immer kleine Zeitabstände verwendet, da ist das nicht so aufgefallen.


    der trigger in rules var1#state>=1 taugt nicht weil der ja immer der Fall ist und den Ausführungsspeicher mit Commands befüllt, die auch nach Deaktivierung der Rule2 weiter ablaufen. Wenn ich also nach einem timeout durch eine ruletimer irgendwann alle abschalte, nutzt das nichts wenn commands aus dem Speicher wieder einschalten. Und das ist abhängig von den der delayzeit und was noch im Speicher steckt.


    Das scheint aber auch am Delay zu liegen. das add1 1 liegt zwar hinter dem Delay aber trotzdem wird fleißig der Ausführungsspeicher mit Befehlen befüllt.

    Ich hab das jetzt mit ruletimer in rule2 gelöst, damit funktioniert es.


    Wenn du Deine Intervallzeit ändern möchtest einfach den Wert für var2 in rule1 ändern (Sekunden) Der gilt dann in den beiden Rules


    rule1 on system#boot do var2 180 endon on clock#timer=1 do backlog rule2 1; var1 1 endon on clock#timer=2 do backlog rule2 0; var1 "; ruletimer1 %var2% endon on clock#timer=3 do backlog rule2 1; var1 1 endon on clock#timer=4 do backlog rule2 0; var1 "; ruletimer1 %var2% endon on rules#timer=1 do power0 0 endon


    rule2 on var1#state do backlog power%var1% 1; ruletimer2 %var2% endon on rules#timer=2 do add1 1 endon on var1#state=8 do ruletimer3 %var2% endon on rules#timer=3 do var1 1 endon

    Online Compiler


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

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

    4 Mal editiert, zuletzt von HoerMirAuf ()