Über 2 Variablen läßt sich Anfangs-($TagePlus) und Enddatum ($ObergrenzeTag) festlegen.
Viel Spaß!
PS: Ursprungsthread: viewtopic.php?f=103&t=4544&p=50449&hilit=advent#p50449
Code: Alles auswählen
/**=====================================================================
Adventsberechnung
einstellbar: Beginn ab 1. Advent (So) -> $TagePlus 21
Beginn ab Mo nach Totensonntag -> $TagePlus 27
Ende über $ObergrenzeTag einstellbar (z.B. 06.01.: 5 ; 03.02.: 33)
======================================================================*/
{
"Level": [
["$utime","integer",0],
["$yday","integer",0],
["$TagInnerhalb","bool",false],
["$UntergrenzeTag","integer",0],
["$ObergrenzeTag","integer",33], // 06.01.: 5 ; 03.02.: 33
["$true","bool",true],
["$adv1","bool",false],
["$CronString","string","0 1 0 25 12 *"], // 25.12. 00:01 Uhr
["$Weihnachtsfeiertag","integer",0],
["$Wday","integer",0],
["$TagePlus","integer",27], // 21: Beginn 1.Advent(So); 27: Beginn Montag nach Totensonntag
["$TagSekunden","integer",86400],
["$Formel1","string","(X1+X2)*X3"],
["$Formel2","string","X1-X2"],
["$OutA","integer",0],
["$OutB","integer",0],
["$adv2","bool",false],
["$adv","bool",false]
],
"Module": [
// aktuelle Zeit "zerlegen"
["Localtime",0,"$utime",0,0,0,0,0, 0,0,"$yday",0],
// prüfen ob 01.01. bis <= $ObergrenzeTag ist -> $adv=1, sonst $adv1=0
["Limiter","$yday",0,"$TagInnerhalb",["$UntergrenzeTag","$ObergrenzeTag"]],
["And" , ["$TagInnerhalb","$true"], "$adv1"],
// timestamp vom 25.12. 00.01 Uhr
["Cron","$true",0,"$Weihnachtsfeiertag","$CronString"],
// Wochentag des 25.12. bestimmen
["Localtime","$Weihnachtsfeiertag",0,0,0,0,0,0,0,"$Wday",0,0],
//Zwischenergebnis berechnen
["CalcFormula",["$Wday","$TagePlus","$TagSekunden"], "$OutA", "$Formel1"],
// $OutA von $Weihnachtsfeiertag (timestamp 25.12) subtrahieren
["CalcFormula",["$Weihnachtsfeiertag","$OutA"], "$OutB", "$Formel2"],
// Wenn $utime> $OutB ist -> $adv2=1; sonst $adv=0
["Comparator" , "$utime" , "$adv2" , "$OutB"],
// wenn $adv1 ODER $adv2 = true -> $adv=1,
["Or",["$adv1", "$adv2"], "$adv"]
],
"Input": [
],
"Output": [
["Advent","Es ist Adventszeit","$adv","a"]
]
}
/**Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */