, , , , , , , ,

Quicktipp – Ergänzung Feiertags Skript zur Berechnung der Weihnachtszeit und des 1. bis 4. Advent

In dem Artikel „Homematic – Erweiterung des Zeitmodules 01 – Berechnung von Feiertagen“ habe ich euch das Skript zur Berechnung der Feiertage beschrieben. Damit ist der Anwender eines HomeMatic Systems in der Lage seine Automation entsprechend zu erweitern. Das Skript funktioniert natürlich nur auf einer CCU und den Partnerlösungen piVCCU3 und Raspberrymatic, aber nicht auf dem HomeMatic IP Access Point. In diesem Artikel möchte ich euch zeigen, wie ihr dieses Skript anpassen könnt, um eigene Feiertage einzubauen. Im konkreten Fall geht es um den 1. bis 4. Advent, passend zur Weihnachtszeit und der Tatsache, dass heute der 1. Advent ist und ihr es gleich probieren könnt. Ich verwende diese Option um smarte LED Kerzen zu steuern, sowie die Weihnachtsbeleuchtung.

Was tun, wenn sich Feiertage innerhalb eines Jahres ändern? (ab Version 3.03)

Die Berechnung der Feiertagsdaten erfolgt nur zu Jahresbeginn, da sich die Feiertage „in der Regel“ nicht ändern. Sollten sich die Feiertage doch einmal im laufenden Jahr ändern, weil wie in unserem Fall neue eigene Feiertage hinzugefügt werden sollen, dann kann man die Berechnung, wie nachfolgend beschrieben, erzwingen.

  1. Gehe zum Programm, dass täglich das Feiertagsskript aufruft und öffne das Skript zum bearbeiten.
  2. Korrigiere die Feiertagsliste in der Systemvariable s_Feiertage entsprechend. (Wie seht ihr später im Artikel)
  3. Setzte danach im Skript die Variable b_calc=true (Im Complete-Skript Zeile 91) und klicke im Editorfenster einmal auf „Ausführen“. Damit werden die neuen Feiertagsdaten berechnet.
  4. Abschließend die Skriptvariable wieder auf den Standardwert zurücksetzen b_calc=false.

Anpassungen der s_Feiertage Systemvariable im Feiertags Skript

In dem Artikel „Homematic – Erweiterung des Zeitmodules 01 – Berechnung von Feiertagen“ habe ich ausführlich beschrieben, wie ihr eine Feiertagsberechnung in eurem Smart Home System mit HomeMatic einbauen könnt. Im „Feiertagsberechnungs Skript“ haben wir die Systemvariable „s_Feiertage“ eingefügt. Diese müssen wir nun wie oben beschrieben verändern und aktivieren.

Wenn ihr ganz neu anfangt mit dem Feiertags Skript, könnt ihr die modifizierte Systemvariable „s_Feiertage“ natürlich sofort von Beginn an in das Skript einfügen.

Nachfolgend seht ihr die Systemvariable „s_Feiertage„, welche ich standardmäßig verwendet habe:

In der Zwischenzeit verwende ich im Skript die folgende Systemvariable „s_Feiertage„:

Wie ihr sehen könnt, habe ich nicht nur die Berechnung für den 1. bis zum 4. Advent eingefügt, sondern auch den Ostersonntag, den Pfingstsonntag sowie Heiligabend. Dies sind für mich auch Feiertage, welche ich eventuell in anderen Programmen verwenden möchte.

Systemvariablen

Nachdem das Skript zur Feiertagsberechnung mit den oben beschriebenen Parametern einmalig gelaufen ist, sind die benötigten Systemvariablen neu berechnet worden. Nachfolgend seht ihr die Systemvariablen. Einmal unter Einstellungen und zweitens unter Status und Bedienung:

Wie ihr in den obigen Screenshots sehen könnt, befinden sich die neuen „Feiertage“ nun in den entsprechenden Systemvariablen. Damit sind die Voraussetzungen geschaffen, die neuen Informationen in unserem Smart Home zu verwenden.

Beispiel Programm – Weihnachtszeit berechnen

Mit diesem Programm berechne ich die Weihnachtszeit vom 1. Advent bis zum 6. Januar (Heilige drei Könige). Wenn diese Variable auf „aktiv“ steht, werden bestimmte Lichter länger oder überhaupt an- und ausgeschaltet.

Programm Beispiel – Variable für Advent setzen

Mit dem nachfolgenden Programm wird in Abhängigkeit vom erkannten Advent Feiertag eine Advent Variable entsprechend gesetzt. Dies kann dann beispielsweise am 1. Advent eine smarte LED Kerze in einem Adventkranz an- und ausschalten. Am 2. Advent dann zwei smarte LED Kerzen an- und ausschalten und so weiter.

Fazit

In diesem Artikel zeigt sich wie gut das tolle Feiertags Skript auch für zusätzliche Aktionen verwendet werden kann. Die kompletten Weihnachts Szenarien können dadurch automatisiert werden.

nachfolgend seht ihr die in der vergangenen Nacht berechneten Variablen:

Viel Spaß beim Ausprobieren.

5 Kommentare
  1. Herbert Grebe
    Herbert Grebe sagte:

    Hi,
    ich finde es schon traurig, wenn der Verfasser auf nichts eingeht.
    Wenn verhindert oder sonst was, eine Meldung einstellen, bin Momentan nicht erreichbar.
    Bei den Adventskerzen ist es auch so, kaum eine Rückmeldung oder Antwort.
    herby

    Antworten
    • Werner
      Werner sagte:

      Hallo Herbert,

      ich habe dir eine Mail zugeschickt mit der Bitte mir deine Einstellungen als Screenshot zuzusenden. Schaue mir das dann mal an.

      Gruss
      Werner

      Antworten
    • Herbert Grebe
      Herbert Grebe sagte:

      Hallo an alle,
      mit Tatkräftiger Unterstützung und Geduld von Werner ist nun auch diese für mich schwierige Aufgabe gelöst worden.
      Es war seine Freizeit, die er geopfert hat.
      Er hat sich auch heute noch am 3.Advent bemüht, dem alten Mann zu helfen.
      Die Sripte hat er für mich angepaßt.
      Entschuldigung für den Post vom 11.12.

      Ich wünsche allen ein frohes Fest und einen guten Rutsch ins neue.
      mfg
      Herbert Grebe

      Antworten
  2. Herbert Grebe
    Herbert Grebe sagte:

    Hallo,
    heute am 11.12. steht die Variable
    Weihnachten Advent
    immer noch auf dem 1.Advent
    Würde gerne meine Einstellungen als Bild anhängen, geht aber nicht.
    herby

    Antworten
  3. herby
    herby sagte:

    Hallo Werner,
    bei meinen mittlerweile 70 Jahren habe ich manchmal Probleme mitzukommen.
    Aber der Reformationstag bereite mir noch Sorgen, habe den Tag im Completscript eingefügt.
    Kommt der erst im neuen Jahr zum Zuge?
    Muss ich die Variablen:
    Weihnachtszeit und
    Weihnacht Advent extra anlegen, mit welchen Parametern?
    Brauchts dann für die vier Adventskerzen ein neues, oder vier Programme?
    Gestern, spät nach vielen Versuchen wurde mir der 1. Advent angezeigt.
    Habe die Variable Feiertag-Heute-Name: auf die Startseite gelegt, das habe ich noch hinbekommen.
    Für ein bißchen Starthilfe wäre ich sehr dankbar.
    mfg
    Herbert Grebe

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert