Zu bestimmten Zeitpunkten langsam dimmen
Verfasst: Do Dez 26, 2019 9:42 pm
Hallo zusammen,
hier eine Sammlung von Custom-Logiken zum Thema "langsam Dimmen" (entstanden aus diesem Beitrag: viewtopic.php?f=24&t=1752#p18432 )
1.) Zu einem bestimmten Zeitpunkt langsam hochdimmen (von S. Kolbinger)
Nachdem man die konstanten Eingänge zu Parametern gemacht und den Cron-Trigger hinzugefügt hat, sollte das ganze etwa so aussehen:

Die Parameter sind: Start- und Endwert des Dimmvorgangs, die Schrittweite und die Schrittdauer (in Sekunden).
Der Eingang "Aktiv" muss true sein, wenn der Cron-Timer feuert, damit der Dimmvorgang gestartet wird.
Wird der "Aktiv"-Eingang während des Dimmvorgangs false, wird der Dimmvorgang abgebrochen und der Ausgang bleibt auf dem letzten Wert stehen.
2.) Zu einem bestimmten Zeitpunkt langsam herunterdimmen (Abwandlung von mir zu 1.)
Konfiguration wie unter 1.)
Zum Herunterdimmen muss der Startwert natürlich größer sein als der Endwert.
hier eine Sammlung von Custom-Logiken zum Thema "langsam Dimmen" (entstanden aus diesem Beitrag: viewtopic.php?f=24&t=1752#p18432 )
1.) Zu einem bestimmten Zeitpunkt langsam hochdimmen (von S. Kolbinger)
Code: Alles auswählen
{
"Level": [
["$ValStart","float",0.0],
["$ValEnd","float",100.0],
["$ValStep","float",5.0],
["$ValCurrent","float",0.0],
["$ValNext","float",0.0],
["$Active","bool",false],
["$Run","bool",false],
["$TimeStep","float",1.5],
["$Period","float",0.0],
["$KonstEins","float",1.0]
],
"Module": [
["Multiplexer",["$Active"],"$Run",0],
["Multiplexer",["$ValNext"],"$ValCurrent",0],
["Polynomial","$KonstEins","$ValNext",["$ValStep","$ValCurrent"]],
["Comparator","$ValNext","-$Run","$ValEnd"], // Run sollange nächster Wert nicht größer als Endwert
["Latch","$ValStart","$ValNext","-$Active",0], // Falls deaktiviert => Rücksetzen auf Startwert
["Latch","$ValStart","$ValNext","$Run",2], // Rücksetzen auf Startwert, bei fallender Flanke von $Run
["Multiplexer",[0,"$TimeStep"],"$Period","$Run"], // $Period == 0, stoppt den Timer
["Clocksignal","$Active",0,"$Period"] // Timer für nächsten Schritt
],
"Input": [
["Aktiv","Aktiviere/Deaktivier Dimmer","$Active","u"],
["Start","Start-Wert","$ValStart","u"],
["Ende","End-Wert","$ValEnd","u"],
["Step","Schrittweite","$ValStep","u"],
["Intervall","Zeit [s] zwischen zwei Werten","$TimeStep","u"]
],
"Output": [
["Dimmwert","Aktueller Dimmwert","$ValCurrent","c"]
]
}

Die Parameter sind: Start- und Endwert des Dimmvorgangs, die Schrittweite und die Schrittdauer (in Sekunden).
Der Eingang "Aktiv" muss true sein, wenn der Cron-Timer feuert, damit der Dimmvorgang gestartet wird.
Wird der "Aktiv"-Eingang während des Dimmvorgangs false, wird der Dimmvorgang abgebrochen und der Ausgang bleibt auf dem letzten Wert stehen.
2.) Zu einem bestimmten Zeitpunkt langsam herunterdimmen (Abwandlung von mir zu 1.)
Code: Alles auswählen
{
"Level": [
["$ValStart","float",100.0],
["$ValEnd","float",0.0],
["$ValStep","float",5.0],
["$ValCurrent","float",100.0],
["$ValNext","float",100.0],
["$Active","bool",false],
["$Run","bool",false],
["$TimeStep","float",1.5],
["$Period","float",0.0],
["$KonstEins","float",-1.0]
],
"Module": [
["Multiplexer",["$Active"],"$Run",0],
["Multiplexer",["$ValNext"],"$ValCurrent",0],
["Polynomial","$KonstEins","$ValNext",["$ValCurrent","$ValStep"]], // $ValNext = $ValCurrent + ($ValStep * -1)
["Comparator","$ValEnd","-$Run","$ValNext"], // Run solange nächster Wert nicht kleiner als Endwert
["Latch","$ValStart","$ValNext","-$Active",0], // Falls deaktiviert => Rücksetzen auf Startwert (100).
["Latch","$ValStart","$ValNext","$Run",2], // Rücksetzen auf Startwert, bei fallender Flanke von $Run (100)
["Multiplexer",[0,"$TimeStep"],"$Period","$Run"], // $Period == 0, stoppt den Timer
["Clocksignal","$Active",0,"$Period"] // Timer für nächsten Schritt
],
"Input": [
["Aktiv","Aktiviere/Deaktivier Dimmer","$Active","u"],
["Start","Start-Wert","$ValStart","u"],
["Ende","End-Wert","$ValEnd","u"],
["Step","Schrittweite","$ValStep","u"],
["Intervall","Zeit [s] zwischen zwei Werten","$TimeStep","u"]
],
"Output": [
["Dimmwert","Aktueller Dimmwert","$ValCurrent","c"]
]
}
Zum Herunterdimmen muss der Startwert natürlich größer sein als der Endwert.