Seite 1 von 2

[V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Do Dez 05, 2024 5:46 pm
von jensgulow
Ich habe mal eine Logik entwickelt, welche mir ausgibt, ob HEUTE oder MORGEN ein Feiertag ist.

Die zu beachtenden Feiertage können per Input festgelegt werden (true -> wird berechnet; false -> wird übergangen).

Allerdings habe ich 2 wesentliche Berechnungsschritte "ausgelagert": Die Berechnung des Ostersonntages und des 1. Adventssonntages.

Ostersonntag siehe hier:
viewtopic.php?t=5571#p59301

1.Advent siehe hier:
viewtopic.php?t=4566#p50694

Die vorliegende Logik benötigt jeweils den "day of year" dieser beiden Ereignisse, da etliche Feiertagsberechnungen darauf beruhen. Wenn ihr also diese Info woanders herbekommt auch gut.

Ihr müsst nach dem Konfigurieren noch einen Trigger hinzufügen (ich lasse mir das jeden Tag um 00:00:15 berechnen).

Gerne testen und Rückmeldung geben.

Code: Alles auswählen

/**
 * Calc Feiertage DE - Berechnung, ob ein bestimmter Tag ein Feiertag ist
 * Auswahl, welche Feiertage beachtet werden sollen über die Eingänge
 * 
 * notwendig für die Berechnungen sind folgende Angaben:
 *	-> Ist Schaltjahr?
 *	-> Datum Ostersonntag (viele Feiertage beziehen sich auf diesen Tag als Berechnungsgrundlage
 *	-> Datum 1. Advent (Berechnung Buß- und Bettag sowie der Adventssonntage)
 *
 * Die direkte Berechnung erfolgt über das item "day of year"
 */
{ 
    "Level": [ 
	// input-Level
	["$Neujahr","bool",true],
	["$Heilige3Koenige","bool",true],
	["$Weiberfastnacht","bool",true],
	["$Rosenmontag","bool",true],
	["$Fastnachtsdienstag","bool",true],
	["$Aschermittwoch","bool",true],
	["$Frauentag","bool",true],
	["$Gruendonnerstag","bool",true],
	["$Karfreitag","bool",true],
	["$Ostersonntag","bool",true],
	["$Ostermontag","bool",true],
	["$TagDerArbeit","bool",true],
	["$ChristiHimmelfahrt","bool",true],
	["$Pfingstsonntag","bool",true],
	["$Pfingstmontag","bool",true],
	["$Frohleichnam","bool",true],
	["$HohesFriedensfest","bool",true],
	["$MariaeHimmelfahrt","bool",true],
	["$TagDerDeutschenEinheit","bool",true],
	["$Reformationstag","bool",true],
	["$Allerheiligen","bool",true],
	["$BussUndBettag","bool",true],
	["$Advent1","bool",true],
	["$Advent2","bool",true],
	["$Advent3","bool",true],
	["$Advent4","bool",true],
	["$Heiligabend","bool",true],
	["$Weihnachtstag1","bool",true],
	["$Weihnachtstag2","bool",true],
	["$Silvester","bool",true],

	["$Easter","integer",0],
	["$Advent","integer",0],

	["$VAR<Inhibit?>","bool",false],
	
	// interne Level 
	["$Year","integer",0],
	["$Yday","integer",0],
	["$LeapYear","bool",false],

	["$Formel_LeapYear","string","((X1/4)-(rint(X1/4)))!=0?0:1"], // wenn Schaltjahr dann 1, sonst o

	["$true","bool",true],

	// "fixe" Termine im Jahr (Datum ist festgelegt)
	["$Frauentag_val","integer",67],
	["$TagDerArbeit_val","integer",121],
	["$HohesFriedensfest_val","integer",220],
	["$MariaeHimmelfahrt_val","integer",227],
	["$TagDerDeutschenEinheit_val","integer",276],
	["$Reformationstag_val","integer",304],
	["$Allerheiligen_val","integer",305],
	["$Heiligabend_val","integer",358],
	["$Weihnachtstag1_val","integer",359],
	["$Weihnachtstag2_val","integer",360],
	["$Silvester_val","integer",365],

	// wenn Schaltjahr, dann zum DOY einen Tag hinzuaddieren (gilt ab 28.02.)
    ["$Formel_Korr_LeapYear","string","(X1==1)?(X2+1):X2"],        

	["$Frauentag_korr","integer",0],
	["$TagDerArbeit_korr","integer",0],
	["$HohesFriedensfest_korr","integer",0],
	["$MariaeHimmelfahrt_korr","integer",0],
	["$TagDerDeutschenEinheit_korr","integer",0],
	["$Reformationstag_korr","integer",0],
	["$Allerheiligen_korr","integer",0],
	["$Heiligabend_korr","integer",0],
	["$Weihnachtstag1_korr","integer",0],
	["$Weihnachtstag2_korr","integer",0],
	["$Silvester_korr","integer",0],

	//Korrekturformeln für "bewegliche" Termine
	["$Formel_Weiberfastnacht_korr","string","(X1-52)"],		// -> Bezug zu Ostern -52
	["$Formel_Rosenmontag_korr","string","(X1-48)"],			// -> Bezug zu Ostern -48
	["$Formel_Fastnachtsdienstag_korr","string","(X1-47)"],		// -> Bezug zu Ostern -47
	["$Formel_Aschermittwoch_korr","string","(X1-46)"],			// -> Bezug zu Ostern -46
	["$Formel_Gruendonnerstag_korr","string","(X1-3)"],			// -> Bezug zu Ostern -3
	["$Formel_Karfreitag_korr","string","(X1-2)"],				// -> Bezug zu Ostern -2
	["$Formel_Ostersonntag_korr","string","(X1+0)"],			// -> Bezug zu Ostern 0
	["$Formel_Ostermontag_korr","string","(X1+1)"],				// -> Bezug zu Ostern +1
	["$Formel_ChristiHimmelfahrt_korr","string","(X1+39)"],		// -> Bezug zu Ostern +39
	["$Formel_Pfingstsonntag_korr","string","(X1+49)"],			// -> Bezug zu Ostern +49
	["$Formel_Pfingstmontag_korr","string","(X1+50)"],			// -> Bezug zu Ostern +50
	["$Formel_Frohleichnam_korr","string","(X1+60)"],			// -> Bezug zu Ostern +60
	["$Formel_BussUndBettag_korr","string","(X1-11)"],			// -> Bezug 1.Advent -11
	["$Formel_Advent1_korr","string","(X1+0)"],					// -> Bezug 1.Advent 0
	["$Formel_Advent2_korr","string","(X1+7)"],					// -> Bezug 1.Advent +7
	["$Formel_Advent3_korr","string","(X1+14)"],				// -> Bezug 1.Advent +14
	["$Formel_Advent4_korr","string","(X1+21)"],				// -> Bezug 1.Advent +21	
	
	["$Neujahr_korr","integer",1],						// Ausnahme: fixer Termin, aber unabhängig von Schaltjahren
	["$Heilige3Koenige_korr","integer",6],				// Ausnahme: fixer Termin, aber unabhängig von Schaltjahren
	["$Weiberfastnacht_korr","integer",0],		// -> Bezug zu Ostern -52
	["$Rosenmontag_korr","integer",0],			// -> Bezug zu Ostern -48
	["$Fastnachtsdienstag_korr","integer",0],	// -> Bezug zu Ostern -47
	["$Aschermittwoch_korr","integer",0],		// -> Bezug zu Ostern -46
	["$Gruendonnerstag_korr","integer",0],		// -> Bezug zu Ostern -3
	["$Karfreitag_korr","integer",0],			// -> Bezug zu Ostern -2
	["$Ostersonntag_korr","integer",0],			// -> Bezug zu Ostern 0
	["$Ostermontag_korr","integer",0],			// -> Bezug zu Ostern +1
	["$ChristiHimmelfahrt_korr","integer",0],	// -> Bezug zu Ostern +39
	["$Pfingstsonntag_korr","integer",0],		// -> Bezug zu Ostern +49
	["$Pfingstmontag_korr","integer",0],		// -> Bezug zu Ostern +50
	["$Frohleichnam_korr","integer",0],			// -> Bezug zu Ostern +60
	["$BussUndBettag_korr","integer",0],		// -> Bezug 1.Advent -11
	["$Advent1_korr","integer",0],				// -> Bezug 1.Advent 0
	["$Advent2_korr","integer",0],				// -> Bezug 1.Advent +7
	["$Advent3_korr","integer",0],				// -> Bezug 1.Advent +14
	["$Advent4_korr","integer",0],				// -> Bezug 1.Advent +21


	// Differenz zwischen Wert und DOY bilden
    ["$Formel_Is_HoliDay_diff","string","(X1-X2)"],
	
	["$Neujahr_diff","integer",0],
	["$Heilige3Koenige_diff","integer",0],
	["$Weiberfastnacht_diff","integer",0],
	["$Rosenmontag_diff","integer",0],
	["$Fastnachtsdienstag_diff","integer",0],
	["$Aschermittwoch_diff","integer",0],
	["$Frauentag_diff","integer",0],
	["$Gruendonnerstag_diff","integer",0],
	["$Karfreitag_diff","integer",0],
	["$Ostersonntag_diff","integer",0],
	["$Ostermontag_diff","integer",0],
	["$TagDerArbeit_diff","integer",0],
	["$ChristiHimmelfahrt_diff","integer",0],
	["$Pfingstsonntag_diff","integer",0],
	["$Pfingstmontag_diff","integer",0],
	["$Frohleichnam_diff","integer",0],
	["$HohesFriedensfest_diff","integer",0],
	["$MariaeHimmelfahrt_diff","integer",0],
	["$TagDerDeutschenEinheit_diff","integer",0],
	["$Reformationstag_diff","integer",0],
	["$Allerheiligen_diff","integer",0],
	["$BussUndBettag_diff","integer",0],
	["$Advent1_diff","integer",0],
	["$Advent2_diff","integer",0],
	["$Advent3_diff","integer",0],
	["$Advent4_diff","integer",0],
	["$Heiligabend_diff","integer",0],
	["$Weihnachtstag1_diff","integer",0],
	["$Weihnachtstag2_diff","integer",0],
	["$Silvester_diff","integer",0],

	// Ist heute ein Feiertag?
    ["$Formel_Is_HoliDay_today","string","(X1==0)?1:0"],

	["$Neujahr_isholiday_today","bool",false],
	["$Heilige3Koenige_isholiday_today","bool",false],
	["$Weiberfastnacht_isholiday_today","bool",false],
	["$Rosenmontag_isholiday_today","bool",false],
	["$Fastnachtsdienstag_isholiday_today","bool",false],
	["$Aschermittwoch_isholiday_today","bool",false],
	["$Frauentag_isholiday_today","bool",false],
	["$Gruendonnerstag_isholiday_today","bool",false],
	["$Karfreitag_isholiday_today","bool",false],
	["$Ostersonntag_isholiday_today","bool",false],
	["$Ostermontag_isholiday_today","bool",false],
	["$TagDerArbeit_isholiday_today","bool",false],
	["$ChristiHimmelfahrt_isholiday_today","bool",false],
	["$Pfingstsonntag_isholiday_today","bool",false],
	["$Pfingstmontag_isholiday_today","bool",false],
	["$Frohleichnam_isholiday_today","bool",false],
	["$HohesFriedensfest_isholiday_today","bool",false],
	["$MariaeHimmelfahrt_isholiday_today","bool",false],
	["$TagDerDeutschenEinheit_isholiday_today","bool",false],
	["$Reformationstag_isholiday_today","bool",false],
	["$Allerheiligen_isholiday_today","bool",false],
	["$BussUndBettag_isholiday_today","bool",false],
	["$Advent1_isholiday_today","bool",false],
	["$Advent2_isholiday_today","bool",false],
	["$Advent3_isholiday_today","bool",false],
	["$Advent4_isholiday_today","bool",false],
	["$Heiligabend_isholiday_today","bool",false],
	["$Weihnachtstag1_isholiday_today","bool",false],
	["$Weihnachtstag2_isholiday_today","bool",false],
	["$Silvester_isholiday_today","bool",false],		

	// Ist morgen ein Feiertag?
    ["$Formel_Is_HoliDay_tomorrow","string","(X1==1)?1:0"],
	
	["$Neujahr_isholiday_tomorrow","bool",false],
	["$Heilige3Koenige_isholiday_tomorrow","bool",false],
	["$Weiberfastnacht_isholiday_tomorrow","bool",false],
	["$Rosenmontag_isholiday_tomorrow","bool",false],
	["$Fastnachtsdienstag_isholiday_tomorrow","bool",false],
	["$Aschermittwoch_isholiday_tomorrow","bool",false],
	["$Frauentag_isholiday_tomorrow","bool",false],
	["$Gruendonnerstag_isholiday_tomorrow","bool",false],
	["$Karfreitag_isholiday_tomorrow","bool",false],
	["$Ostersonntag_isholiday_tomorrow","bool",false],
	["$Ostermontag_isholiday_tomorrow","bool",false],
	["$TagDerArbeit_isholiday_tomorrow","bool",false],
	["$ChristiHimmelfahrt_isholiday_tomorrow","bool",false],
	["$Pfingstsonntag_isholiday_tomorrow","bool",false],
	["$Pfingstmontag_isholiday_tomorrow","bool",false],
	["$Frohleichnam_isholiday_tomorrow","bool",false],
	["$HohesFriedensfest_isholiday_tomorrow","bool",false],
	["$MariaeHimmelfahrt_isholiday_tomorrow","bool",false],
	["$TagDerDeutschenEinheit_isholiday_tomorrow","bool",false],
	["$Reformationstag_isholiday_tomorrow","bool",false],
	["$Allerheiligen_isholiday_tomorrow","bool",false],
	["$BussUndBettag_isholiday_tomorrow","bool",false],
	["$Advent1_isholiday_tomorrow","bool",false],
	["$Advent2_isholiday_tomorrow","bool",false],
	["$Advent3_isholiday_tomorrow","bool",false],
	["$Advent4_isholiday_tomorrow","bool",false],
	["$Heiligabend_isholiday_tomorrow","bool",false],
	["$Weihnachtstag1_isholiday_tomorrow","bool",false],
	["$Weihnachtstag2_isholiday_tomorrow","bool",false],
	["$Silvester_isholiday_tomorrow","bool",false],		

	// Beachtung, ob der entsprechende Feiertag überhaupt am input "ausgewählt" wurde
	["$Neujahr_isholiday_today_active","bool",false],
	["$Heilige3Koenige_isholiday_today_active","bool",false],
	["$Weiberfastnacht_isholiday_today_active","bool",false],
	["$Rosenmontag_isholiday_today_active","bool",false],
	["$Fastnachtsdienstag_isholiday_today_active","bool",false],
	["$Aschermittwoch_isholiday_today_active","bool",false],
	["$Frauentag_isholiday_today_active","bool",false],
	["$Gruendonnerstag_isholiday_today_active","bool",false],
	["$Karfreitag_isholiday_today_active","bool",false],
	["$Ostersonntag_isholiday_today_active","bool",false],
	["$Ostermontag_isholiday_today_active","bool",false],
	["$TagDerArbeit_isholiday_today_active","bool",false],
	["$ChristiHimmelfahrt_isholiday_today_active","bool",false],
	["$Pfingstsonntag_isholiday_today_active","bool",false],
	["$Pfingstmontag_isholiday_today_active","bool",false],
	["$Frohleichnam_isholiday_today_active","bool",false],
	["$HohesFriedensfest_isholiday_today_active","bool",false],
	["$MariaeHimmelfahrt_isholiday_today_active","bool",false],
	["$TagDerDeutschenEinheit_isholiday_today_active","bool",false],
	["$Reformationstag_isholiday_today_active","bool",false],
	["$Allerheiligen_isholiday_today_active","bool",false],
	["$BussUndBettag_isholiday_today_active","bool",false],
	["$Advent1_isholiday_today_active","bool",false],
	["$Advent2_isholiday_today_active","bool",false],
	["$Advent3_isholiday_today_active","bool",false],
	["$Advent4_isholiday_today_active","bool",false],
	["$Heiligabend_isholiday_today_active","bool",false],
	["$Weihnachtstag1_isholiday_today_active","bool",false],
	["$Weihnachtstag2_isholiday_today_active","bool",false],
	["$Silvester_isholiday_today_active","bool",false],		
	
	["$Neujahr_isholiday_tomorrow_active","bool",false],
	["$Heilige3Koenige_isholiday_tomorrow_active","bool",false],
	["$Weiberfastnacht_isholiday_tomorrow_active","bool",false],
	["$Rosenmontag_isholiday_tomorrow_active","bool",false],
	["$Fastnachtsdienstag_isholiday_tomorrow_active","bool",false],
	["$Aschermittwoch_isholiday_tomorrow_active","bool",false],
	["$Frauentag_isholiday_tomorrow_active","bool",false],
	["$Gruendonnerstag_isholiday_tomorrow_active","bool",false],
	["$Karfreitag_isholiday_tomorrow_active","bool",false],
	["$Ostersonntag_isholiday_tomorrow_active","bool",false],
	["$Ostermontag_isholiday_tomorrow_active","bool",false],
	["$TagDerArbeit_isholiday_tomorrow_active","bool",false],
	["$ChristiHimmelfahrt_isholiday_tomorrow_active","bool",false],
	["$Pfingstsonntag_isholiday_tomorrow_active","bool",false],
	["$Pfingstmontag_isholiday_tomorrow_active","bool",false],
	["$Frohleichnam_isholiday_tomorrow_active","bool",false],
	["$HohesFriedensfest_isholiday_tomorrow_active","bool",false],
	["$MariaeHimmelfahrt_isholiday_tomorrow_active","bool",false],
	["$TagDerDeutschenEinheit_isholiday_tomorrow_active","bool",false],
	["$Reformationstag_isholiday_tomorrow_active","bool",false],
	["$Allerheiligen_isholiday_tomorrow_active","bool",false],
	["$BussUndBettag_isholiday_tomorrow_active","bool",false],
	["$Advent1_isholiday_tomorrow_active","bool",false],
	["$Advent2_isholiday_tomorrow_active","bool",false],
	["$Advent3_isholiday_tomorrow_active","bool",false],
	["$Advent4_isholiday_tomorrow_active","bool",false],
	["$Heiligabend_isholiday_tomorrow_active","bool",false],
	["$Weihnachtstag1_isholiday_tomorrow_active","bool",false],
	["$Weihnachtstag2_isholiday_tomorrow_active","bool",false],
	["$Silvester_isholiday_tomorrow_active","bool",false],	


	// Beachtung des Datumsüberganges 31.12. -> 1.1. wegen $holiday_tomorrow
    ["$Formel_Silvester_LeapYear","string","((X1==366)&&(X2==1)&&(X3==1))?1:0"],
    ["$Silvester_LeapYear","bool",false],
    ["$Formel_Silvester_NormalYear","string","((X1==365)&&(X2==1)&&(X3==0))?1:0"],
    ["$Silvester_NormalYear","bool",false],


	// output-Level
	["$holiday_today","bool",false],	
	["$holiday_tomorrow","bool",false]	

    ], 
    "Module": [

	// Zuerstmal ermitteln, ob das aktuelle Jahr ein Schaltjahr ist
	["Localtime",0,0,0,0,0,0,0, "$Year",0,"$Yday",0],
	["CalcFormula",["$Year"], "$LeapYear", "$Formel_LeapYear"],
	
	// Wenn Schaltjahr -> Korrektur der DOY aller "fixen" Termine ab dem 28.02. um einen Tag; wenn KEIN Schaltjahr bleibt der Wert unverändert
	["CalcFormula",["$LeapYear","$Frauentag_val"], "$Frauentag_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$TagDerArbeit_val"], "$TagDerArbeit_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$HohesFriedensfest_val"], "$HohesFriedensfest_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$MariaeHimmelfahrt_val"], "$MariaeHimmelfahrt_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$TagDerDeutschenEinheit_val"], "$TagDerDeutschenEinheit_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$Reformationstag_val"], "$Reformationstag_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$Allerheiligen_val"], "$Allerheiligen_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$Heiligabend_val"], "$Heiligabend_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$Weihnachtstag1_val"], "$Weihnachtstag1_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$Weihnachtstag2_val"], "$Weihnachtstag2_korr", "$Formel_Korr_LeapYear"],
	["CalcFormula",["$LeapYear","$Silvester_val"], "$Silvester_korr", "$Formel_Korr_LeapYear"],

	// Korrektur der DOY aller "beweglichen" Termine mit Bezug zu Ostersonntag oder 1.Adventssonntag
		// Bezug zu Ostern
	["CalcFormula",["$Easter"], "$Weiberfastnacht_korr", "$Formel_Weiberfastnacht_korr"],
	["CalcFormula",["$Easter"], "$Rosenmontag_korr", "$Formel_Rosenmontag_korr"],
	["CalcFormula",["$Easter"], "$Fastnachtsdienstag_korr", "$Formel_Fastnachtsdienstag_korr"],
	["CalcFormula",["$Easter"], "$Aschermittwoch_korr", "$Formel_Aschermittwoch_korr"],
	["CalcFormula",["$Easter"], "$Gruendonnerstag_korr", "$Formel_Gruendonnerstag_korr"],
	["CalcFormula",["$Easter"], "$Karfreitag_korr", "$Formel_Karfreitag_korr"],
	["CalcFormula",["$Easter"], "$Ostersonntag_korr", "$Formel_Ostersonntag_korr"],
	["CalcFormula",["$Easter"], "$Ostermontag_korr", "$Formel_Ostermontag_korr"],
	["CalcFormula",["$Easter"], "$ChristiHimmelfahrt_korr", "$Formel_ChristiHimmelfahrt_korr"],
	["CalcFormula",["$Easter"], "$Pfingstsonntag_korr", "$Formel_Pfingstsonntag_korr"],
	["CalcFormula",["$Easter"], "$Pfingstmontag_korr", "$Formel_Pfingstmontag_korr"],
	["CalcFormula",["$Easter"], "$Frohleichnam_korr", "$Formel_Frohleichnam_korr"],
		// Bezug zu Advent
	["CalcFormula",["$Advent"], "$BussUndBettag_korr", "$Formel_BussUndBettag_korr"],
	["CalcFormula",["$Advent"], "$Advent1_korr", "$Formel_Advent1_korr"],
	["CalcFormula",["$Advent"], "$Advent2_korr", "$Formel_Advent2_korr"],
	["CalcFormula",["$Advent"], "$Advent3_korr", "$Formel_Advent3_korr"],
	["CalcFormula",["$Advent"], "$Advent4_korr", "$Formel_Advent4_korr"],

	// Überprüfung der fixen Termine: Differenz zwischen Wert und Tag des Jahres bilden
	["CalcFormula",["$Neujahr_korr", "$Yday"], "$Neujahr_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Heilige3Koenige_korr", "$Yday"], "$Heilige3Koenige_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Frauentag_korr", "$Yday"], "$Frauentag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$TagDerArbeit_korr", "$Yday"], "$TagDerArbeit_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$HohesFriedensfest_korr", "$Yday"], "$HohesFriedensfest_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$MariaeHimmelfahrt_korr", "$Yday"], "$MariaeHimmelfahrt_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$TagDerDeutschenEinheit_korr", "$Yday"], "$TagDerDeutschenEinheit_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Reformationstag_korr", "$Yday"], "$Reformationstag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Allerheiligen_korr", "$Yday"], "$Allerheiligen_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Heiligabend_korr", "$Yday"], "$Heiligabend_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Weihnachtstag1_korr", "$Yday"], "$Weihnachtstag1_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Weihnachtstag2_korr", "$Yday"], "$Weihnachtstag2_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Silvester_korr", "$Yday"], "$Silvester_diff", "$Formel_Is_HoliDay_diff"],	
	// ...und jetzt die "beweglichen" Termine
	["CalcFormula",["$Weiberfastnacht_korr", "$Yday"], "$Weiberfastnacht_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Rosenmontag_korr", "$Yday"], "$Rosenmontag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Fastnachtsdienstag_korr", "$Yday"], "$Fastnachtsdienstag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Aschermittwoch_korr", "$Yday"], "$Aschermittwoch_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Gruendonnerstag_korr", "$Yday"], "$Gruendonnerstag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Karfreitag_korr", "$Yday"], "$Karfreitag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Ostersonntag_korr", "$Yday"], "$Ostersonntag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Ostermontag_korr", "$Yday"], "$Ostermontag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$ChristiHimmelfahrt_korr", "$Yday"], "$ChristiHimmelfahrt_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Pfingstsonntag_korr", "$Yday"], "$Pfingstsonntag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Pfingstmontag_korr", "$Yday"], "$Pfingstmontag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Frohleichnam_korr", "$Yday"], "$Frohleichnam_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$BussUndBettag_korr", "$Yday"], "$BussUndBettag_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Advent1_korr", "$Yday"], "$Advent1_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Advent2_korr", "$Yday"], "$Advent2_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Advent3_korr", "$Yday"], "$Advent3_diff", "$Formel_Is_HoliDay_diff"],
	["CalcFormula",["$Advent4_korr", "$Yday"], "$Advent4_diff", "$Formel_Is_HoliDay_diff"],

	// Überprüfung auf Feiertag heute
	["CalcFormula",["$Neujahr_diff"], "$Neujahr_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Heilige3Koenige_diff"], "$Heilige3Koenige_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Weiberfastnacht_diff"], "$Weiberfastnacht_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Rosenmontag_diff"], "$Rosenmontag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Fastnachtsdienstag_diff"], "$Fastnachtsdienstag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Aschermittwoch_diff"], "$Aschermittwoch_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Frauentag_diff"], "$Frauentag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Gruendonnerstag_diff"], "$Gruendonnerstag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Karfreitag_diff"], "$Karfreitag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Ostersonntag_diff"], "$Ostersonntag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Ostermontag_diff"], "$Ostermontag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$TagDerArbeit_diff"], "$TagDerArbeit_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$ChristiHimmelfahrt_diff"], "$ChristiHimmelfahrt_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Pfingstsonntag_diff"], "$Pfingstsonntag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Pfingstmontag_diff"], "$Pfingstmontag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Frohleichnam_diff"], "$Frohleichnam_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$HohesFriedensfest_diff"], "$HohesFriedensfest_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$MariaeHimmelfahrt_diff"], "$MariaeHimmelfahrt_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$TagDerDeutschenEinheit_diff"], "$TagDerDeutschenEinheit_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Reformationstag_diff"], "$Reformationstag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Allerheiligen_diff"], "$Allerheiligen_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$BussUndBettag_diff"], "$BussUndBettag_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Advent1_diff"], "$Advent1_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Advent2_diff"], "$Advent2_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Advent3_diff"], "$Advent3_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Advent4_diff"], "$Advent4_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Heiligabend_diff"], "$Heiligabend_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Weihnachtstag1_diff"], "$Weihnachtstag1_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Weihnachtstag2_diff"], "$Weihnachtstag2_isholiday_today", "$Formel_Is_HoliDay_today"],
	["CalcFormula",["$Silvester_diff"], "$Silvester_isholiday_today", "$Formel_Is_HoliDay_today"],
	
	// Überprüfung auf Feiertag morgen
	["CalcFormula",["$Neujahr_diff"], "$Neujahr_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Heilige3Koenige_diff"], "$Heilige3Koenige_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Weiberfastnacht_diff"], "$Weiberfastnacht_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Rosenmontag_diff"], "$Rosenmontag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Fastnachtsdienstag_diff"], "$Fastnachtsdienstag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Aschermittwoch_diff"], "$Aschermittwoch_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Frauentag_diff"], "$Frauentag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Gruendonnerstag_diff"], "$Gruendonnerstag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Karfreitag_diff"], "$Karfreitag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Ostersonntag_diff"], "$Ostersonntag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Ostermontag_diff"], "$Ostermontag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$TagDerArbeit_diff"], "$TagDerArbeit_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$ChristiHimmelfahrt_diff"], "$ChristiHimmelfahrt_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Pfingstsonntag_diff"], "$Pfingstsonntag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Pfingstmontag_diff"], "$Pfingstmontag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Frohleichnam_diff"], "$Frohleichnam_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$HohesFriedensfest_diff"], "$HohesFriedensfest_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$MariaeHimmelfahrt_diff"], "$MariaeHimmelfahrt_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$TagDerDeutschenEinheit_diff"], "$TagDerDeutschenEinheit_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Reformationstag_diff"], "$Reformationstag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Allerheiligen_diff"], "$Allerheiligen_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$BussUndBettag_diff"], "$BussUndBettag_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Advent1_diff"], "$Advent1_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Advent2_diff"], "$Advent2_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Advent3_diff"], "$Advent3_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Advent4_diff"], "$Advent4_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Heiligabend_diff"], "$Heiligabend_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Weihnachtstag1_diff"], "$Weihnachtstag1_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Weihnachtstag2_diff"], "$Weihnachtstag2_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	["CalcFormula",["$Silvester_diff"], "$Silvester_isholiday_tomorrow", "$Formel_Is_HoliDay_tomorrow"],
	
	// Überprüfen, ob die entsprechenden Tage überhaupt ausgewählt wurden
	["And",["$Neujahr_isholiday_today", "$Neujahr"], "$Neujahr_isholiday_today_active"],
	["And",["$Heilige3Koenige_isholiday_today", "$Heilige3Koenige"], "$Heilige3Koenige_isholiday_today_active"],
	["And",["$Weiberfastnacht_isholiday_today", "$Weiberfastnacht"], "$Weiberfastnacht_isholiday_today_active"],
	["And",["$Rosenmontag_isholiday_today", "$Rosenmontag"], "$Rosenmontag_isholiday_today_active"],
	["And",["$Fastnachtsdienstag_isholiday_today", "$Fastnachtsdienstag"], "$Fastnachtsdienstag_isholiday_today_active"],
	["And",["$Aschermittwoch_isholiday_today", "$Aschermittwoch"], "$Aschermittwoch_isholiday_today_active"],
	["And",["$Frauentag_isholiday_today", "$Frauentag"], "$Frauentag_isholiday_today_active"],
	["And",["$Gruendonnerstag_isholiday_today", "$Gruendonnerstag"], "$Gruendonnerstag_isholiday_today_active"],
	["And",["$Karfreitag_isholiday_today", "$Karfreitag"], "$Karfreitag_isholiday_today_active"],
	["And",["$Ostersonntag_isholiday_today", "$Ostersonntag"], "$Ostersonntag_isholiday_today_active"],
	["And",["$Ostermontag_isholiday_today", "$Ostermontag"], "$Ostermontag_isholiday_today_active"],
	["And",["$TagDerArbeit_isholiday_today", "$TagDerArbeit"], "$TagDerArbeit_isholiday_today_active"],
	["And",["$ChristiHimmelfahrt_isholiday_today", "$ChristiHimmelfahrt"], "$ChristiHimmelfahrt_isholiday_today_active"],
	["And",["$Pfingstsonntag_isholiday_today", "$Pfingstsonntag"], "$Pfingstsonntag_isholiday_today_active"],
	["And",["$Pfingstmontag_isholiday_today", "$Pfingstmontag"], "$Pfingstmontag_isholiday_today_active"],
	["And",["$Frohleichnam_isholiday_today", "$Frohleichnam"], "$Frohleichnam_isholiday_today_active"],
	["And",["$HohesFriedensfest_isholiday_today", "$HohesFriedensfest"], "$HohesFriedensfest_isholiday_today_active"],
	["And",["$MariaeHimmelfahrt_isholiday_today", "$MariaeHimmelfahrt"], "$MariaeHimmelfahrt_isholiday_today_active"],
	["And",["$TagDerDeutschenEinheit_isholiday_today", "$TagDerDeutschenEinheit"], "$TagDerDeutschenEinheit_isholiday_today_active"],
	["And",["$Reformationstag_isholiday_today", "$Reformationstag"], "$Reformationstag_isholiday_today_active"],
	["And",["$Allerheiligen_isholiday_today", "$Allerheiligen"], "$Allerheiligen_isholiday_today_active"],
	["And",["$BussUndBettag_isholiday_today", "$BussUndBettag"], "$BussUndBettag_isholiday_today_active"],
	["And",["$Advent1_isholiday_today", "$Advent1"], "$Advent1_isholiday_today_active"],
	["And",["$Advent2_isholiday_today", "$Advent2"], "$Advent2_isholiday_today_active"],
	["And",["$Advent3_isholiday_today", "$Advent3"], "$Advent3_isholiday_today_active"],
	["And",["$Advent4_isholiday_today", "$Advent4"], "$Advent4_isholiday_today_active"],
	["And",["$Heiligabend_isholiday_today", "$Heiligabend"], "$Heiligabend_isholiday_today_active"],
	["And",["$Weihnachtstag1_isholiday_today", "$Weihnachtstag1"], "$Weihnachtstag1_isholiday_today_active"],
	["And",["$Weihnachtstag2_isholiday_today", "$Weihnachtstag2"], "$Weihnachtstag2_isholiday_today_active"],
	["And",["$Silvester_isholiday_today", "$Silvester"], "$Silvester_isholiday_today_active"],

	["And",["$Neujahr_isholiday_tomorrow", "$Neujahr"], "$Neujahr_isholiday_tomorrow_active"],
	["And",["$Heilige3Koenige_isholiday_tomorrow", "$Heilige3Koenige"], "$Heilige3Koenige_isholiday_tomorrow_active"],
	["And",["$Weiberfastnacht_isholiday_tomorrow", "$Weiberfastnacht"], "$Weiberfastnacht_isholiday_tomorrow_active"],
	["And",["$Rosenmontag_isholiday_tomorrow", "$Rosenmontag"], "$Rosenmontag_isholiday_tomorrow_active"],
	["And",["$Fastnachtsdienstag_isholiday_tomorrow", "$Fastnachtsdienstag"], "$Fastnachtsdienstag_isholiday_tomorrow_active"],
	["And",["$Aschermittwoch_isholiday_tomorrow", "$Aschermittwoch"], "$Aschermittwoch_isholiday_tomorrow_active"],
	["And",["$Frauentag_isholiday_tomorrow", "$Frauentag"], "$Frauentag_isholiday_tomorrow_active"],
	["And",["$Gruendonnerstag_isholiday_tomorrow", "$Gruendonnerstag"], "$Gruendonnerstag_isholiday_tomorrow_active"],
	["And",["$Karfreitag_isholiday_tomorrow", "$Karfreitag"], "$Karfreitag_isholiday_tomorrow_active"],
	["And",["$Ostersonntag_isholiday_tomorrow", "$Ostersonntag"], "$Ostersonntag_isholiday_tomorrow_active"],
	["And",["$Ostermontag_isholiday_tomorrow", "$Ostermontag"], "$Ostermontag_isholiday_tomorrow_active"],
	["And",["$TagDerArbeit_isholiday_tomorrow", "$TagDerArbeit"], "$TagDerArbeit_isholiday_tomorrow_active"],
	["And",["$ChristiHimmelfahrt_isholiday_tomorrow", "$ChristiHimmelfahrt"], "$ChristiHimmelfahrt_isholiday_tomorrow_active"],
	["And",["$Pfingstsonntag_isholiday_tomorrow", "$Pfingstsonntag"], "$Pfingstsonntag_isholiday_tomorrow_active"],
	["And",["$Pfingstmontag_isholiday_tomorrow", "$Pfingstmontag"], "$Pfingstmontag_isholiday_tomorrow_active"],
	["And",["$Frohleichnam_isholiday_tomorrow", "$Frohleichnam"], "$Frohleichnam_isholiday_tomorrow_active"],
	["And",["$HohesFriedensfest_isholiday_tomorrow", "$HohesFriedensfest"], "$HohesFriedensfest_isholiday_tomorrow_active"],
	["And",["$MariaeHimmelfahrt_isholiday_tomorrow", "$MariaeHimmelfahrt"], "$MariaeHimmelfahrt_isholiday_tomorrow_active"],
	["And",["$TagDerDeutschenEinheit_isholiday_tomorrow", "$TagDerDeutschenEinheit"], "$TagDerDeutschenEinheit_isholiday_tomorrow_active"],
	["And",["$Reformationstag_isholiday_tomorrow", "$Reformationstag"], "$Reformationstag_isholiday_tomorrow_active"],
	["And",["$Allerheiligen_isholiday_tomorrow", "$Allerheiligen"], "$Allerheiligen_isholiday_tomorrow_active"],
	["And",["$BussUndBettag_isholiday_tomorrow", "$BussUndBettag"], "$BussUndBettag_isholiday_tomorrow_active"],
	["And",["$Advent1_isholiday_tomorrow", "$Advent1"], "$Advent1_isholiday_tomorrow_active"],
	["And",["$Advent2_isholiday_tomorrow", "$Advent2"], "$Advent2_isholiday_tomorrow_active"],
	["And",["$Advent3_isholiday_tomorrow", "$Advent3"], "$Advent3_isholiday_tomorrow_active"],
	["And",["$Advent4_isholiday_tomorrow", "$Advent4"], "$Advent4_isholiday_tomorrow_active"],
	["And",["$Heiligabend_isholiday_tomorrow", "$Heiligabend"], "$Heiligabend_isholiday_tomorrow_active"],
	["And",["$Weihnachtstag1_isholiday_tomorrow", "$Weihnachtstag1"], "$Weihnachtstag1_isholiday_tomorrow_active"],
	["And",["$Weihnachtstag2_isholiday_tomorrow", "$Weihnachtstag2"], "$Weihnachtstag2_isholiday_tomorrow_active"],
	["And",["$Silvester_isholiday_tomorrow", "$Silvester"], "$Silvester_isholiday_tomorrow_active"],

	// Ist nun heute ein Feiertag?
	["Or",["$Neujahr_isholiday_today_active","$Heilige3Koenige_isholiday_today_active","$Weiberfastnacht_isholiday_today_active","$Rosenmontag_isholiday_today_active","$Fastnachtsdienstag_isholiday_today_active","$Aschermittwoch_isholiday_today_active","$Frauentag_isholiday_today_active","$Gruendonnerstag_isholiday_today_active","$Karfreitag_isholiday_today_active","$Ostersonntag_isholiday_today_active","$Ostermontag_isholiday_today_active","$TagDerArbeit_isholiday_today_active","$ChristiHimmelfahrt_isholiday_today_active","$Pfingstsonntag_isholiday_today_active","$Pfingstmontag_isholiday_today_active","$Frohleichnam_isholiday_today_active","$HohesFriedensfest_isholiday_today_active","$MariaeHimmelfahrt_isholiday_today_active","$TagDerDeutschenEinheit_isholiday_today_active","$Reformationstag_isholiday_today_active","$Allerheiligen_isholiday_today_active","$BussUndBettag_isholiday_today_active","$Advent1_isholiday_today_active","$Advent2_isholiday_today_active","$Advent3_isholiday_today_active","$Advent4_isholiday_today_active","$Heiligabend_isholiday_today_active","$Weihnachtstag1_isholiday_today_active","$Weihnachtstag2_isholiday_today_active","$Silvester_isholiday_today_active"], "$holiday_today"],	

	// Ist nun morgen ein Feiertag?
	["Or",["$Neujahr_isholiday_tomorrow_active","$Heilige3Koenige_isholiday_tomorrow_active","$Weiberfastnacht_isholiday_tomorrow_active","$Rosenmontag_isholiday_tomorrow_active","$Fastnachtsdienstag_isholiday_tomorrow_active","$Aschermittwoch_isholiday_tomorrow_active","$Frauentag_isholiday_tomorrow_active","$Gruendonnerstag_isholiday_tomorrow_active","$Karfreitag_isholiday_tomorrow_active","$Ostersonntag_isholiday_tomorrow_active","$Ostermontag_isholiday_tomorrow_active","$TagDerArbeit_isholiday_tomorrow_active","$ChristiHimmelfahrt_isholiday_tomorrow_active","$Pfingstsonntag_isholiday_tomorrow_active","$Pfingstmontag_isholiday_tomorrow_active","$Frohleichnam_isholiday_tomorrow_active","$HohesFriedensfest_isholiday_tomorrow_active","$MariaeHimmelfahrt_isholiday_tomorrow_active","$TagDerDeutschenEinheit_isholiday_tomorrow_active","$Reformationstag_isholiday_tomorrow_active","$Allerheiligen_isholiday_tomorrow_active","$BussUndBettag_isholiday_tomorrow_active","$Advent1_isholiday_tomorrow_active","$Advent2_isholiday_tomorrow_active","$Advent3_isholiday_tomorrow_active","$Advent4_isholiday_tomorrow_active","$Heiligabend_isholiday_tomorrow_active","$Weihnachtstag1_isholiday_tomorrow_active","$Weihnachtstag2_isholiday_tomorrow_active","$Silvester_isholiday_tomorrow_active"], "$holiday_tomorrow"],
	
	// Jetzt noch das Problem 31.12. -> 1.1. "abfangen"
	    // Schaltjahr: DOY=366; $Neujahr= true
	["CalcFormula",["$Yday", "$Neujahr", "$LeapYear"], "$Silvester_LeapYear", "$Formel_Silvester_LeapYear"],
        // Kein Schaltjahr: DOY=365; $Neujahr= true
	["CalcFormula",["$Yday", "$Neujahr", "$LeapYear"], "$Silvester_NormalYear", "$Formel_Silvester_NormalYear"],

    ["Latch","$true","$holiday_tomorrow","$Silvester_LeapYear",0],
    ["Latch","$true","$holiday_tomorrow","$Silvester_NormalYear",0]

    ], 
    "Input": [
	["Ostersonntag DOY", "aus externer Logik","$Easter","u"],
	["1. Adventssonntag DOY", "aus externer Logik","$Advent","u"],

	["Neujahr", "01.Januar","$Neujahr","u"],
	["Heilige 3 Könige", "06.Januar","$Heilige3Koenige","u"],
	["Weiberfastnacht", "52 Tage vor Ostern","$Weiberfastnacht","u"],
	["Rosenmontag", "48 Tage vor Ostern","$Rosenmontag","u"],
	["Fastnachtsdienstag", "47 Tage vor Ostern","$Fastnachtsdienstag","u"],
	["Aschermittwoch", "46 Tage vor Ostern","$Aschermittwoch","u"],
	["Frauentag", "08.März","$Frauentag","u"],
	["Gründonnerstag", "3 Tage vor Ostern","$Gruendonnerstag","u"],
	["Karfeitag", "2 Tage vor Ostern","$Karfreitag","u"],
	["Ostersonntag", "Ostern","$Ostersonntag","u"],
	["Ostermontag", "1 Tag nach Ostern","$Ostermontag","u"],
	["Tag der Arbeit", "01. Mai","$TagDerArbeit","u"],
	["Christi Himmelfahrt", "39 Tage nach Ostern","$ChristiHimmelfahrt","u"],
	["Pfingstsonntag", "49 Tage nach Ostern","$Pfingstsonntag","u"],
	["Pfingstmontag", "50 Tage nach Ostern","$Pfingstmontag","u"],
	["Frohleichnam", "60 Tage nach Ostern","$Frohleichnam","u"],
	["Hohes Friedensfest", "08.August","$HohesFriedensfest","u"],
	["Mariä Himmelfahrt", "15.August","$MariaeHimmelfahrt","u"],
	["Tag der Deutschen Einheit", "03.Oktober","$TagDerDeutschenEinheit","u"],
	["Reformationstag", "31.Oktober","$Reformationstag","u"],
	["Allerheiligen", "01.November","$Allerheiligen","u"],
	["Buß- und Bettag", "11 Tage vor 1. Advent","$BussUndBettag","u"],
	["1. Advent", "1. Advent","$Advent1","u"],
	["2. Advent", "7 Tage nach 1. Advent","$Advent2","u"],
	["3. Advent", "14 Tage nach 1. Advent","$Advent3","u"],
	["4. Advent", "21 Tage nach 1. Advent","$Advent4","u"],
	["Heiligabend", "24.Dezember","$Heiligabend","u"],
	["1. Weihnachtsfeiertag", "25.Dezember","$Weihnachtstag1","u"],
	["2. Weihnachtsfeiertag", "26.Dezember","$Weihnachtstag2","u"],
	["Silvester", "31.Dezember","$Silvester","u"]
    ], 
    "Output": [ 
    ["Ist heute Feiertag?","","$holiday_today","a"], 
    ["Ist morgen Feiertag?","","$holiday_tomorrow","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. */ 
Anbei ein screenshot - die Liste der Feiertage geht noch um einiges weiter ;-)
Calc_holidays_A.jpg

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Do Dez 05, 2024 5:50 pm
von Sun1453
Hallo Jens das ist ja Mega. Danke Dir für das teilen.

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Do Dez 05, 2024 6:40 pm
von jensgulow
achso.....noch ne kurze WARNUNG:

die von mir verwendete Berechnung der Schaltjahre ist vereinfacht.....

Wer seinen Wolf im Jahre 2100 noch mit der Logik im Betrieb hat, der wird einen Fehler erleben :o :lol: ;-)

