Feiertagsberechnung - Skript

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Cash » 02.04.2017, 21:41

Du solltest Systemvarisblen nicht einfach umstellen. Hatte ich schon Probleme mit.

Über det Webui kannst Du die Systemvariable nicht befüllen ausser natürlich z. B. über Script testen.

Wenn Du ein App hast kannst Du aber dort die Variable befüllen...

Rupertus
Beiträge: 12
Registriert: 15.01.2017, 19:58

Re: Feiertagsberechnung - Skript

Beitrag von Rupertus » 03.04.2017, 11:52

Okay. Dann versuche ich es mal per App.

Gluehwurm
Beiträge: 12432
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Gluehwurm » 30.10.2017, 01:15

Habe gerade das Skript um ein paar Zeilen ergänzt (Reformationstag 31.10.2017).

Startzeile, Zwischen- und Endzeilen sind Original, bitte nur die ergänzten Zeilen (2, 9-15) einfügen oder mit Strg+C und V den entsprechenden Bereich ersetzen. Falls es jemand verwenden möchte.

Code: Alles auswählen

    string sDatum = system.Date("%d.%m."); ! Das heutige Datum
    string yDatum = system.Date("%Y"); ! Aktuelles Jahr

    integer Durchlauf = 0;

    while (Durchlauf < 2)
    {
        boolean Feiertag = 0; ! 0/1 = kein/Feiertag

        !***************************************************************************
        ! Sonder-Feiertage
        !***************************************************************************

        if ((yDatum == "2017") && (sDatum == "31.10.")) { Feiertag = 1; } ! Reformationstag

        !***************************************************************************
        ! Feste Feiertage bundesweit, fuer DE und AT
        !***************************************************************************
Geht vielleicht einfacher und schöner, evtl. habe ich auch nur übersehen, daß das schon jemand gemacht hat ... :wink:

Gruß
Bruno

MathiasZ

Re: Feiertagsberechnung - Skript

Beitrag von MathiasZ » 30.10.2017, 01:22

Hi Bruno,
Dankeschön für Deine Mühe.
Aber ich denke, ich lasse mal den Zusatz.
Wäre interessant, wenn der 31.10. Ein fester Bestandteil wird.
Bin ausserdem beim Überlegen, ob ich "unwichtige Sachen" nicht auf IObroker auslagern sollte.
Die Raspberrymatic hat zwar genügend Reserven. Warum sollte sie sich trotzdem damit herum schlagen?
Gruß,
Mathias

Gesendet von meinem SM-N915FY mit Tapatalk

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Cash » 30.10.2017, 08:41

Meine Lösung sieht sehr ähnlich aus.

Wichtig ist nur das alle daran denken das Morgen Feiertag ist und ggf. Ihre Homematic anpassen.

Als Alternative für die Sciptmuffel kann man natürlich auch einfach ein Programm in der Webui erstellen welches die Systemvariable umstellt. Wichtig hierbei dann das das Programm heute Nacht nach dem eigentlichen Feirtagsscript läuft...

Falls jemand noch mit der Systemvariable "Feiertag Morgen" arbeitet und so ggf. z. B. die Lampen Abends länger brennen lässt, der kann unter Script testen diesen Schnipsel nur noch heute ausführen.

Code: Alles auswählen

boolean Feiertag = 1;
dom.GetObject('SV Feiertag morgen').State(Feiertag);
Dabei natürlich die Systemvariable an die eigene Namensgebung anpassen...

thorkillar
Beiträge: 48
Registriert: 24.01.2017, 16:46

Re: Feiertagsberechnung - Skript

Beitrag von thorkillar » 30.10.2017, 16:43

Hallo und guten Abend,

ich habe das Skipt installiert und die SV angelegt.
Feiertagsskript: funktioniert fehlerfrei (habe es mit Brandenburg getestet)
Feiertag_heute
Feiertag_morgen

Aber beim Urlaub habe ich irgendwas etwas falsch gemacht? Es wird immer folgendes ausgegeben.
Arbeitstag_heute ist falsch
Arbeitstag_morgen ist falsch

folgende Einträge habe ich getestet. (als Werteliste)
Urlaubstage = 30.10.-02.11
Urlaubstage = 30.10.
Urlaubstage = 30.10.;

DANKE
Thorkillar
Vielen DANK
Thorkillar

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Cash » 30.10.2017, 18:46

Der erste Eintrag ist falsch. Es fehlt der Punkt hinten. Der letzte ist falsch wegen dem Semikolon. Der zweite ist richtig. Nur was Du falsch gemacht hast weiß ich leider nicht.

Bei mir läuft das Script total zuverlässig wenn auch in angepasster Form von Urlaub heute bzw Urlaub morgen

Petrus
Beiträge: 134
Registriert: 13.01.2010, 20:53
Hat sich bedankt: 1 Mal
Danksagung erhalten: 25 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Petrus » 30.10.2017, 18:55

Guten Abend,

@Thorkillar
Falls du keinen Schreibfehler im Namen der Systemvariablen oder bei der Eingabe der Werte hast, sollte es funktionieren. Ich habe alle möglichen Kombinationen - auch die von dir - gerade noch einmal getestet (30.10. und 31.10. und 30.10.;31.10. und 30.10.-02.11.) und jedesmal eine korrekte Ausgabe erhalten.

@Cash
Der letzte Eintrag von thorkillar mit abschließendem Semikolon funktioniert tatsächlich auch, da dieses nur ein Trennzeichen ist und damit einfach ignoriert wird.

Gruß
Petrus

Gluehwurm
Beiträge: 12432
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Gluehwurm » 30.10.2017, 21:04

MathiasZ hat geschrieben:Dankeschön für Deine Mühe.
War keine ... nur etwas spielen, habe nicht wirklich Ahnung von Skripten ... :wink:
MathiasZ hat geschrieben:Wäre interessant, wenn der 31.10. Ein fester Bestandteil wird.
Mich hat es trotzdem gestört, mag nicht Schuld sein, wenn meine CCU lügt. Vielleicht kommt ja noch mal irgendwas wozu das, nach Änderung, brauchbar ist. :mrgreen:
MathiasZ hat geschrieben:... "unwichtige Sachen" ... auf IObroker auslagern ...
Mag der bessere Weg sein, keine Ahnung. Habe selber Symcon im Einsatz, bin aber davon abgekommen, alles nur dort zu machen. Solche Skripte laufen aber auf beiden Systemen.

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Feiertagsberechnung - Skript

Beitrag von Cash » 30.10.2017, 21:38

@Petrus Danke für die Info und da ich Dich zum ersten mal online hier sehe einfach mal ein großes Danke für die beiden Scripte.

Beide sind in meiner Automation extrem wichtig und unverzichtbar.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“