Aquarium Beleuchtung

  • Hallo

    Bin dabei eine Rule zu erstellen damit die Beleuchtung am Morgen um 7 Uhr und am Abend um19 Uhr ausschaltet.

    Am Morgen soll das Licht Hoch dimmen und am Abend Runter Dimmen.

    Das Dimmen kann ich von Wert 0 - 100 (dunkel bis hell) über IOBroker steuern.

    Eine Rule habe ich mal getestet aber funktioniert nicht so wie es soll.

    Das Licht wird nur mit Wert 100 ( ganz hell) angeschaltet.


    rule1 on clock#timer=1 do backlog power2 1; dimmer 100; wakeupduration 100; wakeup 100 endon on clock#timer=2 backlog dimmer 0; wakeupduration 0; wakeup 0 endon

    Setoption20 1

  • Sollte aber gehen.


    rule1 on clock#timer=1 do backlog power2 1; wakeupduration 100; wakeup 100 endon on clock#timer=2 backlog dimmer 0; wakeupduration 0; wakeup 0 endon


    Wie JoergZ sagte setzt Dimmer 100 zwar denn Dimmer auf 100 aber wakeup 100 dimmt dann wieder von 0 bis 100 in der duration Zeit hoch. Also, evtl. kurzes aufflackern und dann dimmen. Ohne Dimmer sollte das innerhalb 100 Sekund von 0 auf 100% dimmen.


    Evtl die Rule nicht akitiviert?

    Online Compiler


    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

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

  • Danke für eure Hilfe.

    Habe jetzt die Rule mit und ohne Dimmer 100 probiert und funktioniert nicht.

    Wenn ich aber in der Konsole nur backlog wakeupduration 100; wakeup 100 ausführe, dann steuert die Beleuchtung

    so wie sie soll in 100 Sek. von 0 bis 100.

    Aber mit Eingabe von backlog wakeupduration 0; wakeup 0 sollte dann die Beleuchtung von 100 bis 0 steuern ja eigentlich

    Dunkler werden aber dieses funktioniert nicht.

  • Das verstehe ich so, dass der Wert nur ansteigend sein kann aber nicht absteigend.

    Stimmt. Heißt ja auch wakeup nicht sleepdown ;)

    Online Compiler


    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

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

  • Wenn man das mit ner Rule lösen möchte dann, indem man fade auf 1 setzt und die Dimmgeschwindigkeit:


    Speed1..40 = set fade speed from fast 1 to very slow 40

    + = increase speed

    - = decrease speed

    The Speed value represents the time in 0.5s to fade from 0 to 100% (or the reverse). Example: Speed 4 takes 2.0s to fade from full brightness to black, or 0.5s to move from 75% to 100%.
    Speed2Same as Speed but settings aren't stored.


    Und dann mit Power 0 ausschaltet. Mit Speed muss man dann ein wenig experimentieren für die richtige Dimmzeit.

    Online Compiler


    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

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

  • Mit Speed muss man dann ein wenig experimentieren für die richtige Dimmzeit.

    Danke für deinen Hinweis.

    Habe jetzt mal in der Konsole mit backlog power2 1; Dimmer 100; Fade 1; Speed 20 die Beleuchtung angesteuert.

    Es wird langsam hochgedimmt. Aber leider zu schnell. Ist es denn möglich die Dimmzeit noch langsamer zu steuern.

  • Nimm doch mal Speed 40


    Allerdings würde ich erst fade und speed und dimmer setzen bevor ich einschalte.


    backlog speed 40; fade 1; dimmer 100; power2 1



    EDIT:

    Spielerei am Rand:

    Wenn man's ausreizt könnte man auch mit Rules spielen (ungtestet !!)


    rule1 on tele-Dimmer do var2 %value% endon on power2#state=1 do backlog rule2 1; rule3 0; var1 %var2% endon on power2#state=0 do backlog rule2 0; rule3 1; var1 %var2% endon


    rule2 on var1#state!=100 do backlog dimmer %var1%; delay 10; add1 1 endon

    rule3 on var1#state!=0 do backlog dimmer %var1%; delay 10; sub1 1 endon


    Rule1:

    - wird der aktuelle Dimmwert mit jeder Teleperiod in var2 eingelesen (evtl. Teleperiod höher stellen)

    - wenn Relais 2 eingeschaltet wird, wird rule2 aktiviert, rule3 deaktiviert und var1 auf den aktuellen Dimmwert gesetzt.

    - wenn Relais 2 ausgeschaltet wird, wird rule2 deaktiviert, rule3 aktiviert und var1 auf den aktuellen Dimmwert gesetzt.


    Rule2: dimmt hoch vom aktuellen Dimmwert bis zu 100%

    Rule3: dimmt runter vom aktuellen Dimmwert auf 0%.


    Wie schnell das ganze dimmt wird mit dem Delay (0,1Sekunden-Schritte) festgelegt und kann bis auf 3600 (6min) zwischen den Einzelschritten hoch geschraubt werden. Also im Extremfall 600 Miunten bis von 0% auf 100% gedimmt ist.


    Wenn man sehr lange Delayzeiten hat kann man mit Fade und Speed den Übergang smoother machen.

    Bei kurzen Zeiten würde ich zumindest den Speed runtersetzen nicht das das Faden länger als der Delay braucht.


    Nachteil: Um vom aktuellen Dimmwert aus zu dimmen hängt das ganze leider an der Teleperiod um den aktuellen Dimmwert auszulesen.

    Man könnet aber auch stattdessen immer von einem absoluten Wert aus dimmen ... also immer von 0 hoch oder von 100 runter,

    Online Compiler


    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

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

    2 Mal editiert, zuletzt von HoerMirAuf ()

  • Habe jetzt mal mit Speed 40 probiert und es ändert sich nicht viel.

    Mit power2 1 am Ende startet der Dimm Vorgang besser.

    Mit den 3 Rules bin ich überfordert, habe es aber mal getestet und es funktioniert nicht so richtig.

    Einfache Rules sind für mich kein Problem.

    Ich habe ja vor dass ab Sonnenaufgang die Beleuchtung so ca. 60 Minuten hochdimmt und

    ab Sonnenuntergang 60 Minuten runterdimmt.

  • Stimmt, stand ja im ersten Post mit den Clocktimer.


    Ich geh davon aus das Power1 Deine LED schaltet? Ich verwende dafür jetzt Power1 ansonsten bitte anpassen.


    Also einen Timer (Clocktimer1 = hochdimmen) für Sonnenuaufgang setzten und den auf Regel stellen, dasselbe für Sonnenuntergang. (Clocktimer2=runterdimmen)


    Der Delay bei 100 Schritten/Stunde (0-100%) ist 36 Sekunden zwischen jeden Step, also 360)

    Ich vernachlässige jetzt mal evtl vorhandene Dimmwerte sondern wie ich das verstehe dimmen wir immer von 0 auf 100 und wieder auf 0.


    In der Konsole muss Setoption20 1 gesetzt sein


    rule1 on system#boot do var2 360 endon on clock#timer=1 do backlog dimmer 0; Power1 1; rule2 1; var1 1; endon on clock#timer=2 do backlog rule3 1; var1 100 endon

    rule2 on var1#state<100 do backlog dimmer %var1%; delay %var2%; add1 1 endon on var1#state=100 do rule2 0 endon

    rule3 on var1#state>1 do backlog dimmer %var1%; delay %var2%; sub1 1 endon on var1#state=1 do backlog dimmer 0; delay %var2%; power1 0; rule3 0 endon


    Der Delay wird in der Rule1 in var2 gesetzt.

    Weil mit Sub nicht bis auf 0 subtrahiert werden kann sondern nur bis auf 1 muss das extra ausgewertet werden.

    Zum Testen einfach den Delay kleiner stellen.

    Online Compiler


    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

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

    9 Mal editiert, zuletzt von HoerMirAuf ()

  • Oh, ich glaube den Fehler gefunden zu haben.

    Hatte vergessen die Latitude und Longitube zu setzen.

    Hätte ich auch getippt. ;) clocktimer trigger ist clocktimer trigger :S

    Online Compiler


    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

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

  • Hatte vergessen die Latitude und Longitube zu setzen.

    Hatte ich jetzt mal 2 Stunden vor Sonnenaufgang gesetzt aber leider wurde clock#timer 1 nicht aus gelöst.


    Eingabe "Status 7" in der Konsole gibt mir aber die richtigen Werte aus.


    16:18:09 MQT: stat/tasmota_12C28E/STATUS7 = {"StatusTIM":{"UTC":"2021-10-12T14:18:08","Local":"2021-10-12T16:18:08","StartDST":"2021-03-28T02:00:00","EndDST":"2021-10-31T03:00:00","Timezone":99,"Sunrise":"07:49","Sunset":"18:37"}}

  • Moin. Die Rule2 soll auch auf 0 stehen. Die wird vom clocktimer1 aktiviert und in der Rule2 wird hochgedimmt.

    Die Rule3 wird zum runterdimmen verwendet. Rule2 und Rule3 deaktivieren sich nach dem Ablauf der Dimmphase selbst.


    Aktiv muss nur Rule1 sein, die aktiviert über die Clocktimer die beiden anderen.

    Zum testen einfach mal den Delay auf einen kleinen Wert z.b. 20 setzen und den Clocktimer auf z.B. 3 Minuten in die Zukunft und sehen was passiert (Konsole)


    Ich hab allerdings einen Fehler entdeckt. Bzw bei einem Test ist mir das erst aufgefallen. In Rule2 und Rule3 fehlt jeweils ein "=".

    Denn bei add und sub werden in die Variablen Werte mit 3 Nachkommastellen geschrieben und und das muss dann numerisch vergleichen werden, sonst klappt das nicht:


    rule1 on system#boot do var2 360 endon on clock#timer=1 do backlog dimmer 0; Power1 1; rule2 1; var1 1; endon on clock#timer=2 do backlog rule3 1; var1 100 endon

    rule2 on var1#state<100 do backlog dimmer %var1%; delay %var2%; add1 1 endon on var1#state==100 do rule2 0 endon

    rule3 on var1#state>1 do backlog dimmer %var1%; delay %var2%; sub1 1 endon on var1#state==1 do backlog dimmer 0; delay %var2%; power1 0; rule3 0 endon

    Online Compiler


    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

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

    Einmal editiert, zuletzt von HoerMirAuf ()

  • Zum testen einfach mal den Delay auf einen kleinen Wert z.b. 20 setzen und den Clocktimer auf z.B. 3 Minuten in die Zukunft und sehen was passiert

    Moin, habe dieses jetzt mal getestet und es läuft. Auch mit erstmal nur Sonnenaufgang funktioniert das Hochdimmen.

    Ich konnte aber nicht sehen wann das Dimmen losgeht, habe am Nachmittag nach der Arbeit nur gesehen das der Neopixel mit 100% aufleuchtet.

    Das Auswerten von Dimmer 0 bis100 wird mir als Diagramm in Flot angezeigt. Start war gestern laut Diagramm so gegen 19 Uhr was aber ja nicht sein sollte.

    Gibt es eine Möglichkeit einen Zeitstempel zu bekommen wann das Dimmen beginnt.