Re: [gelöst]Rollläden über Datum steuern
Verfasst: 3. Sep 2020 18:08
so, ich habe die Regel jetzt mal nach meinem aktuellen Verständnis neu geschrieben. Wäre schön, wenn Du noch einmal drüber schauen würdest...
Der Wert iOffset kann je nach Bedarf geändert werden.
Edit: funktioniert die Rules eigentlich nach einem Neustart noch?
Code: Alles auswählen
//------------------------------------------------------------------------
// Rollladen Aufwärts, jeden Tag (Donnerstag andere Zeit)
//------------------------------------------------------------------------
rule "Aufwärts"
when
Time cron "0 15 9 ? * MON-WED,FRI-SUN" or
Time cron "0 0 8 ? * THU"
then
logInfo("shutters", "Rollläden fahren hoch!")
gAlleShutters.sendCommand(0)
end
//------------------------------------------------------------------------
// Rollladen Abwärts, jeden Tag
//------------------------------------------------------------------------
rule "Rollladen runter"
when
Time cron "0 30 17 ? * *"
then
var Integer iOffset = 0
val Integer iDOY = now.getDayOfYear
switch (true) {
case iDOY > 0 && iDOY < 16: iOffset = 0 // von 02. Jan bis 15. Jan
case iDOY > 15 && iDOY < 35: iOffset = 20 // von 16. Jan bis 03. Feb
case iDOY > 34 && iDOY < 47: iOffset = 30 // von 04. Feb bis 15. Feb
case iDOY > 46 && iDOY < 63: iOffset = 30 // von 16. Feb bis 02. Mrz
case iDOY > 62 && iDOY < 76: iOffset = 75 // von 03. Mrz bis 15. Mrz
case iDOY > 75 && iDOY < 93: iOffset = 105 // von 16. Mrz bis 01. Apr
case iDOY > 92 && iDOY < 107: iOffset = 150 // von 02. Apr bis 15. Apr
case iDOY > 106 && iDOY < 123: iOffset = 180 // von 16. Apr bis 01. Mai
case iDOY > 122 && iDOY < 137: iOffset = 170 // von 02. Mai bis 15. Mai
case iDOY > 136 && iDOY < 154: iOffset = 200 // von 16. Mai bis 01. Jun
case iDOY > 153 && iDOY < 168: iOffset = 220 // von 02. Jun bis 15. Jun
case iDOY > 167 && iDOY < 184: iOffset = 240 // von 16. Jun bis 01. Jul
case iDOY > 183 && iDOY < 198: iOffset = 180 // von 02. Jul bis 15. Jul
case iDOY > 197 && iDOY < 215: iOffset = 200 // von 16. Jul bis 01. Aug
case iDOY > 214 && iDOY < 229: iOffset = 215 // von 02. Aug bis 15. Aug
case iDOY > 228 && iDOY < 246: iOffset = 195 // von 16. Aug bis 01. Sep
case iDOY > 245 && iDOY < 260: iOffset = 185 // von 02. Sep bis 15 Sep
case iDOY > 259 && iDOY < 276: iOffset = 155 // von 16. Sep bis 01. Okt
case iDOY > 275 && iDOY < 290: iOffset = 105 // von 02. Okt bis 15. Okt
case iDOY > 289 && iDOY < 307: iOffset = 75 // von 16. Okt bis 01. Nov
case iDOY > 306 && iDOY < 321: iOffset = 40 // von 02. Nov bis 15. Nov
case iDOY > 320 && iDOY < 337: iOffset = 20 // von 16. Nov bis 01. Dez
case iDOY > 336 && iDOY < 351: iOffset = 0 // von 02. Dez bis 15. Dez
case iDOY > 350 && iDOY < 367: iOffset = 0 // von 16. Dez bis 01. Jan
}
createTimer(now.plusMinutes(iOffset), [|
logInfo("shutter", "Rollladen fahren runter!")
gAlleShutters.sendCommand(100)
])
end
Edit: funktioniert die Rules eigentlich nach einem Neustart noch?