Feiertagsberechnung

  • Author(en): Petrus (Peter Beck), randyp
  • Stand: Donnerstag, 04 Oktober 2012
  • Artikel:
Möchte man an Feiertagen eine besondere Ablaufsteuerung mit HomeMatic realisieren, kann dieses Skript behilflich sein. Es ermittelt für alle deutschen Bundelsländer sowie Österreich, ob heute und/oder morgen ein Feiertag ist. Die verwendeten Systemvariablen können dann ganz einfach in eigenen Programmen abgefragt und für die Steuerung herangezogen werden.
Dazu benöigt das Skript zwei Systemvariablen vom Typ »Boolean«, die bei einem Feiertag entsprechend gesetzt, und wie folgt benannt werden müssen:
  1. Feiertag_heute
  2. Feiertag_morgen
Das Skript selber findet innerhalb eines einfachen Programms Platz, das über ein Zeitmodul einmal am Tag (z.Bsp. 02:00 Uhr nachts) aufgerufen wird.

Nachfolgend ein Ausschnitt, der zum Anpassen an die eigene Lokation verwendet wird:
! Das Skript berechnet das Osterdatum und die Feiertage im aktuellen Jahr,
! prueft ob heute ein Feiertag ist und hinterlegt das Ergebnis in der Systemvariable "Feiertag"

! Script von Peter Beck (01-2011)
! Österreichergänzung von randyp (05-2012)
! Version 2.2.1r2

! Es werden folgende Systemvariablen benötigt:
! Feiertag_heute  (Typ: Boolean)
! Feiertag_morgen (Typ: Boolean)

boolean Rosenmontag = 0; ! Rosenmontag ein Brauchtumstag? 1=Ja/0=Nein
boolean Silvester   = 0; ! Silvester stets ein freier Tag? 1=Ja/0=Nein
boolean Heiligabend = 0; ! Heiligabend stets ein freier Tag? 1=Ja/0=Nein

string land  = "DE";     ! AT oder DE
string bland = "HE";     ! Bundesland in DE, in den wir wohnen (in Österreich auch für bland AT eintragen)

! Fuer "bland" bitte folgende Abkuerzungen benutzen:
! BW = Baden-Württemberg
! BY = Bayern
! BE = Berlin
! BB = Brandenburg
! HB = Bremen
! HH = Hamburg
! HE = Hessen
! MV = Mecklenburg-Vorpommern
! NI = Niedersachsen
! NW = Nordrhein-Westfalen
! RP = Rheinland-Pfalz
! SL = Saarland
! SN = Sachsen
! ST = Sachen-Anhalt
! SH = Schleswig-Holstein
! TH = Thüringen

! AT = Österreich
In den Zeilen 12-14 legt man fest, ob die jeweiligen Tage als Feiertage behandelt werden sollen. In Zeile 16 legt man das Land an (DE für Deutschland bzw. AT für Österreich) und in Zeile 17 das entsprechende Bundesland gemäß der nachfolgender Tabelle.

Wird das Skript nun durch das Programm gestartet, werden die beiden zuvor angelegten Systemvariablen entsprechend gefüllt und können wiederum in eigenen Programmen verwendet werden, um z.Bsp. die Rolladensteuerung an Feiertagen später anzusteuern...

Kommentare (3)

  • Paul-Peter Stein

    Paul-Peter Stein

    30 April 2014 um 19:22
    Hallo, als neu neuling finde ich das es ein sehr tolles Program ist.

    habe nur mangels Kenntnis ein Problem es zum laufen zu bringen, denn es nervt mich das meine Rolladen an den Feiertagen zur gleichen Zeit hoch gehen wie an normalen Tagen. Selbst mit den grün hinterlegten Hilfen passiert in der CCU1 nix.
    Irgend wo mache ich was falsch.
    Danke im vorraus

    antworten

  • Olaf Davidsmeyer

    Olaf Davidsmeyer

    09 Juni 2014 um 12:40
    Hallo Paul-Peter,

    ich habe das gleiche Problem. Anlegen der Systemvariable - kein Problem. Programm erstellen mit Zeitsteuerung täglich 2:00 und Skriptaufruf - kein Problem. Wenn ich das angepasste Skript kopiere, um es im "Bearbeiten"-Bereich des Skriptaufrufs einzufügen, mit o.k. speichere und das Programm speichere, ist der Skriptaufruf später leer. Es ist ein TCL-Skript, muss dieses anders aufgerufen werden?

    Danke auch von mir im Voraus.

    antworten

  • Paul-Peter Stein

    Paul-Peter Stein

    14 Juni 2014 um 07:57
    Da mir keiner so richtig geholfen hat, habe ich es x Mal probiert und habe folgendes gemacht.
    1. Feiertage.tcl in CCU1 kopiert
    2. Systemvariable „ Feiertag“ angelegt
    3. In Systemvariable Programm wird um 0,30 Uhr das Skript mit Änderung (Landeskennung) reinkopiert.
    4. Nun wird beim auszuführenden Programm bei Systemzustand Feiertag eingetragen.
    Heute Morgen (Pfingsten) hatte ich dann meinen 1. Erfolg.

    antworten

Einen eigenen Kommentar verfassen

Du musst auf dieser Seite angemeldet sein, um einen Kommentar für diesen Artikel verfassen zu können.
Soll es schnell gehen? Dann melde Dich jetzt einfach über Dein soziales Netzwerk an:

Kommentare // TecBase

Sebastian Strzelecki

Sebastian Strzelecki

27. Juli, 2016 |

Hi!

Ich habe mich mit FileZIlla per SSH auf der CCU2 angemeldet und den /www/ heruntergeladen, um das potthässliche WebUI Interface...

HomeMatic-INSIDE

HomeMatic-INSIDE

04. April, 2016 |

Vielen Dank für das Lob ;-) Wenn noch etwas fehlen sollte, einfach melden...LG, kaju