Bis dahin sollte es aber save sein :mrgreen:

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 8:31 am
von gbglace
Sehr gut. das sind doch sehr gute Vorarbeiten für ZSU Funktionen. da ich mich persönlich mit dem CRON sehr schwer tue. vielen Dank für diese Bausteine.

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 10:48 am
von Thimo
Ich habe in meinen Logiken mal eine genaue Day-of-year Berechnung mit Schalttagen gemacht, der längste Teil entsteht hier durch die Fallunterscheidung der Monatslängen:

Code: Alles auswählen

"Level": [
      ["$NowHour", "integer", 0],
      ["$TodayYear", "integer", 1900],
      ["$TodayMon", "integer", 1],
      ["$TodayDay", "integer", 1],
      ["$TodayDays", "integer", 0],
      // Year, Month, Day -> YearDays + (MonDays) + Day + (LeapDays)
      ["$DaysCalc", "string", "X1*365+( X2<5?(X2<3?(X2==1?0:31):(X2==3?59:90)) : (X2<9?(X2<7?(X2==5?120:151):(X2==7?181:212)) : (X2<11?(X2==9?243:273):(X2==11?304:334))) )+X3 + (X2>2?(X1/4-X1/100+X1/400):((X1-1)/4-(X1-1)/100+(X1-1)/400))"],
]
"Module": [
      ["Localtime", 0, 0, 0, 0, "$NowHour", "$TodayDay", "$TodayMon", "$TodayYear", 0, 0, 0],
      ["CalcFormula",["$TodayYear", "$TodayMon", "$TodayDay"], "$TodayDays", "$DaysCalc"],
]

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 2:30 pm
von jhaeberle
Wow, du hast sogar das Augsburger Hohe Friedensfest vorgesehen! Der einzige städtische Feiertag Deutschlands. Super, super cool. Danke für's Teilen!

Ist 4.5 Voraussatzung, dass diese Logiken laufen?

Gruß
Jochen

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 4:34 pm
von jhaeberle
jensgulow hat geschrieben: Do Dez 05, 2024 5:46 pm 1.Advent siehe hier:
viewtopic.php?t=4566#p50694

Die vorliegende Logik benötigt jeweils den "day of year" dieser beiden Ereignisse, da etliche Feiertagsberechnungen darauf beruhen. Wenn ihr also diese Info woanders herbekommt auch gut.
Die verlinkte Adventsberechnung gibt nur true/false für "in der Adventszeit" zurück, kein doy für den 1. Advent… falscher Link?

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 5:03 pm
von jensgulow
Schau mal bitte ganz unten nach.... Da ist die neue Version

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 5:05 pm
von jhaeberle
Ups! 2. Seite… übersehen - SORRY

Re: [V4.5 IP1] Custom Logik "Feiertage DE"

Verfasst: Fr Dez 06, 2024 5:53 pm
von jensgulow
jhaeberle hat geschrieben: Fr Dez 06, 2024 2:30 pm Ist 4.5 Voraussatzung, dass diese Logiken laufen?

Gruß
Jochen
Sollte eigentlich mit 4.1 laufen.