Ich möchte hier auch mal meine Lösung vorstellen. Sie funktioniert ohne irgendwelche Kalenderabos etc. Einzige Vorraussetzung ist ein Webserver (z.B. NAS oder Raspberry) mit php.
Als erstes habe ich ein Dummy-Gerät (OPUS greenNet Steckdosenleiste 2-Kanal) angelernt. Beschreibung dazu findet man hier in der Community.
Dann habe ich je ein HG zum Ein- und Ausschalten des Schalters1 der Steckdosenleiste erstellt. Die HGs werden durch Webhooks ausgelöst.
An Feiertagen wird der Schalter eingeschaltet und an normalen Tagen ausgeschaltet.
Letzter Schritt war dann folgendes php-Script welches jeden Tag um 00:00 Uhr ausgeführt wird.
<?php
$tag= 24*60*60; // 24h*60min*60sec
$easter=easter_date(); // Datum von Ostersontag des aktuellen Jahres als int
$thisyear=date("Y"); //Das aktuelle Jahr
$heute= date("d.m.Y"); // Das Datum des aktuellen Tages im Format Tag(zweistellig).Monat(zweistellig).Jahr(vierstellig)
// ab hier Berechnng der Feiertage
$neujahr= date("d.m.Y", (mktime(0,0,0,1,1,$thisyear)));
$ostersonntag = date("d.m.Y", $easter);
$karfreitag = date("d.m.Y", ($easter - (2*$tag)));
$ostermontag= date("d.m.Y", ($easter + (1*$tag)));
$tagderarbeit= date("d.m.Y", (mktime(0,0,0,5,1,$thisyear)));
$himmelfahrt= date("d.m.Y", ($easter+(39*$tag)));
$pfingstsonntag= date("d.m.Y", ($easter + (49*$tag)));
$pfingstmontag= date("d.m.Y", ($easter + (50*$tag)));
$tagdereinheit= date("d.m.Y", (mktime(0,0,0,10,3,$thisyear)));
$reformationstag= date("d.m.Y", (mktime(0,0,0,10,31,$thisyear)));
$heiligabend= date("d.m.Y", (mktime(0,0,0,12,24,$thisyear)));
$weihnachtstag1= date("d.m.Y", (mktime(0,0,0,12,25,$thisyear)));
$weihnachtstag2= date("d.m.Y", (mktime(0,0,0,12,26,$thisyear)));
$silvester= date("d.m.Y", (mktime(0,0,0,12,31,$thisyear)));
// berechnete Feiertage werden zum Array $feiertage hinzugefügt
$feiertage["Neujahr"]=$neujahr;
$feiertage["Karfreitag"]=$karfreitag;
$feiertage["Ostersonntag"]=$ostersonntag;
$feiertage["Ostermontag"]=$ostermontag;
$feiertage["Christi Himmelfahrt"]=$himmelfahrt;
$feiertage["Pfingstsonntag"]=$pfingstsonntag;
$feiertage["Pfingstmontag"]=$pfingstmontag;
$feiertage["Tag der deutschen Einheit"]=$tagdereinheit;
$feiertage["Reformationstag"]=$reformationstag;
$feiertage["Heilig Abend"]=$heiligabend;
$feiertage["1. Weihnachtsfeiertag"]=$weihnachtstag1;
$feiertage["2. Weihnachtsfeiertag"]=$weihnachtstag2;
$feiertage["Silvester"]=$silvester;
// Angaben zum homee
$homee_ip = "123.123.123.123"; // IP-Adresse oder Netbios-Name vom homee
$homee_port = "7681"; // Port für die API
$homee_key = "hier-euren-Webhookschlüssel-einfügen"; // Webhookschlüssel
$feiertag="Feiertag"; // Webhook für homeegramm
$keinfeiertag="keinFeiertag"; // Webhook für homeegramm
if(in_array($heute, $feiertage)){ // Prüft ob "$heute" in Array "$feiertage" enthalten ist
file_get_contents("http://" . $homee_ip . ":" . $homee_port . "/api/v2/webhook_trigger?webhooks_key=" . $homee_key . "&event=" . $feiertag ); // Webhook $Feiertag wird ausgeführt wenn $heute in $feiertage enthalten ist
} else file_get_contents("http://" . $homee_ip . ":" . $homee_port . "/api/v2/webhook_trigger?webhooks_key=" . $homee_key . "&event=" . $keinfeiertag ); // Webhook $keinFeiertag wird ausgeführt wenn $heute nicht in $feiertage enthalten ist
?>
So sind keinerlei manuelle Aktionen mehr nötig und homee weiß immer ob gerade ein Feiertag ist, oder nicht.