KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

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

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 473
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 75 Mal
Danksagung erhalten: 206 Mal

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

#1

Beitrag 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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von jensgulow am Do Dez 05, 2024 5:52 pm, insgesamt 2-mal geändert.
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa

Sun1453
Reactions:
Beiträge: 2216
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1978 Mal
Danksagung erhalten: 885 Mal

#2

Beitrag von Sun1453 »

Hallo Jens das ist ja Mega. Danke Dir für das teilen.
Gruß Michael

Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 473
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 75 Mal
Danksagung erhalten: 206 Mal

#3

Beitrag 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:
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa

gbglace
Reactions:
Beiträge: 4088
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1415 Mal
Danksagung erhalten: 1901 Mal

#4

Beitrag 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.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU

Thimo
Reactions:
Beiträge: 18
Registriert: So Jul 02, 2023 10:13 am
Hat sich bedankt: 6 Mal
Danksagung erhalten: 11 Mal

#5

Beitrag 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"],
]
TWS 3500XL ID:1217, VPN geschlossen, Reboot erlaubt

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#6

Beitrag 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
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#7

Beitrag 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?
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 473
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 75 Mal
Danksagung erhalten: 206 Mal

#8

Beitrag von jensgulow »

Schau mal bitte ganz unten nach.... Da ist die neue Version
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#9

Beitrag von jhaeberle »

Ups! 2. Seite… übersehen - SORRY
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 473
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 75 Mal
Danksagung erhalten: 206 Mal

#10

Beitrag 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.
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa
Antworten

Zurück zu „Zusätzliche Logikbausteine“