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?