Sonoff 4CH Pro als Signallampe

  • Hallo Community,

    nach langem mitlesen und ständigem probieren bin ich zum Entschluss gekommen - ich brauche Hilfe :)

    Aber erstmal ein paar Infos was ich schon gemacht habe und was ich eigentlich vor habe:

    Wie oben beschrieben geht es um ein Sonoff 4CH Pro R2 (Tasmota 6.7.1) + Fernbedienung.

    Mein Vorhaben: Eine Signallampe die 1 Stunde lang im Minutentakt von 11:00-12:00 Uhr am Samstag sowie Sonntag von Ausgang 2 (rote LED Birne) auf Ausgang 3 (Grüne LED Birne) wechselt. Zudem soll es möglich sein mit der Fernbedienung den Timer außerhalb der Zeit zu starten.

    Was ich gemacht habe war die Tasmota Software von 8 Timer auf 100 angepasst und eingespielt, Timer alle gesetzt und es hat auch funktioniert.

    Jetzt das Problem: Nach dem Netzstecker ziehen waren alle Timer wieder gelöscht, was schon sehr ärgerlich ist und zudem konnte das Programm nicht per Fernbedienung gestartet werden. Ebenso wollte ich ein Intervall für Montag bis Freitag von 13:00-14:00 Uhr einführen.

    Ps. Ausgang 1 ist eine normale weiße LED und Ausgang 4 ist nicht belegt.

    Jetzt meine Frage: Ist es möglich über eine Rule das ganze zu realisieren?

    Ich bin dankbar für jede Hilfe und ich hoffe das ich es verständlich beschreiben konnte.

    Beste Grüße Marcel

  • Guten Abend nochmal,

    mir ist eben eine Idee gekommen wie man es evtl realisieren könnte.

    Als erstes ein Script erstellen was einfach nur 1 Stunde den Intervall laufen lässt.

    Zweitens die Regeln erstellen wie z.B.

    Regel 1: Starte Script am Samstag um 11 Uhr

    Regel 2: Starte Script am Sonntag um 11 Uhr

    Usw...

    Regel xy: Starte Script wenn die Fernbedienung ein Signal sendet.

    Ist es so vielleicht möglich? Falls ja wie?

    Schönen Abend

    Marcel

  • Sowas ähnliches haben wir hier schon mal für eine Pumpensteuerung realisiert!

    Der Minutentakt ist mit der "Modulo Funktion" ganz einfach zu realisieren. Und die gewünschten Zeiten kann man ganz einfach über das Webinterface eingeben.

    Sonoff S20 als Zeitschaltuhr

    Deine Rules müssten dann so aussehen (beim 4ChPro muss auch noch die Nummer des gewünschten Ausgangs an den Power Befehl!)

    Code
    rule1 on Clock#Timer=1 do Rule2 1 endon on Clock#Timer=2 do Rule2 0 endon
    rule2 on Time#Minute|2 do backlog power on;delay 600;power off endon
    rule1 1
  • Hallo Einstein,

    danke das Thema hatte ich schon gelesen und auch probiert nur leider ohne Erfolg.

    Ich habe fast das Gefühl das keine Daten gespeichert werden.

    Wie oben beschrieben sobald der Netzstecker gezogen ist waren die Timer ja auch wieder alle gelöscht.

    Beste Grüße

  • Habe eben mal ein Basic R3 mit 30 Timer geflasht und genau das selbe Problem. Trotz "savedata 1" ist nach dem Netzstecker ziehen alles weg.

    Ebenso kann man das Backup der Config nicht wiederherstellen " Datei ungültig"

  • Bin der Meinung mal gelesen zu haben das die Anzahl für Timer, Counter und etc immer irgendwas von 2 hoch x sein muss. Vielleicht liegt es ja daran.

    Edit: Du hast recht!

    Soeben mal getestet. Ändert man die Anzahl der Timer so werden die Einstellungen nicht mehr gespeichert!!

  • Mit einem Script und Rules bekomme ich es leider nicht hin, weshalb ich ja hier nachgefragt habe. Das Timerproblem war eigentlich nur Nebensache. Nur hätte man das beheben können würde ich mir die Arbeit nochmal machen mit der einzelnen Einspeicherung der timer.

  • Was natürlich sein kann das die Rules auch einfach gelöscht wurden. Werde das morgen nochmal testen.

    Besteht denn trotzdem die Möglichkeit ein Programm einzuspeichern und dann per rule zu gewissen Zeiten das Programm zu starten?

    Einmal editiert, zuletzt von Goodlife (10. November 2019 um 17:32)

  • Hi, ja, hängt mit den begrenzten Möglichkeiten vom ESP82xx zusammen,

    vorrangig nicht Flash, sondern interner RAM.

    'Hunderte' Timer sind dafür nicht gerade sinnvoll,

    und kann wie oben beschrieben gelöst werden oder

    über BlinkTime / BlinkCount

    https://github.com/arendst/Tasmota/wiki/Commands#control

    Und ja, die Rule kann man timergesteuert triggern,

    Parameter dafür bei den Timern -> Action -> Rule

    Beispiel unter Rules oder https://github.com/arendst/Tasmot…a-timer-expires

  • Beispiel oder fertige Lösung :)

    Eigentlich hat Einstein67 schon alles vorgelegt, was man braucht.

    Hier noch etwas Kosmetik:

    - erst mal wieder die Timer auf default Anzahl stellen

    - Zeitpläne aktivieren und dann Timer für Sa/So 11:00 und 12:00

    Timer1 {"Arm":1,"Mode":0,"Time":"11:00","Days":"1000001","Repeat":1,"Action":3}

    Timer2 {"Arm":1,"Mode":0,"Time":"12:00","Days":"1000001","Repeat":1,"Action":3}

    dann Rule1, die von den Timern gesteuert Rule2 aktiviert/deaktiviert:

    Rule1 on Clock#Timer=1 do Rule2 1 endon on Clock#Timer=2 do Rule2 0 endon

    Rule2, die das abwechselnde Ein/Aus von Relay2 und Relay3 im Minutentakt übernimmt:

    Rule2 on Time#Minute|2 do backlog Power2 1;Power3 0;Delay 600;Power2 0;Power3 1 endon

    und noch Rule3, die über das vierte Relay4 und die darauf

    programmierte RF-Fernbedienung Rule2 aktivieren/deaktivieren kann

    Rule3 on Power4#State do Rule2 %value% endon

    (ein Timer kann da zwischenfunken)

    und noch einschalten:

    Rule1 1

    Rule3 1

    LG

  • Erstmal herzlichen Dank an eure Hilfe,

    der Timer morgens funktioniert super :)

    Mit der Fernbedienung klappt es irgendwie noch nicht ganz. Mit der Fernbedienung schaltet es einmal auf Rot und 60 Sekunden später auf Grün und bleibt da auch stehen. (erstmal halb so wild.)

    Nun wollte ich noch weitere Timer hinzufügen was auch wunderbar geklappt hat bis es an die Rules ging.

    Da die Rules auch auf "3" begrenzt sind eben firmware.bin angepasst von 3 auf 4 und eingespielt.

    Leider genau das selbe Spiel wie gestern es werden keine Daten gespeichert :(

    Beste Grüße

    Marcel

  • Leider genau das selbe Spiel wie gestern es werden keine Daten gespeichert :(

    Deshalb steht über dem Code wo du die Anzahl änderst:

    // Changes to the following MAX_ defines will impact settings layout

    Und daran will Theo auch nichts ändern.

    Aber warum brauchst du mehr Rules? Du kannst all deine Timer in einer Rule unterbringen (bis halt die 511 Zeichen erreicht sind.

    Code
    rule1 on Clock#Timer=1 do Rule2 1 endon on Clock#Timer=2 do Rule2 0 endon on Clock#Timer=3 do Rule2 1 endon on Clock#Timer=4 do Rule2 0 endon

    Hier sind noch 376 Zeichen frei. Da könntest du auch deine RF-Fernbedienung mittels Button#State hinzufügen ...

  • Hallo Einstein,

    die Timer hab ich so hinzugefügt.

    Habe es trotzdem mal auf GitHub als Fehler gemeldet.

    Ich baue mir eine Fitnessampel die mir Signal geben soll zu festen Zeiten.

    Und hilfreich ist hier natürlich das Programm auch individuell starten zu können.