[canceled] Kalender-Script V1 - all inclusive

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

Moderator: Co-Administratoren

BadenPower

[canceled] Kalender-Script V1 - all inclusive

Beitrag von BadenPower » 03.05.2016, 23:05

Neue Version 2.x

Kalender-Script - all inclusive - MEGA-Version für D-A-CH - hier klicken

---------------------------------------------------------------------------------------------------------------------------------

.
All-Inclusive Kalender-Script
  • komplett flexibel
  • alle Einstellungen können per Systemvariablen durchgeführt werden
  • es müssen nur die Systemvariabeln angelegt werden, welche man selbst auch tatsächlich benötigt
  • bedient bis zu 131 Systemvariabeln in einem Aufwasch
  • Flexibilität benötigt keine Änderungen am Skript selbst.
  • Benutzer kann den Typ der Systemvariabeln für Ein- und Ausgaben in den meisten Fällen selbst festlegen
  • Namen der Systemvariabeln bei Bedarf frei wählbar
  • Überprüft und reagiert automatisch auf die systeminterne 200er-Skript-Variable-Grenze
Alles kann, aber nichts muss!

Features:

Feiertag, Brauchtumstage, eigene Festtage
  • vordefinierte Feiertagsliste für alle Bundesländer und Kantone aus Deutschland, Östereich und der Schweiz
  • Erweiterung und Entfernen einzelner vordefinierter Tage möglich (per Systemvariablen)
  • 3 weitere selbst definierbare Listen vorhanden (per Systemvariablen)
  • zahlreiche Feiertage / Brauchtumstage fest eingepflegt
  • Verwendung frei definierbarer eigener Tage möglich (per Systemvariablen)
  • Verwendung von beweglichen Tagen wie zum Beispiel Ostersonntag oder 1. Advent möglich
  • Zusätzliche Addition oder Subtraktion von Tagen bei beweglichen Tagen möglich (OS+10)
  • Systemvariable Typ für IST jeweils getrennt für: heute / morgen /gestern
  • Ausgabe des Names des Tages als Zeichenkette jeweils getrennt für: heute / morgen /gestern
  • Ausgabe des Names des Tages als frei definierbare Werteliste jeweils getrennt für: heute / morgen /gestern
  • alle möglichen Systemvariablen für jede einzelne Liste jeweils getrennt
  • zusätzliche IST-Angabe global über alle 4 Listen
Abfall-Kalender
  • bis zu 10 Listen für verschiedene Abfallarten möglich
  • pro Liste getrennte Ausgabe IST Abfall für: heute / morgen
  • Ausgabe des Datums der nächsten Leerung pro Liste als Zeichenkette
  • Ausgabe der Anzahl der Tage bis zur nächsten Leerung pro Liste als Zahl
Zeitspanne
  • 10 Systemvariabeln für jeweils 1 oder mehrere frei definierbare Zeitspannen
  • Verwendung von beweglichen Tagen wie zum Beispiel Ostersonntag oder 1. Advent möglich
  • Zusätzliche Addition oder Subtraktion von Tagen bei beweglichen Tagen möglich (OS+10)
  • Zeitspannen auch jahreswechsel-übergreifend möglich
  • Datum mit oder ohne Jahreszahl möglich
  • Ideal für Gartenbewässerung oder Weihnachtsbeleuchtung
Urlaub / Ferien
  • getrennte Systemvariablen für Urlaub anwesend / abwesend
  • globale Systemvariablen für Urlaub
  • getrennte Systemvariablen für Ferien anwesend / abwesend
  • globale Systemvariablen für Ferien
Infos zum aktuellen Tag/Monat/Jahr
  • Wochentag als Werteliste (Name)
  • Wochentag als Zeichenkette (Name)
  • Wochentag als Zahl
  • Monat als Werteliste (Name)
  • Monat als Zeichenkette (Name)
  • Monat als Zahl
  • Jahr als Zahl
  • Tag des Monats als Zahl
  • Tag des Jahres als Zahl
  • Kalenderwoche (3 verschiedene Berechnungsarten)
  • Schaltjahr
  • Sommerzeit
  • zusätzlich ab Version 1.1.0
  • Sommerzeit automatische Umstellung der Variable um 2:00 Uhr bzw. 3:00 Uhr bei Beginn/Ende
  • Sommerzeit Tage bis nächster Beginn
  • Sommerzeit Tage bis nächstes Ende
  • Sommerzeit Tage bis nächste Umstellung
  • Sommerzeit Datum nächster Beginn
  • Sommerzeit Datum nächstes Ende
  • Sommerzeit Datum nächste Umstellung
  • Kalenderwoche gerade/ungerade (3 verschiedene Berechnungsarten)
Countdown ab Version 1.1.0
  • 10 Systemvariabeln für jeweils 1 frei definierbaren Tag
  • Verwendung von beweglichen Tagen wie zum Beispiel Ostersonntag oder 1. Advent möglich
  • Zusätzliche Addition oder Subtraktion von Tagen bei beweglichen Tagen möglich (OS+10)
  • Countdown auch jahreswechsel-übergreifend möglich
  • Datum mit oder ohne Jahreszahl möglich
Die Handhabung sowie ausführliche Anweisungen zur Deklaration der Systemvariabeln können aus den nächsten 6 Posts entnommen werden.

Bei Unklarheiten einfach fragen!

Version 1.1.0
Zusatzliche System-Variabeln für Sommerzeit und Kalenderwoche eingeführt.
Die System-Variable für Sommerzeit wird nun vom Skript aus selbstständig zu den entsprechenden Uhrzeiten geändert, egal um welche Uhrzeit das Skript gestartet wird.

Ich habe nun eine erweiterte Version (1.0.2) hochgeladen um die Bedenken einiger User bezüglich einer eventuellen Systeminstabilität bei Überschreiten, der vom System leider vorgegebenen maximalen Anzahl von 200 Skript-Variabeln, auszuräumen, bzw. dies von vorneweg nicht zum Problem werden zu lassen.

Das Skript prüft nun selbstständig, ob alle Skript-Variabeln ordnungsgemäß angelegt werden konnten und gibt bei Bedarf im Fehlerfall eine Meldung in eine Systemvariabel aus. Im Fehlerfall beendet sich das Skript bevor irgendwelche Probleme entstehen könnten.

Alle, welche Bedenken haben, dass sie irgendwann über die magische Zahl von 200 kommen könnten, sollten selbstverständlich alle ihre bisherigen Skripte auch mit dieser simplen Überprüfung ausstatten.

Leider gibt es Verfechter von Mega-Skripten, welche ausgiebig suggerieren möchten, dass der Einsatz von riesigen Skripten sich negativ auf die CCU auswirken würden.

Dieses Skript jedoch hat keine grundsätzliche negative Auswirkung auf die Systemstabilität, im Gegenteil, es kann Diese sogar verbessern.


.
Zuletzt geändert von BadenPower am 21.06.2017, 11:18, insgesamt 15-mal geändert.

BadenPower

Kalender-Script

Beitrag von BadenPower » 03.05.2016, 23:06

.
.

Allgemeine Hinweise

Wichtig:
Es müssen nur die Systemvariabeln auf der CCU angelegt werden, welche man selbst auch benutzen möchte.

Egal was Ihr vorhabt, es müssen keine Änderungen im Skript vorgenommen werden.
-

Verwendete vordefinierte Systemvariabeln:
  • "SYS-Protokoll" ! 0 = Zeichenkette
  • "SYS-Landeskennung" ! 1 = Zeichenkette / Werteliste
  • "SYS-Kalender-Feiertag-TermineZusatz" ! 2 = Zeichenkette / Werteliste
  • "SYS-Kalender-Feiertag-Entfernen" ! 3 = Zeichenkette / Werteliste
  • "IST-Kalender-Feiertag-Heute" ! 4 = Logik / Werteliste
  • "IST-Kalender-Feiertag-Morgen" ! 5 = Logik / Werteliste
  • "IST-Kalender-Feiertag-Gestern" ! 6 = Logik / Werteliste
  • "IST-Kalender-Feiertag-Heute-Auswahl" ! 7 = Werteliste
  • "IST-Kalender-Feiertag-Morgen-Auswahl" ! 8 = Werteliste
  • "IST-Kalender-Feiertag-Gestern-Auswahl" ! 9 = Werteliste
  • "IST-Kalender-Feiertag-Heute-Name" ! 10 = Zeichenkette
  • "IST-Kalender-Feiertag-Morgen-Name" ! 11 = Zeichenkette
  • "IST-Kalender-Feiertag-Gestern-Name" ! 12 = Zeichenkette
  • "SYS-Kalender-Festtag-Termine" ! 13 = Zeichenkette / Werteliste
  • "IST-Kalender-Festtag-Heute" ! 14 = Logik / Werteliste
  • "IST-Kalender-Festtag-Morgen" ! 15 = Logik / Werteliste
  • "IST-Kalender-Festtag-Gestern" ! 16 = Logik / Werteliste
  • "IST-Kalender-Festtag-Heute-Auswahl" ! 17 = Werteliste
  • "IST-Kalender-Festtag-Morgen-Auswahl" ! 18 = Werteliste
  • "IST-Kalender-Festtag-Gestern-Auswahl" ! 19 = Werteliste
  • "IST-Kalender-Festtag-Heute-Name" ! 20 = Zeichenkette
  • "IST-Kalender-Festtag-Morgen-Name" ! 21 = Zeichenkette
  • "IST-Kalender-Festtag-Gestern-Name" ! 22 = Zeichenkette
  • "SYS-Kalender-Brauchtum-Termine" ! 23 = Zeichenkette / Werteliste
  • "IST-Kalender-Brauchtum-Heute" ! 24 = Logik / Werteliste
  • "IST-Kalender-Brauchtum-Morgen" ! 25 = Logik / Werteliste
  • "IST-Kalender-Brauchtum-Gestern" ! 26 = Logik / Werteliste
  • "IST-Kalender-Brauchtum-Heute-Auswahl" ! 27 = Werteliste
  • "IST-Kalender-Brauchtum-Morgen-Auswahl" ! 28 = Werteliste
  • "IST-Kalender-Brauchtum-Gestern-Auswahl" ! 29 = Werteliste
  • "IST-Kalender-Brauchtum-Heute-Name" ! 30 = Zeichenkette
  • "IST-Kalender-Brauchtum-Morgen-Name" ! 31 = Zeichenkette
  • "IST-Kalender-Brauchtum-Gestern-Name" ! 32 = Zeichenkette
  • "SYS-Kalender-Sonstige-Termine" ! 33 = Zeichenkette / Werteliste
  • "IST-Kalender-Sonstige-Heute" ! 34 = Logik / Werteliste
  • "IST-Kalender-Sonstige-Morgen" ! 35 = Logik / Werteliste
  • "IST-Kalender-Sonstige-Gestern" ! 36 = Logik / Werteliste
  • "IST-Kalender-Sonstige-Heute-Auswahl" ! 37 = Werteliste
  • "IST-Kalender-Sonstige-Morgen-Auswahl" ! 38 = Werteliste
  • "IST-Kalender-Sonstige-Gestern-Auswahl" ! 39 = Werteliste
  • "IST-Kalender-Sonstige-Heute-Name" ! 40 = Zeichenkette
  • "IST-Kalender-Sonstige-Morgen-Name" ! 41 = Zeichenkette
  • "IST-Kalender-Sonstige-Gestern-Name" ! 42 = Zeichenkette
  • "IST-Kalender-Sondertag-Heute" ! 43 = Logik / Werteliste
  • "IST-Kalender-Sondertag-Morgen" ! 44 = Logik / Werteliste
  • "IST-Kalender-Sondertag-Gestern" ! 45 = Logik / Werteliste
    .
  • "SYS-Kalender-Abfall-Grau-Termine" ! 46 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Grün-Termine" ! 47 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Gelb-Termine" ! 48 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Braun-Termine" ! 49 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Blau-Termine" ! 50 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Rot-Termine" ! 51 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Glas-Termine" ! 52 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Sondermüll-Termine" ! 53 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Sperrmüll-Termine" ! 54 = Zeichenkette / Werteliste
  • "SYS-Kalender-Abfall-Sonstiges-Termine" ! 55 = Zeichenkette / Werteliste
    .
  • "IST-Kalender-Abfall-Grau-Heute" ! 56 = Logik / Werteliste
  • "IST-Kalender-Abfall-Grau-Morgen" ! 57 = Logik / Werteliste
  • "IST-Kalender-Abfall-Grau-Datum" ! 58 = Zeichenkette
  • "IST-Kalender-Abfall-Grau-Tage" ! 59 = Zahl
  • "IST-Kalender-Abfall-Grün-Heute" ! 60 = Logik / Werteliste
  • "IST-Kalender-Abfall-Grün-Morgen" ! 61 = Logik / Werteliste
  • "IST-Kalender-Abfall-Grün-Datum" ! 62 = Zeichenkette
  • "IST-Kalender-Abfall-Grün-Tage" ! 63 = Zahl
  • "IST-Kalender-Abfall-Gelb-Heute" ! 64 = Logik / Werteliste
  • "IST-Kalender-Abfall-Gelb-Morgen" ! 65 = Logik / Werteliste
  • "IST-Kalender-Abfall-Gelb-Datum" ! 66 = Zeichenkette
  • "IST-Kalender-Abfall-Gelb-Tage" ! 67 = Zahl
  • "IST-Kalender-Abfall-Braun-Heute" ! 68 = Logik / Werteliste
  • "IST-Kalender-Abfall-Braun-Morgen" ! 69 = Logik / Werteliste
  • "IST-Kalender-Abfall-Braun-Datum" ! 70 = Zeichenkette
  • "IST-Kalender-Abfall-Braun-Tage" ! 71 = Zahl
  • "IST-Kalender-Abfall-Blau-Heute" ! 72 = Logik / Werteliste
  • "IST-Kalender-Abfall-Blau-Morgen" ! 73 = Logik / Werteliste
  • "IST-Kalender-Abfall-Blau-Datum" ! 74 = Zeichenkette
  • "IST-Kalender-Abfall-Blau-Tage" ! 75 = Zahl
  • "IST-Kalender-Abfall-Rot-Heute" ! 76 = Logik / Werteliste
  • "IST-Kalender-Abfall-Rot-Morgen" ! 77 = Logik / Werteliste
  • "IST-Kalender-Abfall-Rot-Datum" ! 78 = Zeichenkette
  • "IST-Kalender-Abfall-Rot-Tage" ! 79 = Zahl
  • "IST-Kalender-Abfall-Glas-Heute" ! 80 = Logik / Werteliste
  • "IST-Kalender-Abfall-Glas-Morgen" ! 81 = Logik / Werteliste
  • "IST-Kalender-Abfall-Glas-Datum" ! 82 = Zeichenkette
  • "IST-Kalender-Abfall-Glas-Tage" ! 83 = Zahl
  • "IST-Kalender-Abfall-Sondermüll-Heute" ! 84 = Logik / Werteliste
  • "IST-Kalender-Abfall-Sondermüll-Morgen" ! 85 = Logik / Werteliste
  • "IST-Kalender-Abfall-Sondermüll-Datum" ! 86 = Zeichenkette
  • "IST-Kalender-Abfall-Sondermüll-Tage" ! 87 = Zahl
  • "IST-Kalender-Abfall-Sperrmüll-Heute" ! 88 = Logik / Werteliste
  • "IST-Kalender-Abfall-Sperrmüll-Morgen" ! 89 = Logik / Werteliste
  • "IST-Kalender-Abfall-Sperrmüll-Datum" ! 90 = Zeichenkette
  • "IST-Kalender-Abfall-Sperrmüll-Tage" ! 91 = Zahl
  • "IST-Kalender-Abfall-Sonstiges-Heute" ! 92 = Logik / Werteliste
  • "IST-Kalender-Abfall-Sonstiges-Morgen" ! 93 = Logik / Werteliste
  • "IST-Kalender-Abfall-Sonstiges-Datum" ! 94 = Zeichenkette
  • "IST-Kalender-Abfall-Sonstiges-Tage" ! 95 = Zahl
  • "IST-Kalender-Abfall-Heute" ! 96 = Logik / Werteliste
  • "IST-Kalender-Abfall-Morgen" ! 97 = Logik / Werteliste
    .
  • "IST-Kalender-Wochentag-Auswahl" ! 98 = Werteliste
  • "IST-Kalender-Wochentag-Name" ! 99 = Zeichenkette
  • "IST-Kalender-Wochentag-ZahlBeginnMontag" ! 100 = Zahl
  • "IST-Kalender-Wochentag-ZahlBeginnSonntag" ! 101 = Zahl
  • "IST-Kalender-Monat-Auswahl" ! 102 = Werteliste [unbekannnt;]Januar; ... ;Dezember
  • "IST-Kalender-Monat-Name" ! 103 = Zeichenkette
  • "IST-Kalender-Monat-Zahl" ! 104 = Zahl
  • "IST-Kalender-Monat-Tag" ! 105 = Zahl
  • "IST-Kalender-Jahr" ! 106 = Zahl
  • "IST-Kalender-Jahr-Tag" ! 107 = Zahl
  • "IST-Kalender-Jahr-Woche-ISO8601" ! 108 = Zahl
  • "IST-Kalender-Jahr-Woche-Beginn1Sonntag" ! 109 = Zahl
  • "IST-Kalender-Jahr-Woche-Beginn1Montag" ! 110 = Zahl
  • "IST-Kalender-Jahr-Schaltjahr" ! 111 = Logik / Werteliste
  • "IST-Kalender-Sommerzeit" ! 112 = Logik / Werteliste
    .
  • "SYS-Kalender-Zeitspanne-01" ! 113 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-02" ! 114 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-03" ! 115 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-04" ! 116 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-05" ! 117 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-06" ! 118 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-07" ! 119 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-08" ! 120 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-09" ! 121 = Zeichenkette / Werteliste
  • "SYS-Kalender-Zeitspanne-10" ! 122 = Zeichenkette / Werteliste
    .
  • "IST-Kalender-Zeitspanne-01" ! 123 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-02" ! 124 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-03" ! 125 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-04" ! 126 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-05" ! 127 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-06" ! 128 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-07" ! 129 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-08" ! 130 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-09" ! 131 = Logik / Werteliste
  • "IST-Kalender-Zeitspanne-10" ! 132 = Logik / Werteliste
    .
  • "SYS-Kalender-Urlaub-Termine" ! 133 = Zeichenkette / Werteliste
  • "IST-Kalender-Urlaub" ! 134 = Logik / Werteliste
  • "IST-Kalender-Urlaub-Anwesend" ! 135 = Logik / Werteliste
  • "IST-Kalender-Urlaub-Abwesend" ! 136 = Logik / Werteliste
    .
  • "SYS-Kalender-Ferien-Termine" ! 137 = Zeichenkette / Werteliste
  • "IST-Kalender-Ferien" ! 138 = Logik / Werteliste
  • "IST-Kalender-Ferien-Anwesend" ! 139 = Logik / Werteliste
  • "IST-Kalender-Ferien-Abwesend" ! 140 = Logik / Werteliste
    .
  • zusätzlich ab Version 1.1.0:
    .
  • "IST-Kalender-Sommerzeit-TageBeginn" ! 141 = Zahl
  • "IST-Kalender-Sommerzeit-TageEnde" ! 142 = Zahl
  • "IST-Kalender-Sommerzeit-TageUmstellung" ! 143 = Zahl
  • "IST-Kalender-Sommerzeit-DatumBeginn" ! 144 = Zeichenkette
  • "IST-Kalender-Sommerzeit-DatumEnde" ! 145 = Zeichenkette
  • "IST-Kalender-Sommerzeit-DatumUmstellung" ! 146 = Zeichenkette
    .
  • "IST-Kalender-Jahr-Woche-GeradeISO8601" ! 147 = Zahl
  • "IST-Kalender-Jahr-Woche-GeradeBeginn1Sonntag" ! 148 = Zahl
  • "IST-Kalender-Jahr-Woche-GeradeBeginn1Montag" ! 149 = Zahl
    .
  • "SYS-Kalender-Countdown-01" ! 150 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-02" ! 151 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-03" ! 152 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-04" ! 153 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-05" ! 154 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-06" ! 155 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-07" ! 156 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-08" ! 157 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-09" ! 158 = Zeichenkette / Werteliste
  • "SYS-Kalender-Countdown-10" ! 159 = Zeichenkette / Werteliste
    .
  • "IST-Kalender-Countdown-01" ! 160 = Zahl
  • "IST-Kalender-Countdown-02" ! 161 = Zahl
  • "IST-Kalender-Countdown-03" ! 162 = Zahl
  • "IST-Kalender-Countdown-04" ! 163 = Zahl
  • "IST-Kalender-Countdown-05" ! 164 = Zahl
  • "IST-Kalender-Countdown-06" ! 165 = Zahl
  • "IST-Kalender-Countdown-07" ! 166 = Zahl
  • "IST-Kalender-Countdown-08" ! 167 = Zahl
  • "IST-Kalender-Countdown-09" ! 168 = Zahl
  • "IST-Kalender-Countdown-10" ! 169 = Zahl
SYS- = Variabeln für die benutzerspezifischen Konfigurations-Werte
IST- = Ausgabevariabeln

Bei Bedarf können die Systemvariablen im Skript-Kopf umbenannt werden.

Wird die Systemvariable "SYS-Landeskennung" (Pos. 1) zum Einstellen des Wohnortes nicht verwendet, dann wird der im Skript hinterlegte Wert für die Feiertagsberechnung benutzt.
Auch dieser Wert läßt sich bei Bedarf im Skript-Kopf (Zeile 8) problemlos anpassen.

Code: Alles auswählen

! ----- Beginn variable Einstellungen -----

string lHS1="D-BW";          ! Länderkennung
Die Namen der nicht benötigte Systemvariabeln könnten im Skript-Kopf theoretisch auch in einen Leerstring geändert werden. Bitte nicht die Zeile löschen, sondern nur den Namen selbst, also den Teil zwischen den zwei Anführungszeichen (").
Dies würde die Performace des Skriptes um ein paar Zehntel-Sekunden verbessern, da dann die Variabelüberprüfung für diese Variabeln entfallen würde.


*******************************************
Weitere Hinweise
*******************************************
Das Skript hat im Realbetrieb auf der CCU2, also als Teil eines Programmes, eine Laufzeit von ca. 3-4 Sekunden.

In der Testumgebung der WebUI kann das Skript durchaus bis zu 10 Minuten Laufzeit benötigen.

Der Quellcode des Skriptes ist leider extremst unleserlich.
Dies resultiert aus der Einschränkung der CCU, welche eine maximale Gesamtskriptgröße von 50kB vorgibt. Größere Skripte lassen sich leider nicht in Programmen speichern.
Dadurch litt die Variabelbennenung und die Formatierung des Quellcodes extrem. Es mußte bewußt auf Leerstellen und ordentliche Zeileneinrückungen und Kommentare weitestgehen verzichtet werden.


.
Zuletzt geändert von BadenPower am 17.05.2016, 12:07, insgesamt 8-mal geändert.

BadenPower

Kalender-Script

Beitrag von BadenPower » 03.05.2016, 23:07

.
.

Beschreibung der möglichen Systemvariabeln für den Bereich

Feier- Brauchtum- Festtage

Dieser Bereich umfasst 4 getrennte frei konfigurierbare Listen für die Anzeige von Feier- Brauchtum- Festtage.
Die 1. Liste enthält automatisch die durch die Landeskennung ermittelten Feiertage.
Jedoch lassen sich auch hier per Systemvariable beliebige Tage hinzufügen oder sogar aus der Liste entfernen.
Es sind hierzu keinerlei Änderungen des Skriptes notwendig.

Es stehen nicht nur feste Dati zur Konfiguration zur Verfügung, sondern auch bewegliche Zeitpunkte wie der Ostersonntag, Muttertag, Erntedankfest oder der 1. Advent.
Gleichzeitig können bei bewegliche Zeitpunkten auch Tage dazuaddiert oder subtrahiert werden.
Auch ist die Verwendung des Names eines bestimmten Tages zur Konfiguration möglich.
In den Ausgabel(Werte)listen, welche man für jede Liste und jeweils getrennt für heute/morgen/gestern anlegen kann, kann man frei bestimmen, welche Tage man zur Auswahl bekommt.

In diesm Bereich gibt es so viele Möglichkeiten, dass es fast unmöglich ist alles aufzulisten. Ich werde es dennoch versuchen. Ansonsten einfach fragen.

Hier stehen folgende Konfigurationsvariabeln zur Verfügung:
  • Pos. 1 = "SYS-Landeskennung"
    • hier wird die Landeskennung des eigenen Wohnortes eingetragen, um die entsprechenden Feiertage automatisch zur Liste 1 hinzuzufügen
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten:
      als Zeichenkette Beispiel "Deutschland Bayern": als Werteliste mit einzelnem Wert Beispiel "Deutschland Bayern": als Werteliste mit wählbaren Wert Beispiel "Deutschland-Österreich-Schweiz":

      Code: Alles auswählen

      D;D-BB;D-BE;D-BW;D-BY;D-BY-1;D-BY-A;D-HB;D-HE;D-HH;D-MV;D-NI;D-NW;D-RP;D-SH;D-SL;D-SN;D-SN-1;D-ST;D-TH;D-TH-1;A,A-1;A-B;A-K;A-N;A-O;A-S;A-St;A-T;A-V;A-W;CH;CH-AG;CH-AI;CH-AR;CH-BE;CH-BL;CH-BS;CH-GE;CH-GL;CH-GR;CH-FR;CH-JU;CH-LU;CH-NE;CH-NW;CH-OW;CH-SG;CH-SH;CH-SO;CH-SZ;CH-TI;CH-TG;CH-UR;CH-VD;CH-VS;CH-ZG;CH-ZH
      Vorlagen für die Wertelisten für D, A oder CH weiter unten unter der Rubrik "Landeskennungen"
    • Wird diese Variable angelegt, dann überschreibt sie automatisch die voreingestellte Landeskennung, welche im Skript in Zeile 7 hinterlegt ist.
    • Wird ein leerer oder ein unbekannter Wert in die Variable eingetragen, dann erfolgt keine automatische Feiertagsübernahme in Liste 1.
  • Pos. 2 = "SYS-Kalender-Feiertag-TermineZusatz"
    • hiermit können beliebige vordefinierte Feiertage und/oder sonstige Tage zur Liste der Feiertage (1. Liste) "hinzugefügt" werden
      Somit werden sie bei der Berechnung zusätzlich berücksichtigt.
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten als Zeichenkette oder Werteliste:
      Beispiel 1. hinzufügen von "Tag der Volksabstimmung" per festem Datum

      Code: Alles auswählen

      10.10.
      Beispiel 2. hinzufügen von "Tag der Volksabstimmung" per Name

      Code: Alles auswählen

      Tag der Volksabstimmung
      Beispiel 3. hinzufügen von "Ostersonntag" per variablem Datum Beispiel 4. hinzufügen von "Ostersonntag" per Name

      Code: Alles auswählen

      Ostersonntag
      Beispiel 5. hinzufügen eines eigenen Tages per festem Datum

      Code: Alles auswählen

      29.02.=Mein eigener Feiertag
      Beispiel 6. hinzufügen eines eigenen Tages per variablem Datum

      Code: Alles auswählen

      MT+3=DreiTageNachMuttertag
      Die Listen der im Skript verfügbaren Namen sowie der festen und variablen Dati findet Ihr weiter unten hier in diesem Post unter "Alle im Skript eingepflegten Kalendertage"
      Selbstverständlich können auch meherer Feiertage sowie jeder andere Tag, welche zusätzlich berücksichtig werden sollen, gleichzeitig deklariert werden.

      Code: Alles auswählen

      Muttertag;Ostersonntag
      oder

      Code: Alles auswählen

      Ostersonntag;10.10.;MT+0
      Die Angabe eines Datums kann wie folgt erfolgen:
      • 02.01.
      • OS+0
      • OS+10
      • OS-10
      • MT+0
      • MT+10
      • MT-10
      • ED+0
      • ED+10
      • ED-10
      • AD+0
      • AD+10
      • AD-10
      Die Zahl und das Vorzeichen hinter den beweglichen Tagen bestimmt den Versatz zum jeweiligen Grunddatum.
      So wäre also der Karfreitag "OS-2".
      Die Angabe einer Jahreszahl (z.B 2017) ist hier nicht möglich.
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 3 = "SYS-Kalender-Feiertag-Entfernen"
    • hiermit können beliebige vordefinierte Feiertage aus der Liste der Feiertage (1. Liste) "entfernt" werden
      Somit werden sie bei der Berechnung nicht berücksichtigt.
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten als Zeichenkette oder Werteliste:
      Beispiel 1. entfernen von Neujahr per Datum

      Code: Alles auswählen

      01.01.
      Beispiel 2. entfernen von Neujahr per Name

      Code: Alles auswählen

      Neujahr
      Beispiel 3. entfernen von Karfreitag per variablem Datum Beispiel 4. entfernen von Karfreitag per Name

      Code: Alles auswählen

      Karfreitag
      Die Listen der im Skript verfügbaren Namen sowie der festen und variablen Dati findet Ihr weiter unten hier in diesem Post unter "Alle im Skript eingepflegten Kalendertage"
      Selbstverständlich können auch meherer Feiertage, welche nicht berücksichtigt werden sollen, gleichzeitig deklariert werden.

      Code: Alles auswählen

      Karfreitag;Ostermontag
      oder

      Code: Alles auswählen

      Ostermontag;01.01.;OS-2
      Die Angabe eines Datums kann wie folgt erfolgen:
      • 02.01.
      • OS+0
      • OS+10
      • OS-10
      • MT+0
      • MT+10
      • MT-10
      • ED+0
      • ED+10
      • ED-10
      • AD+0
      • AD+10
      • AD-10
      Die Zahl und das Vorzeichen hinter den beweglichen Tagen bestimmt den Versatz zum jeweiligen Grunddatum.
      So wäre also der Karfreitag "OS-2".
      Die Angabe einer Jahreszahl (z.B 2017) ist hier nicht möglich.
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 13 = "SYS-Kalender-Festtag-Termine"
    • hiermit können beliebige vordefinierte Kalender- Feiertage und/oder sonstige/eigene Tage (Geburtstage) zur 2. Liste (z.B. Festtag) "hinzugefügt" werden
      Somit werden sie bei der Berechnung zusätzlich berücksichtigt.
    • Deklaration und Variable-Typ: siehe Pos. 2 = "SYS-Kalender-Feiertag-TermineZusatz"
  • Pos. 23 = "SYS-Kalender-Brauchtum-Termine"
    • hiermit können beliebige vordefinierte Kalender- Feiertage und/oder sonstige/eigene Tage (Geburtstage) zur 3. Liste (z.B. Brauchtum) "hinzugefügt" werden
      Somit werden sie bei der Berechnung zusätzlich berücksichtigt.
    • Deklaration und Variable-Typ: siehe Pos. 2 = "SYS-Kalender-Feiertag-TermineZusatz"
  • Pos. 33 = "SYS-Kalender-Sonstige-Termine"
    • hiermit können beliebige vordefinierte Kalender- Feiertage und/oder sonstige/eigene Tage (Geburtstage) zur 4. Liste (z.B. Sonstige Termine) "hinzugefügt" werden
      Somit werden sie bei der Berechnung zusätzlich berücksichtigt.
    • Deklaration und Variable-Typ: siehe Pos. 2 = "SYS-Kalender-Feiertag-TermineZusatz"
Hier stehen folgende Ausgabevariabeln zur Verfügung:
  • Pos. 4 = "IST-Kalender-Feiertag-Heute"
    • gibt an, ob das aktuelle Datum mit einem Termin in der 1. Liste (Feiertage) übereinstimmt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 5 = "IST-Kalender-Feiertag-Morgen"
    • gibt an, ob das morgige Datum mit einem Termin in der 1. Liste (Feiertage) übereinstimmt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 6 = "IST-Kalender-Feiertag-Gestern"
    • gibt an, ob das gestrige Datum mit einem Termin in der 1. Liste (Feiertage) übereinstimmt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 7 = "IST-Kalender-Feiertag-Heute-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 1. Liste (Feiertage)
    • Variable-Typ: Werteliste
    • Deklaration der Werteliste:

      Code: Alles auswählen

      keine Auswahl;nicht benannt;Ostermontag;Neujahr
      oder für die, welche einen Initialisierungsabschnitt haben kann die Werteliste auch zusätzlich erweitert werden:

      Code: Alles auswählen

      unbekannt;keine Auswahl;nicht benannt;Ostermontag;Neujahr
      Die beiden folgenden Strings sind im Skript festgelegt (bei Bedarf im Skriptkopf änderbar) und haben folgende Bedeutung:
      "keine Auswahl" = String für Werteliste, wenn kein Tag zutreffend
      "nicht benannt" = String für Werteliste, wenn die Bezeichnung des Tages nicht hinterlegt ist
      Diese beiden müssen nicht zwangsweise in der Werteliste erscheinen, sind jedoch sinnvoll, wenn im Programm auf "Änderung" reagiert werden soll.
    • Man kann alle verfügbaren Namen in die Werteliste einfügen, oder eben nur diejenigen, welche man in Programmen benötigt.
      Diese Werteliste hat keine Auswirkung auf die Auswertung für die Variable in Pos. 4 ("IST-Kalender-Feiertag-Heute"). Diese wird unabhängig davon gesetzt.
  • Pos. 8 = "IST-Kalender-Feiertag-Morgen-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 1. Liste (Feiertage)
    • Variable-Typ: Werteliste
    • Deklaration der Werteliste:

      Code: Alles auswählen

      keine Auswahl;nicht benannt;Ostermontag;Neujahr
      oder für die, welche einen Initialisierungsabschnitt haben kann die Werteliste auch zusätzlich erweitert werden:

      Code: Alles auswählen

      unbekannt;keine Auswahl;nicht benannt;Ostermontag;Neujahr
      Die beiden folgenden Strings sind im Skript festgelegt (bei Bedarf im Skriptkopf änderbar) und haben folgende Bedeutung:
      "keine Auswahl" = String für Werteliste, wenn kein Tag zutreffend
      "nicht benannt" = String für Werteliste, wenn die Bezeichnung des Tages nicht hinterlegt ist
      Diese beiden müssen nicht zwangsweise in der Werteliste erscheinen, sind jedoch sinnvoll, wenn im Programm auf "Änderung" reagiert werden soll.
    • Man kann alle verfügbaren Namen in die Werteliste einfügen, oder eben nur diejenigen, welche man in Programmen benötigt.
      Diese Werteliste hat keine Auswirkung auf die Auswertung für die Variable in Pos. 5 ("IST-Kalender-Feiertag-Morgen"). Diese wird unabhängig davon gesetzt.
  • Pos. 9 = "IST-Kalender-Feiertag-Gestern-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 1. Liste (Feiertage)
    • Variable-Typ: Werteliste
    • Deklaration der Werteliste:

      Code: Alles auswählen

      keine Auswahl;nicht benannt;Ostermontag;Neujahr
      oder für die, welche einen Initialisierungsabschnitt haben kann die Werteliste auch zusätzlich erweitert werden:

      Code: Alles auswählen

      unbekannt;keine Auswahl;nicht benannt;Ostermontag;Neujahr
      Die beiden folgenden Strings sind im Skript festgelegt (bei Bedarf im Skriptkopf änderbar) und haben folgende Bedeutung:
      "keine Auswahl" = String für Werteliste, wenn kein Tag zutreffend
      "nicht benannt" = String für Werteliste, wenn die Bezeichnung des Tages nicht hinterlegt ist
      Diese beiden müssen nicht zwangsweise in der Werteliste erscheinen, sind jedoch sinnvoll, wenn im Programm auf "Änderung" reagiert werden soll.
    • Man kann alle verfügbaren Namen in die Werteliste einfügen, oder eben nur diejenigen, welche man in Programmen benötigt.
      Diese Werteliste hat keine Auswirkung auf die Auswertung für die Variable in Pos. 6 ("IST-Kalender-Feiertag-Gestern"). Diese wird unabhängig davon gesetzt.
  • Pos. 10 = "IST-Kalender-Feiertag-Heute-Name"
    • gibt den Namen des heutigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Variable-Typ: Zeichenkette
  • Pos. 11 = "IST-Kalender-Feiertag-Morgen-Name"
    • gibt den Namen des morgigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Variable-Typ: Zeichenkette
  • Pos. 12 = "IST-Kalender-Feiertag-Gestern-Name"
    • gibt den Namen des gestrigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Variable-Typ: Zeichenkette
  • Pos. 14 = "IST-Kalender-Festtag-Heute"
    • gibt an, ob das aktuelle Datum mit einem Termin in der 2. Liste (z.B. Festage) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 4 = "IST-Kalender-Feiertag-Heute"
  • Pos. 15 = "IST-Kalender-Festtag-Morgen"
    • gibt an, ob das morgige Datum mit einem Termin in der 2. Liste (z.B. Festage) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 5 = "IST-Kalender-Feiertag-Morgen"
  • Pos. 16 = "IST-Kalender-Festtag-Gestern"
    • gibt an, ob das gestrige Datum mit einem Termin in der 2. Liste (z.B. Festage) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 6 = "IST-Kalender-Feiertag-Gestern"
  • Pos. 17 = "IST-Kalender-Festtag-Heute-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 2. Liste (z.B. Festage)
    • Deklaration Variable-Typ: siehe Pos. 7 = "IST-Kalender-Feiertag-Heute-Auswahl"
  • Pos. 18 = "IST-Kalender-Festtag-Morgen-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 2. Liste (z.B. Festage)
    • Deklaration Variable-Typ: siehe Pos. 8 = "IST-Kalender-Feiertag-Morgen-Auswahl"
  • Pos. 19 = "IST-Kalender-Festtag-Gestern-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 2. Liste (z.B. Festtage)
    • Deklaration Variable-Typ: siehe Pos. 9 = "IST-Kalender-Feiertag-Gestern-Auswahl"
  • Pos. 20 = "IST-Kalender-Festtag-Heute-Name"
    • gibt den Namen des heutigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 10 = "IST-Kalender-Feiertag-Heute-Name"
  • Pos. 21 = "IST-Kalender-Festtag-Morgen-Name"
    • gibt den Namen des morgigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 11 = "IST-Kalender-Feiertag-Morgen-Name"
  • Pos. 22 = "IST-Kalender-Festtag-Gestern-Name"
    • gibt den Namen des gestrigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 12 = "IST-Kalender-Feiertag-Gestern-Name"
  • Pos. 24 = "IST-Kalender-Brauchtum-Heute"
    • gibt an, ob das aktuelle Datum mit einem Termin in der 3. Liste (z.B. Brauchtum) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 4 = "IST-Kalender-Feiertag-Heute"
  • Pos. 25 = "IST-Kalender-Brauchtum-Morgen"
    • gibt an, ob das morgige Datum mit einem Termin in der 3. Liste (z.B. Brauchtum) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 5 = "IST-Kalender-Feiertag-Morgen"
  • Pos. 26 = "IST-Kalender-Brauchtum-Gestern"
    • gibt an, ob das gestrige Datum mit einem Termin in der 3. Liste (z.B. Brauchtum) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 6 = "IST-Kalender-Feiertag-Gestern"
  • Pos. 27 = "IST-Kalender-Brauchtum-Heute-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 3. Liste (z.B. Brauchtum)
    • Deklaration Variable-Typ: siehe Pos. 7 = "IST-Kalender-Feiertag-Heute-Auswahl"
  • Pos. 28 = "IST-Kalender-Brauchtum-Morgen-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 3. Liste (z.B. Brauchtum)
    • Deklaration Variable-Typ: siehe Pos. 8 = "IST-Kalender-Feiertag-Morgen-Auswahl"
  • Pos. 29 = "IST-Kalender-Brauchtum-Gestern-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 3. Liste (z.B. Brauchtum)
    • Deklaration Variable-Typ: siehe Pos. 9 = "IST-Kalender-Feiertag-Gestern-Auswahl"
  • Pos. 30 = "IST-Kalender-Brauchtum-Heute-Name"
    • gibt den Namen des heutigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 10 = "IST-Kalender-Feiertag-Heute-Name"
  • Pos. 31 = "IST-Kalender-Brauchtum-Morgen-Name"
    • gibt den Namen des morgigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 11 = "IST-Kalender-Feiertag-Morgen-Name"
  • Pos. 32 = "IST-Kalender-Brauchtum-Gestern-Name"
    • gibt den Namen des gestrigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 12 = "IST-Kalender-Feiertag-Gestern-Name"
  • Pos. 34 = "IST-Kalender-Sonstige-Heute"
    • gibt an, ob das aktuelle Datum mit einem Termin in der 4. Liste (z.B. laßt Euch etwas einfallen) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 4 = "IST-Kalender-Feiertag-Heute"
  • Pos. 35 = "IST-Kalender-Sonstige-Morgen"
    • gibt an, ob das morgige Datum mit einem Termin in der 4. Liste (z.B. laßt Euch etwas einfallen) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 5 = "IST-Kalender-Feiertag-Morgen"
  • Pos. 36 = "IST-Kalender-Sonstige-Gestern"
    • gibt an, ob das gestrige Datum mit einem Termin in der 4. Liste (z.B. laßt Euch etwas einfallen) übereinstimmt
    • Deklaration Variable-Typ: siehe Pos. 6 = "IST-Kalender-Feiertag-Gestern"
  • Pos. 37 = "IST-Kalender-Sonstige-Heute-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 4. Liste (z.B. laßt Euch etwas einfallen)
    • Deklaration Variable-Typ: siehe Pos. 7 = "IST-Kalender-Feiertag-Heute-Auswahl"
  • Pos. 38 = "IST-Kalender-Sonstige-Morgen-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 4. Liste (z.B. laßt Euch etwas einfallen)
    • Deklaration Variable-Typ: siehe Pos. 8 = "IST-Kalender-Feiertag-Morgen-Auswahl"
  • Pos. 39 = "IST-Kalender-Sonstige-Gestern-Auswahl"
    • ermöglicht die gezielte Auswahl einzelner Tage in Programmen für 4. Liste (z.B. laßt Euch etwas einfallen)
    • Deklaration Variable-Typ: siehe Pos. 9 = "IST-Kalender-Feiertag-Gestern-Auswahl"
  • Pos. 40 = "IST-Kalender-Sonstige-Heute-Name"
    • gibt den Namen des heutigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 10 = "IST-Kalender-Feiertag-Heute-Name"
  • Pos. 41 = "IST-Kalender-Sonstige-Morgen-Name"
    • gibt den Namen des morgigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 11 = "IST-Kalender-Feiertag-Morgen-Name"
  • Pos. 42 = "IST-Kalender-Sonstige-Gestern-Name"
    • gibt den Namen des gestrigen übereinstimmenden Tages an (je nach Land/Bundesland/Kanton oder eigene Eingaben)
      Ist kein übereinstimmender Tag vorhanden, dann ist die Zeichenkette leer.
    • Deklaration Variable-Typ: siehe Pos. 12 = "IST-Kalender-Feiertag-Gestern-Name"
  • Pos. 43 = "IST-Kalender-Sondertag-Heute"
    • gibt global an, ob das aktuelle Datum mit einem Termin in einer der 4 Listen übereinstimmt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 44 = "IST-Kalender-Sondertag-Morgen"
    • gibt global an, ob das morgige Datum mit einem Termin in einer der 4 Listen übereinstimmt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 45 = "IST-Kalender-Sondertag-Gestern"
    • gibt global an, ob das gestrige Datum mit einem Termin in einer der 4 Listen übereinstimmt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.



*******************************************
Landeskennungen
*******************************************
  • Werteliste D-A-CH für "SYS-Landeskennung":

    Code: Alles auswählen

    D;D-BB;D-BE;D-BW;D-BY;D-BY-1;D-BY-A;D-HB;D-HE;D-HH;D-MV;D-NI;D-NW;D-RP;D-SH;D-SL;D-SN;D-SN-1;D-ST;D-TH;D-TH-1;A,A-1;A-B;A-K;A-N;A-O;A-S;A-St;A-T;A-V;A-W;CH;CH-AG;CH-AI;CH-AR;CH-BE;CH-BL;CH-BS;CH-GE;CH-GL;CH-GR;CH-FR;CH-JU;CH-LU;CH-NE;CH-NW;CH-OW;CH-SG;CH-SH;CH-SO;CH-SZ;CH-TI;CH-TG;CH-UR;CH-VD;CH-VS;CH-ZG;CH-ZH
  • Deutschland
    • D = Deutschland (nur bundesweit)
      • D-BB = Brandenburg
      • D-BE = Berlin
      • D-BW = Baden-Württemberg
      • D-BY = Bayern
        • D-BY-A = Augsburg
        • D-BY-1 = Bayern mit Zusatzfeiertag "Mariä Himmelfahrt"
      • D-HB = Bremen
      • D-HH = Hamburg
      • D-HE = Hessen
      • D-MV = Mecklenburg-Vorpommern
      • D-NI = Niedersachsen
      • D-NW = Nordrhein-Westfalen
      • D-RP = Rheinland-Pfalz
      • D-SL = Saarland
      • D-SN = Sachsen
        • D-SN-1 = Sachsen mit Zusatzfeiertag "Fronleichnam"
      • D-ST = Sachsen-Anhalt
      • D-SH = Schleswig-Holstein
      • D-TH = Thüringen
        • D-TH-1 = Thüringen mit Zusatzfeiertag "Fronleichnam"
    • Werteliste D für "SYS-Landeskennung":

      Code: Alles auswählen

      D;D-BB;D-BE;D-BW;D-BY;D-BY-1;D-BY-A;D-HB;D-HE;D-HH;D-MV;D-NI;D-NW;D-RP;D-SH;D-SL;D-SN;D-SN-1;D-ST;D-TH;D-TH-1
  • Österreich
    • A = Österreich (nur bundesweit)
    • A-1 = Österreich (nur bundesweit inkl. Karfreitag)
      • A-B = Burgenland
      • A-K = Kärnten
      • A-N = Niederösterreich
      • A-O = Oberösterreich
      • A-S = Salzburg
      • A-St = Steiermark
      • A-T = Tirol
      • A-V = Vorarlberg
      • A-W = Wien
    • Werteliste A für "SYS-Landeskennung":

      Code: Alles auswählen

      A,A-1;A-B;A-K;A-N;A-O;A-S;A-St;A-T;A-V;A-W
  • Schweiz
    • CH = Schweiz (nur bundesweit)
      • CH-AG = Aargau
      • CH-AI = Appenzell Innerrhoden
      • CH-AR = Appenzell Ausserrhoden
      • CH-BE = Bern
      • CH-BL = Basel-Landschaft
      • CH-BS = Basel-Stadt
      • CH-FR = Freiburg
      • CH-GE = Genf
      • CH-GL = Glarus
      • CH-GR = Graubünden
      • CH-JU = Jura
      • CH-LU = Luzern
      • CH-NE = Neuenburg
      • CH-NW = Nidwalden
      • CH-OW = Obwalden
      • CH-SG = Sankt Gallen
      • CH-SH = Schaffhausen
      • CH-SO = Solothurn
      • CH-SZ = Schwyz
      • CH-TG = Thurgau
      • CH-TI = Tessin
      • CH-UR = Uri
      • CH-VD = Waadt
      • CH-VS = Wallis
      • CH-ZG = Zug
      • CH-ZH = Zürich
    • Werteliste CH für "SYS-Landeskennung":

      Code: Alles auswählen

      CH;CH-AG;CH-AI;CH-AR;CH-BE;CH-BL;CH-BS;CH-GE;CH-GL;CH-GR;CH-FR;CH-JU;CH-LU;CH-NE;CH-NW;CH-OW;CH-SG;CH-SH;CH-SO;CH-SZ;CH-TI;CH-TG;CH-UR;CH-VD;CH-VS;CH-ZG;CH-ZH

*******************************************
Feiertage
*******************************************
  • Deutschland:
    • bundesweit
      • 01.01. Neujahr (BW,BY), Neujahrstag (BB,BE,HB,HE,HH,MV,NI,NW,RP,SH,SL,SN,ST,TH)
      • 01.05. Erster Mai (BW,BB,BE,HB,HE,HH,MV,NI,NW,RP,SH,SL,ST,TH), Tag der Arbeit (BY,SN)
      • 03.10. Tag der deutschen Einheit
      • 25.12. 1. Weihnachtstag (HB,HE,HH,MV,NI,NW,RP,SH,SL,SN), Erster Weihnachtstag (BW,BY,BE), 1. Weihnachtsfeiertag (BB,ST), Erster Weihnachtsfeiertag (TH)
      • 26.12. 2. Weihnachtstag (HB,HE,HH,MV,NI,NW,RP,SH,SL,SN), Zweiter Weihnachtstag (BW,BY,BE), 2. Weihnachtsfeiertag (BB,ST), Zweiter Weihnachtsfeiertag (TH)
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+39 Christi Himmelfahrt (BW,BY,RP,SL,SN,ST,TH), Christi Himmelfahrtstag (BB), Christi-Himmelfahrtstag (MV), Christi-Himmelfahrts-Tag (NW), Himmelfahrtstag (BE,HB,HE,HH,NI,SH)
      • OS+50 Pfingstmontag
    • Baden-Württemberg (D-BW)
      • 06.01. Erscheinungsfest
      • 01.11. Allerheiligen
      • OS+60 Fronleichnam
    • Bayern (D-BY)
      • 06.01. Heilige Drei Könige
      • 01.11. Allerheiligen
      • OS+60 Fronleichnam
        .
      • Bayern Augsburg (D-BY-A)
        • 08.08. Augsburger Hohe Friedensfest,Augsburger Friedensfest
        • 15.08. Mariä Himmelfahrt
      • Bayern (D-BY-1) in 1704 Gemeinden
        • 15.08. Mariä Himmelfahrt
    • Berlin (D-BE)
      .
    • Brandenburg (D-BB)
      • 31.10. Reformationsfest
      • OS Ostersonntag
      • OS+49 Pfingstsonntag
    • Bremen (D-HB)
      .
    • Hamburg (D-HH)
      .
    • Hessen (D-HE)
      • OS+60 Fronleichnamstag
    • Mecklenburg-Vorpommern (D-MV)
      • 31.10. Reformationstag
    • Niedersachsen (D-NI)
      .
    • Nordrhein-Westfalen (D-NW)
      • 01.11. Allerheiligentag
      • OS+60 Fronleichnamstag
    • Rheinland-Pfalz (D-RP)
      • 01.11. Allerheiligentag
      • OS+60 Fronleichnamstag
    • Saarland (D-SL)
      • 15.08. Maria Himmelsfahrtstag
      • 01.11. Allerheiligentag
      • OS+60 Fronleichnamstag
    • Sachsen (D-SN)
      • 31.10. Reformationsfest
      • AD-11 Buß- und Bettag
        .
      • Sachsen (D-SN-1)
        • OS+60 Fronleichnam
    • Sachsen-Anhalt (D-ST)
      • 06.01. Heilige Drei Könige
      • 31.10. Reformationstag
    • Baden-Württemberg (D-BW)
      .
    • Thüringen (D-TH)
      • 31.10. Reformationstag
        .
      • Thüringen (D-TH-1)
        • OS+60 Fronleichnam
  • Österreich:
    • bundesweit (A)
      • 01.01. Neujahr
      • 06.01. Heilige Drei Könige
      • 01.05. Staatsfeiertag
      • 15.08. Mariä Himmelfahrt
      • 26.10. Nationalfeiertag
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 25.12. Christtag
      • 26.12. Stefanitag
      • OS+1 Ostermontag
      • OS+39 Christi Himmelfahrt
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • bundesweit mit Zusatz (A-1)
      • OS-2 Karfreitag
    • liebe Österreicher,
      Euer Feiertagssystem in den einzelnen Budesländern ist, mit Verlaub, sehr chaotisch und dadurch sehr schlecht pauschal abzudecken. Da gibt es Feiertage, welche aber nur schulfrei sind und andere, welche nur gelten wenn man einer bestimmten Religion angehört oder andere welche durch einen Kollektivvertrag geregelt sind. Und Feiertage, die vielleicht ein Feiertag sein könnten, aber es dann doch nicht sind.
      .
      Schaut bitte in der Liste der vordefinierten Feiertage nach und ergänzt diese bei Bedarf durch Anlegen und Befüllen der Systemvariable "SYS-Kalender-Feiertag-TermineZusatz" (Pos. 2).
      .
      Wenn es jedoch einen Tag gibt, welcher in einem Bundesland auf alle Fälle definitv immer ein Feiertag ist, dann bitte gebt Bescheid, damit ich diesen dem entsprechenden Bundesland im Skript zuordnen kann.
  • Schweiz:
    • bundesweit (CH)
      • 01.01. Neujahrstag
      • 01.08. Bundesfeier
      • 25.12. Weihnachtstag
      • OS+39 Auffahrt
    • Aargau (CH-AG)
      • OS-2 Karfreitag
    • Appenzell Innerrhoden (CH-AI)
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Appenzell Ausserrhoden (CH-AR)
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Basel-Landschaft (CH-BL)
      • 01.05. Tag der Arbeit
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Basel-Stadt (CH-BS)
      • 01.05. Tag der Arbeit
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Bern (CH-BE)
      • 02.01. Berchtoldstag
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Freiburg (CH-FR)
      • 02.01. Berchtoldstag
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Genf (CH-GE)
      • 02.01. Berchtoldstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Glarus (CH-GL)
      • 02.01. Berchtoldstag
      • 01.11. Allerheiligen
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Graubünden (CH-GR)
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Jura (CH-JU)
      • 02.01. Berchtoldstag
      • 01.05. Tag der Arbeit
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Luzern (CH-LU)
      • 02.01. Berchtoldstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Neuenburg (CH-NE)
      • 01.05. Tag der Arbeit
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Nidwalden (CH-NW)
      • 19.03. Josefstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Obwalden (CH-OW)
      • 02.01. Berchtoldstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Sankt Gallen (CH-SG)
      • 01.11. Allerheiligen
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Schaffhausen (CH-SH)
      • 02.01. Berchtoldstag
      • 01.05. Tag der Arbeit
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Solothurn (CH-SO)
      • 02.01. Berchtoldstag
      • OS-2 Karfreitag
    • Schwyz (CH-SZ)
      • 06.01. Heilige Drei Könige
      • 19.03. Josefstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Tessin (CH-TI)
      • 06.01. Heilige Drei Könige
      • 19.03. Josefstag
      • 01.05. Tag der Arbeit
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 26.12. Stefanstag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Thurgau (CH-TG)
      • 02.01. Berchtoldstag
      • 01.05. Tag der Arbeit
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Uri (CH-UR)
      • 06.01. Heilige Drei Könige
      • 19.03. Josefstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Waadt (CH-VD)
      • 02.01. Berchtoldstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
    • Wallis (CH-VS)
      • 19.03. Josefstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • OS+60 Fronleichnam
    • Zug (CH-ZG)
      • 02.01. Berchtoldstag
      • 15.08. Mariä Himmelfahrt
      • 01.11. Allerheiligen
      • 08.12. Mariä Empfängnis
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag
      • OS+60 Fronleichnam
    • Zürich (CH-ZH)
      • 02.01. Berchtoldstag
      • 01.05. Tag der Arbeit
      • 26.12. Stefanstag
      • OS-2 Karfreitag
      • OS+1 Ostermontag
      • OS+50 Pfingstmontag

*******************************************
Alle im Skript eingepflegten Kalendertage
*******************************************
  • feste Tage:
    • 01.01. "Neujahr" "Neujahrstag"
    • 02.01. "Berchtoldstag"
    • 06.01. "Heilige Drei Könige" "Erscheinungsfest"
    • 14.02. "Valentinstag";
    • 19.03. "Josefstag"
    • 01.05. "Erster Mai" "Tag der Arbeit" "Maifeiertag" "Staatsfeiertag"
    • 04.05. "Florian";
    • 24.06. "Johannistag"
    • 01.08. "Bundesfeier"
    • 08.08. "Augsburger Hohe Friedensfest" "Augsburger Friedensfest"
    • 15.08. "Mariä Himmelfahrt" "Maria Himmelsfahrtstag"
    • 24.09. "Rupert" "Rupertikirtag"
    • 29.09. "Michaelistag"
    • 03.10. "Tag der deutschen Einheit"
    • 10.10. "Tag der Volksabstimmung"
    • 26.10. "Nationalfeiertag"
    • 31.10. "Reformationstag" "Reformationsfest" "Halloween";
    • 01.11. "Allerheiligen" "Allerheiligentag";
    • 02.11. "Allerseelen" "Seelentag"
    • 11.11. "Martinstag" "Sankt Martin"
    • 15.11. "Leopold"
    • 06.12. "Nikolaus" "Nikolaustag"
    • 08.12. "Mariä Empfängnis"
    • 24.12. "Heilig Abend" "Heiliger Abend"
    • 25.12. "1. Weihnachtstag" "Erster Weihnachtstag" "1. Weihnachtsfeiertag" "Erster Weihnachtsfeiertag" "Christtag" "Weihnachtstag" "Weihnachten"
    • 26.12. "2. Weihnachtstag" "Zweiter Weihnachtstag" "2. Weihnachtsfeiertag" "Zweiter Weihnachtsfeiertag" "Stefanitag" "Stefanstag"
    • 31.12. "Sylvester";
  • bewegliche Tage:
    • ---- OS = Ostersonntag, AD = 1. Advent, MT = Muttertag, ED = Erntedankfest
    • OS-52 "Weiberfastnacht"
    • OS-49 "Faschingssonntag"
    • OS-48 "Rosenmontag"
    • OS-47 "Faschingsdienstag"
    • OS-46 "Aschermittwoch"
    • OS-7 "Palmsonntag"
    • OS-3 "Gründonnerstag"
    • OS-2 "Karfreitag"
    • OS-1 "Ostersamstag" "Karsamstag"
    • OS "Ostersonntag"
    • OS+1 "Ostermontag"
    • OS+39 "Christi Himmelfahrt" "Christi Himmelfahrtstag" "Christi-Himmelfahrtstag" "Christi-Himmelfahrts-Tag" "Himmelfahrtstag" "Auffahrt" "Vatertag"
    • OS+49 "Pfingstsonntag"
    • OS+50 "Pfingstmontag"
    • OS+56 "Dreieinigkeit" "Trinitatis"
    • OS+60 "Fronleichnam" "Fronleichnamstag"
    • OS+68 "Herz-Jesu-Freitag"
    • AD-14 "Volkstrauertag"
    • AD-11 "Buß- und Bettag"
    • AD-7 "Totensonntag" "Ewigkeitssonntag"
    • AD "1. Advent"
    • AD+7 "2. Advent"
    • AD+14 "3. Advent"
    • AD+21 "4. Advent"
    • MT "Muttertag"
    • ED "Erntedankfest"


.
Zuletzt geändert von BadenPower am 05.05.2016, 17:58, insgesamt 24-mal geändert.

BadenPower

Kalender-Script

Beitrag von BadenPower » 03.05.2016, 23:08

.
.

Beschreibung der möglichen Systemvariabeln für den Bereich

Abfall-Kalender

Es können bis zu 10 Müllsorten verwendet weden.
Für jede Müllsorte kann man sich einzeln anzeigen lassen, ob
  • heute ist Leerung der entsprechenden Müllsorte
  • morgen ist Leerung der entsprechenden Müllsorte
  • vieviel Tage bis die nächste Leerung der entsprechenden Müllsorte ist
  • das Datum der nächsten Leerung der entsprechenden Müllsorte
Gleichzeitig stehen noch zwei globale Variabeln zur Verfügung, welche anzeigen, ob in einer der angelegten Müllsorten eine Leerung ansteht.
  • heute ist eine Leerung irgendeiner Müllsorte
  • morgen ist eine Leerung irgendeiner Müllsorte

Hier stehen folgende Konfigurationsvariabeln zur Verfügung:
  • Pos. 46 = "SYS-Kalender-Abfall-Grau-Termine"
    • hier werden die Termine der Leerungen der 1. Müllsorte eingetragen
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten als Zeichenkette oder Werteliste:
      Beispiel:

      Code: Alles auswählen

      02.01.;16.01.;30.01.;
      die Angabe des entsprechenden Datums kann wie folgt erfolgen:
      • 02.01.
      • 02.01.16
      • 02.01.2016
      Läßt man die Jahreszahl bei der Einggabe weg, dann wird automatisch das aktuelle Jahr angenommen.
      Auch die gemischte Angabe ist möglich:

      Code: Alles auswählen

      02.01.;16.01.2016;30.01.16;
      die Reihenfolge der einzelnen Dati ist variable, sie muss also nicht der tatsächlichen Reihenfolge entsprechen:

      Code: Alles auswählen

      16.01.;30.01.16;02.01.
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 47 = "SYS-Kalender-Abfall-Grün-Termine"
    • hier werden die Termine der Leerungen der 2. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 48 = "SYS-Kalender-Abfall-Gelb-Termine"
    • hier werden die Termine der Leerungen der 3. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 49 = "SYS-Kalender-Abfall-Braun-Termine"
    • hier werden die Termine der Leerungen der 4. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 50 = "SYS-Kalender-Abfall-Blau-Termine"
    • hier werden die Termine der Leerungen der 5. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 51 = "SYS-Kalender-Abfall-Rot-Termine"
    • hier werden die Termine der Leerungen der 6. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 52 = "SYS-Kalender-Abfall-Glas-Termine"
    • hier werden die Termine der Leerungen der 7. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 53 = "SYS-Kalender-Abfall-Sondermüll-Termine"
    • hier werden die Termine der Leerungen der 8. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 54 = "SYS-Kalender-Abfall-Sperrmüll-Termine"
    • hier werden die Termine der Leerungen der 9. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 55 = "SYS-Kalender-Abfall-Sonstiges-Termine"
    • hier werden die Termine der Leerungen der 10. Müllsorte eingetragen
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
Hier stehen folgende Ausgabevariabeln zur Verfügung:
  • Pos. 56 = "IST-Kalender-Abfall-Grau-Heute"
    • gibt an, ob heute eine Leerung der 1. Müllsorte ist
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 57 = "IST-Kalender-Abfall-Grau-Morgen"
    • gibt an, ob morgen eine Leerung der 1. Müllsorte ist
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 58 = "IST-Kalender-Abfall-Grau-Datum"
    • zeigt das Datum der nächsten Leerung der 1. Müllsorte an
    • Variable-Typ: Zeichenkette
    • steht keine Leerung an, dann ist die Zeichenkette leer
  • Pos. 59 = "IST-Kalender-Abfall-Grau-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 1. Müllsorte ist
    • Variable-Typ: Zahl
    • Deklaration:

      Code: Alles auswählen

      0-65000
      steht keine Leerung an, dann wird die höchste Zahl angezeigt
  • Pos. 60 = "IST-Kalender-Abfall-Grün-Heute"
    • gibt an, ob heute eine Leerung der 2. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 61 = "IST-Kalender-Abfall-Grün-Morgen"
    • gibt an, ob morgen eine Leerung der 2. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 62 = "IST-Kalender-Abfall-Grün-Datum"
    • zeigt das Datum der nächsten Leerung der 2. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 63 = "IST-Kalender-Abfall-Grün-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 2. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 64 = "IST-Kalender-Abfall-Gelb-Heute"
    • gibt an, ob heute eine Leerung der 3. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 65 = "IST-Kalender-Abfall-Gelb-Morgen"
    • gibt an, ob morgen eine Leerung der 3. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 66 = "IST-Kalender-Abfall-Gelb-Datum"
    • zeigt das Datum der nächsten Leerung der 3. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 67 = "IST-Kalender-Abfall-Gelb-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 3. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 68 = "IST-Kalender-Abfall-Braun-Heute"
    • gibt an, ob heute eine Leerung der 4. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 69 = "IST-Kalender-Abfall-Braun-Morgen"
    • gibt an, ob morgen eine Leerung der 4. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 70 = "IST-Kalender-Abfall-Braun-Datum"
    • zeigt das Datum der nächsten Leerung der 4. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 71 = "IST-Kalender-Abfall-Braun-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 4. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 72 = "IST-Kalender-Abfall-Blau-Heute"
    • gibt an, ob heute eine Leerung der 5. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 73 = "IST-Kalender-Abfall-Blau-Morgen"
    • gibt an, ob morgen eine Leerung der 5. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 74 = "IST-Kalender-Abfall-Blau-Datum"
    • zeigt das Datum der nächsten Leerung der 1. Müllsorte an
    • Deklaration und Variable-Typ: siehe 5. Müllsorte
  • Pos. 75 = "IST-Kalender-Abfall-Blau-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 5. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 76 = "IST-Kalender-Abfall-Rot-Heute"
    • gibt an, ob heute eine Leerung der 6. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 77 = "IST-Kalender-Abfall-Rot-Morgen"
    • gibt an, ob morgen eine Leerung der 6. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 78 = "IST-Kalender-Abfall-Rot-Datum"
    • zeigt das Datum der nächsten Leerung der 6. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 79 = "IST-Kalender-Abfall-Rot-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 6. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 80 = "IST-Kalender-Abfall-Glas-Heute"
    • gibt an, ob heute eine Leerung der 7. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 81 = "IST-Kalender-Abfall-Glas-Morgen"
    • gibt an, ob morgen eine Leerung der 7. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 82 = "IST-Kalender-Abfall-Glas-Datum"
    • zeigt das Datum der nächsten Leerung der 1. Müllsorte an
    • Deklaration und Variable-Typ: siehe 7. Müllsorte
  • Pos. 83 = "IST-Kalender-Abfall-Glas-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 7. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 84 = "IST-Kalender-Abfall-Sondermüll-Heute"
    • gibt an, ob heute eine Leerung der 8. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 85 = "IST-Kalender-Abfall-Sondermüll-Morgen"
    • gibt an, ob morgen eine Leerung der 8. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 86 = "IST-Kalender-Abfall-Sondermüll-Datum"
    • zeigt das Datum der nächsten Leerung der 8. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 87 = "IST-Kalender-Abfall-Sondermüll-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 8. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 88 = "IST-Kalender-Abfall-Sperrmüll-Heute"
    • gibt an, ob heute eine Leerung der 9. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 89 = "IST-Kalender-Abfall-Sperrmüll-Morgen"
    • gibt an, ob morgen eine Leerung der 9. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 90 = "IST-Kalender-Abfall-Sperrmüll-Datum"
    • zeigt das Datum der nächsten Leerung der 9. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 91 = "IST-Kalender-Abfall-Sperrmüll-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 9. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 92 = "IST-Kalender-Abfall-Sonstiges-Heute"
    • gibt an, ob heute eine Leerung der 10. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 93 = "IST-Kalender-Abfall-Sonstiges-Morgen"
    • gibt an, ob morgen eine Leerung der 10. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 94 = "IST-Kalender-Abfall-Sonstiges-Datum"
    • zeigt das Datum der nächsten Leerung der 10. Müllsorte an
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 95 = "IST-Kalender-Abfall-Sonstiges-Tage"
    • zeigt an, in wieviel Tagen die nächste Leerung der 10. Müllsorte ist
    • Deklaration und Variable-Typ: siehe 1. Müllsorte
  • Pos. 96 = "IST-Kalender-Abfall-Heute"
    • gibt an, ob heute irgendeine Leerung der verwendeten Müllsorten ist
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 97 = "IST-Kalender-Abfall-Morgen"
    • gibt an, ob morgen irgendeine Leerung der verwendeten Müllsorten ist
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.


*****************************************************************
Selbstverständlich können die Variablen für andere Zwecke, welche nichts mit Abfall zu tun haben "mißbraucht" werden.
Zuletzt geändert von BadenPower am 04.05.2016, 16:21, insgesamt 7-mal geändert.

BadenPower

Kalender-Script

Beitrag von BadenPower » 03.05.2016, 23:08

.
.

Beschreibung der möglichen Systemvariabeln für den Bereich

Zeitspannen

Ideal für die Gartenbewässerung im Sommer oder für die Weihnachtsbeleuchtung.
Es stehen insgesamt 10 getrennt auswertbare Listen zur Verfügung, welche jeweils ein oder mehrere Zeitspannen oder auch einzelne Tage beinhalten können.
Es stehen nicht nur feste Dati zu Konfiguration zur Verfügung, sondern auch bewegliche Zeitpunkte wie der Ostersonntag, Muttertag, Erntedankfest oder der 1. Advent.
Gleichzeitig können bei bewegliche Zeitpunkten auch Tage dazuaddiert oder subtrahiert werden.
So ist es zum Beispiel möcglich eine Zeitabschitt "1.Advent bis 10.01." zu definieren.
Der 2. Advent wäre dann "AD+7".

Hier stehen folgende Konfigurationsvariabeln zur Verfügung:
  • Pos. 113 = "SYS-Kalender-Zeitspanne-01"
    • hier werden die Zeitspannen und/oder Tage für die 1. Liste eingetragen
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten als Zeichenkette oder Werteliste:
      Beispiel 1 für den Zeitbereich: 15.05. bis 21.09.

      Code: Alles auswählen

      15.05.,21.09.
      Beispiel 2 für den Zeitbereich: 1. Advent bis 10.01.

      Code: Alles auswählen

      AD+0,10.01.
      Beispiel 3 für einen einzelnen festen Tag: 25.10.

      Code: Alles auswählen

      25.10.
      Beispiel 4 für einen einzelnen beweglichen Tag: Karfreitag Beispiel 5 für mehrere Zeitabschnitte: Kombi aus Beispiel 1,2 und 4

      Code: Alles auswählen

      15.05.,21.09.;OS-2;AD+0,10.01.
      die Angabe des Start- oder Enddatums kann wie folgt erfolgen:
      • 02.01.
      • 02.01.16
      • 02.01.2016
      • OS+0
      • OS+10
      • OS-10
      • MT+0
      • MT+10
      • MT-10
      • ED+0
      • ED+10
      • ED-10
      • AD+0
      • AD+10
      • AD-10
      Die Zahl und das Vorzeichen hinter den beweglichen Tagen bestimmt den Versatz zum jeweiligen Grunddatum.
      So wäre also der Karfreitag "OS-2".
      Die Angabe eines Jahres ist nur bei festen Tagen möglich.
      Läßt man die Jahreszahl bei der Einggabe weg, dann wird automatisch das aktuelle Jahr angenommen.
      Auch die gemischte Angabe ist möglich:

      Code: Alles auswählen

      15.05.,21.09.;01.02.16,15.02.2016
      die Reihenfolge der einzelnen Zeitspannen ist variable, sie muss also nicht der tatsächlichen Reihenfolge entsprechen:

      Code: Alles auswählen

      15.05.,21.09.;01.02.,15.02.
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 114 = "SYS-Kalender-Zeitspanne-02"
    • hier werden die Zeitspannen und/oder Tage für die 2. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 115 = "SYS-Kalender-Zeitspanne-03"
    • hier werden die Zeitspannen und/oder Tage für die 3. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 116 = "SYS-Kalender-Zeitspanne-04"
    • hier werden die Zeitspannen und/oder Tage für die 4. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 117 = "SYS-Kalender-Zeitspanne-05"
    • hier werden die Zeitspannen und/oder Tage für die 5. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 118 = "SYS-Kalender-Zeitspanne-06"
    • hier werden die Zeitspannen und/oder Tage für die 6. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 119 = "SYS-Kalender-Zeitspanne-07"
    • hier werden die Zeitspannen und/oder Tage für die 7. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 120 = "SYS-Kalender-Zeitspanne-08"
    • hier werden die Zeitspannen und/oder Tage für die 8. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 121 = "SYS-Kalender-Zeitspanne-09"
    • hier werden die Zeitspannen und/oder Tage für die 9. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 122 = "SYS-Kalender-Zeitspanne-10"
    • hier werden die Zeitspannen und/oder Tage für die 10. Liste eingetragen
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
Hier stehen folgende Ausgabevariabeln zur Verfügung:
  • Pos. 123 = "IST-Kalender-Zeitspanne-01"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 1. Liste fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 124 = "IST-Kalender-Zeitspanne-02"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 2. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 125 = "IST-Kalender-Zeitspanne-03"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 3. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 126 = "IST-Kalender-Zeitspanne-04"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 4. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 127 = "IST-Kalender-Zeitspanne-05"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 5. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 128 = "IST-Kalender-Zeitspanne-06"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 6. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 129 = "IST-Kalender-Zeitspanne-07"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 7. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 130 = "IST-Kalender-Zeitspanne-08"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 8. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 131 = "IST-Kalender-Zeitspanne-09"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 9. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01
  • Pos. 132 = "IST-Kalender-Zeitspanne-10"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen der 10. Liste fällt
    • Deklaration und Variable-Typ: siehe Zeitspanne-01

Countdown ab Version 1.1.0
  • Pos. 150 = "SYS-Kalender-Countdown-01"
    • hier das End-Datum für den 1. Countdown eingetragen
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten als Zeichenkette oder Werteliste:
      Beispiel 1 für das Datum: 15.05.

      Code: Alles auswählen

      15.05.
      Beispiel 2 für das Datum: 1. Advent die Angabe des Datums kann wie folgt erfolgen:
      • 02.01.
      • 02.01.16
      • 02.01.2016
      • OS+0
      • OS+10
      • OS-10
      • MT+0
      • MT+10
      • MT-10
      • ED+0
      • ED+10
      • ED-10
      • AD+0
      • AD+10
      • AD-10
      Die Zahl und das Vorzeichen hinter den beweglichen Tagen bestimmt den Versatz zum jeweiligen Grunddatum.
      So wäre also der Karfreitag "OS-2".
      Die Angabe eines Jahres ist nur bei festen Tagen möglich.
      Läßt man die Jahreszahl bei der Einggabe weg, dann wird automatisch das aktuelle Jahr angenommen, wenn das Datum nach "heute" liegt oder "heute" ist, bzw. das nächste Jahr, wenn das Datum vor "heute" liegt
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 151 = "SYS-Kalender-Countdown-02"
    • hier das End-Datum für den 2. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 152 = "SYS-Kalender-Countdown-03"
    • hier das End-Datum für den 3. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 153 = "SYS-Kalender-Countdown-04"
    • hier das End-Datum für den 4. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 154 = "SYS-Kalender-Countdown-05"
    • hier das End-Datum für den 5. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 155 = "SYS-Kalender-Countdown-06"
    • hier das End-Datum für den 6. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 156 = "SYS-Kalender-Countdown-07"
    • hier das End-Datum für den 7. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 157 = "SYS-Kalender-Countdown-08"
    • hier das End-Datum für den 8. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 158 = "SYS-Kalender-Countdown-09"
    • hier das End-Datum für den 9. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 159 = "SYS-Kalender-Countdown-10"
    • hier das End-Datum für den 10. Countdown eingetragen
    • Deklaration und Variable-Typ: siehe Countdown-01
Hier stehen folgende Ausgabevariabeln zur Verfügung:
  • Pos. 160 = "IST-Kalender-Countdown-01"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 1. Konfigurationsvariable an
    • Variable-Typ: Zahl
    • Deklarationsarten:
      normal:

      Code: Alles auswählen

      0 - 65000
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      -1 - 65000
  • Pos. 161 = "IST-Kalender-Countdown-02"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 2. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 162 = "IST-Kalender-Countdown-03"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 3. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 163 = "IST-Kalender-Countdown-04"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 4. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 164 = "IST-Kalender-Countdown-05"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 5. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 165 = "IST-Kalender-Countdown-06"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 6. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 166 = "IST-Kalender-Countdown-07"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 7. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 167 = "IST-Kalender-Countdown-08"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 8. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 168 = "IST-Kalender-Countdown-09"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 9. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
  • Pos. 169 = "IST-Kalender-Countdown-10"
    • gibt die Anzahl verbleibender Tage bis zum eingestellten Datum der 10. Konfigurationsvariable an
    • Deklaration und Variable-Typ: siehe Countdown-01
Zuletzt geändert von BadenPower am 17.05.2016, 12:35, insgesamt 11-mal geändert.

BadenPower

Kalender-Script

Beitrag von BadenPower » 03.05.2016, 23:09

.
.

Beschreibung der möglichen Systemvariabeln für den Bereich

Urlaub / Ferien

Hier stehen 2 getrennte Listen für Urlaub/ Ferien zur Verfügung.
Für die einzelnen Listen können beliebige Zeitspannen und/oder einzelne Tage eingetragen werden.
Auch bieten beide Listen eine Unterscheidung zwischen "anwesend" und "abwesend", sowie eine globale Anzeige für Urlaub/Ferien an.

Hier stehen folgende Konfigurationsvariabeln zur Verfügung:
  • Pos. 133 = "SYS-Kalender-Urlaub-Termine"
    • hier werden die Zeitspannen und/oder Tage für den Urlaub eingetragen
    • Variable-Typ: Zeichenkette oder Werteliste
    • Deklarationsarten als Zeichenkette oder Werteliste:
      Beispiel 1: für den Zeitbereich: 15.05. bis 21.09.

      Code: Alles auswählen

      15.05.,21.09.
      Beispiel 2: für den Zeitbereich: 1. Advent bis 10.01.

      Code: Alles auswählen

      AD+0,10.01.
      Beispiel 3: für einen einzelnen festen Tag: 25.10.

      Code: Alles auswählen

      25.10.
      Beispiel 4: für einen einzelnen beweglichen Tag: Karfreitag Beispiel 5: für mehrere Zeitabschnitte: Kombi aus Beispiel 1,2 und 4

      Code: Alles auswählen

      15.05.,21.09.;OS-2;AD+0,10.01.
      die Angabe des Start- oder Enddatums kann wie folgt erfolgen:
      • 02.01.
      • 02.01.16
      • 02.01.2016
      • OS+0
      • OS+10
      • OS-10
      • MT+0
      • MT+10
      • MT-10
      • ED+0
      • ED+10
      • ED-10
      • AD+0
      • AD+10
      • AD-10
      Die Zahl und das Vorzeichen hinter den beweglichen Tagen bestimmt den Versatz zum jeweiligen Grunddatum.
      So wäre also der Karfreitag "OS-2".
      Die Angabe eines Jahres ist nur bei festen Tagen möglich.
      Läßt man die Jahreszahl bei der Einggabe weg, dann wird automatisch das aktuelle Jahr angenommen.
      Auch die gemischte Angabe ist möglich:

      Code: Alles auswählen

      15.05.,21.09.;01.02.16,15.02.2016
      die Reihenfolge der einzelnen Zeitspannen ist variable, sie muss also nicht der tatsächlichen Reihenfolge entsprechen:

      Code: Alles auswählen

      05.05.,21.09.;01.02.,15.02.
      Beispiel 6: Urlaub vom 02.05 - 10.05 (zuhause)

      Code: Alles auswählen

      02.05.,10.05.
      oder

      Code: Alles auswählen

      02.05.,10.05.=0
      Beispiel 7: Urlaub vom 10.09 - 24.09 (abwesend)

      Code: Alles auswählen

      10.09.,24.09.=1
      Beispiel 8: Urlaub vom 02.05 - 10.05 (zuhause) und 10.09 - 24.09 (abwesend)

      Code: Alles auswählen

      02.05.,10.05.;10.09.,24.09.=1
      Die jeweilige Deklaration wird vom Skript erkannt.
    • Pos. 137 = "SYS-Kalender-Ferien-Termine"
      • hier werden die Zeitspannen und/oder Tage für die Ferien eingetragen
      • Deklaration und Variable-Typ: siehe Pos. 137 = "SYS-Kalender-Urlaub-Termine"
Hier stehen folgende Ausgabevariabeln zur Verfügung:
  • Pos. 134 = "IST-Kalender-Urlaub"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen für Urlaub fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 135 = "IST-Kalender-Urlaub-Anwesend"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen für Urlaub mit der Kennzeichnung "Anwesend" fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 136 = "IST-Kalender-Urlaub-Abwesend"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen für Urlaub mit der Kennzeichnung "Abwesend" fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 138 = "IST-Kalender-Ferien"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen für Ferien fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 139 = "IST-Kalender-Ferien-Anwesend"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen für Ferien mit der Kennzeichnung "Anwesend" fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 140 = "IST-Kalender-Ferien-Abwesend"
    • gibt an, ob das aktuelle Datum in eine der definierten Zeitspannen für Ferien mit der Kennzeichnung "Abwesend" fällt
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
      Die jeweilige Deklaration wird vom Skript erkannt.

*****************************************************************

Die Trennung in Ferien und Urlaub ist nicht zwingend, da beide Listen für alles mögliche verwendet werden können.
Selbstverständlich können die Variablen für andere Zwecke, welche nichts mit Urlaub/Ferien zu tun haben "mißbraucht" werden.
Auch könnte man die Unterscheidung von "Anwesend" und "Abwesend" dafür benutzen, um eine Liste für 2 Personen gleichzeitig zu verwenden, in dem man einfach für Person1 die Kennung "=0" und für Person2 die Kennung "=1" hinter den einzelnen Terminen angibt.


.
Zuletzt geändert von BadenPower am 04.05.2016, 17:32, insgesamt 7-mal geändert.

BadenPower

Kalender-Script

Beitrag von BadenPower » 03.05.2016, 23:10

.
.

Beschreibung der möglichen Systemvariabeln für den Bereich:

Infos zum aktuellen Tag/Monat/Jahr

Hier stehen folgende Ausgabevariabeln zur Verfügung:
  • Pos.98 = "IST-Kalender-Wochentag-Auswahl"
    • gibt den Namen des Wochentages in einer Auswahlliste an
    • Variable-Typ: Werteliste
    • 2 Deklarationsarten der Werteliste möglich:
      normal:

      Code: Alles auswählen

      Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag;Sonntag
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      unbekannnt;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag;Sonntag
      die jeweilige Deklaration wird vom Skript erkannt.
  • Pos.99 = "IST-Kalender-Wochentag-Name"
    • gibt den Namen des Wochentages in einer Zeichenkette an
    • Variable-Typ: Zeichenkette
  • Pos. 100 = "IST-Kalender-Wochentag-ZahlBeginnMontag"
    • gibt den Tag der Woche als Zahl an (Montag = 1 ... Sonntag = 7)
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-7 enthält.
  • Pos. 101 = "IST-Kalender-Wochentag-ZahlBeginnSonntag"
    • gibt den Tag der Woche als Zahl an (Sonntag = 1 ... Montag = 7)
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-7 enthält.
  • Pos.102 = "IST-Kalender-Monat-Auswahl"
    • gibt den Namen des Monats in einer Auswahlliste an
    • Variable-Typ: Werteliste
    • 2 Deklarationsarten der Werteliste möglich:
      normal:

      Code: Alles auswählen

      Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      unbekannnt;Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember
      die jeweilige Deklaration wird vom Skript erkannt.
  • Pos. 103 = "IST-Kalender-Monat-Name"
    • gibt den Namen des Monats in einer Zeichenkette an
    • Variable-Typ: Zeichenkette
  • Pos. 104 = "IST-Kalender-Monat-Zahl"
    • gibt den Monat als Zahl an (Januar = 1 ... Dazember = 12)
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-12 enthält.
  • Pos. 105 = "IST-Kalender-Monat-Tag"
    • gibt den Tag des Monats als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-31 enthält.
  • Pos. 106 = "IST-Kalender-Jahr"
    • gibt das Jahr als Zahl an
    • Variable-Typ: Zahl
    • Deklaration

      Code: Alles auswählen

      0-65000
  • Pos. 107 = "IST-Kalender-Jahr-Tag"
    • gibt den Tag des Jahres als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal:

      Code: Alles auswählen

      1-366
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      0-366
      wichtig ist nur, dass die Deklaration die Werte 1-366 enthält.
  • Pos. 108 = "IST-Kalender-Jahr-Woche-ISO8601"
    • gibt die Kalenderwoche nach ISO8601 als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-53 enthält.
  • Pos. 109 = "IST-Kalender-Jahr-Woche-Beginn1Sonntag"
    • gibt die Kalenderwoche beginnend mit dem 1. Sonntag im Januar als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-53 enthält.
  • Pos. 110 = "IST-Kalender-Jahr-Woche-Beginn1Montag"
    • gibt die Kalenderwoche beginnend mit dem 1. Montag im Januar als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal: oder für die, welche einen Initialisierungsabschnitt haben: wichtig ist nur, dass die Deklaration die Werte 1-53 enthält.
  • Pos. 111 = "IST-Kalender-Jahr-Schaltjahr"
    • gibt an, ob das aktuelle Jahr ein Schaltjahr ist
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
  • Pos. 112 = "IST-Kalender-Sommerzeit"
    • gibt an, ob momentan Sommerzeit herrscht
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=ja falsch=nein
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;ja;nein
    .
  • zusätzlich ab Version 1.1.0
    .
  • Pos. 141 = "IST-Kalender-Sommerzeit-TageBeginn"
    • gibt die Anzahl der Tage bis zum nächsten Beginn der Sommerzeit als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal:

      Code: Alles auswählen

      0 - 400
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      -1 - 400
  • Pos. 142 = "IST-Kalender-Sommerzeit-TageEnde"
    • gibt die Anzahl der Tage bis zum nächsten Ende der Sommerzeit als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal:

      Code: Alles auswählen

      0 - 400
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      -1 - 400
  • Pos. 143 = "IST-Kalender-Sommerzeit-TageUmstellung"
    • gibt die Anzahl der Tage bis zum nächsten Zeitpunkt der Uhrzeitumstellung als Zahl an
    • Variable-Typ: Zahl
    • 2 Deklarationsarten der Zahl möglich:
      normal:

      Code: Alles auswählen

      0 - 400
      oder für die, welche einen Initialisierungsabschnitt haben:

      Code: Alles auswählen

      -1 - 400
  • Pos. 144 = "IST-Kalender-Sommerzeit-DatumBeginn"
    • gibt das Datum des nächsten Beginn der Sommerzeit als Zeichenkette an
    • Variable-Typ: Zeichenkette
  • Pos. 145 = "IST-Kalender-Sommerzeit-DatumEnde"
    • gibt das Datum des nächsten Ende der Sommerzeit als Zeichenkette an
    • Variable-Typ: Zeichenkette
  • Pos. 146 = "IST-Kalender-Sommerzeit-DatumUmstellung"
    • gibt das Datum des nächsten Uhrzeitumstellung als Zeichenkette an
    • Variable-Typ: Zeichenkette
  • Pos. 147 = "IST-Kalender-Jahr-Woche-GeradeISO8601"
    • gibt an, ob die Kalenderwoche gerade oder ungerade ist (nach ISO8601)
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=gerade falsch=ungerade
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;gerade;ungerade
  • Pos. 148 = "IST-Kalender-Jahr-Woche-GeradeBeginn1Sonntag"
    • gibt an, ob die Kalenderwoche gerade oder ungerade ist (beginnend mit dem 1. Sonntag im Januar)
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=gerade falsch=ungerade
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;gerade;ungerade
  • Pos. 149 = "IST-Kalender-Jahr-Woche-GeradeBeginn1Montag"
    • gibt an, ob die Kalenderwoche gerade oder ungerade ist (beginnend mit dem 1. Montag im Januar)
    • Variable-Typ: Logik oder Werteliste
    • Deklarationsarten:
      normal als Logikwert:

      Code: Alles auswählen

      wahr=gerade falsch=ungerade
      oder als Werteliste (für die, welche einen Initialisierungsabschnitt haben) :

      Code: Alles auswählen

      unbekannt;gerade;ungerade
Zuletzt geändert von BadenPower am 17.05.2016, 13:31, insgesamt 3-mal geändert.

BadenPower

Re: Kalenderscript - all inclusive - total flexibel - D-A-CH

Beitrag von BadenPower » 04.05.2016, 15:03

.
.

Das vorgestellte Skript ist so umfangreich und bietet extrem viele Möglichkeiten, dass es fast nicht möglich ist, diese komplett zu beschreiben, ohne dass man etwas vergisst zu erwähnen.

Ihr habt Euch etwas spezielles ausgedacht und wisst nicht, ob es mit diesem Skript möglich ist?

Oder Ihr seid Euch nicht sicher, wie oder was Ihr in der CCU anlegen müßt?


Fragt einfach nach!

Ich bin überzeugt, dass hier für fast alles eine Lösung besteht.
.
.

Xel66
Beiträge: 14165
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: Kalender-Script - all inclusive - total flexibel - D-A-C

Beitrag von Xel66 » 04.05.2016, 22:38

Deine Arbeit in allen Ehren, aber die CCU verträgt maximal 200 interne Variablen für einen stabilen Betrieb und dieses Script nutzt über 140 davon, um Kalenderfunktionen abzubilden, die größtenteils mit Hausautomation nur am Rande was zu tun haben. Ich kann mir beim besten Willen nicht vorstellen, was ich automatisch mit der 9. Müllsorte regeln könnte, außer das Licht an der 9. Mülltonne anzumachen. Um Daten auf einer Visualisierung darzustellen (was mir als einziger Zweck in den Sinn kommt), kann man derartige Scripte auch auf dem Server laufen lassen, der die HTML-Struktur bereitstellt.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

BadenPower

Re: Kalender-Script - all inclusive - total flexibel - D-A-C

Beitrag von BadenPower » 04.05.2016, 23:27

Xel66 hat geschrieben:Deine Arbeit in allen Ehren,
Danke.
Xel66 hat geschrieben:aber die CCU verträgt maximal 200 interne Variablen für einen stabilen Betrieb und dieses Script nutzt über 140 davon,
Falsch geraten, oder das Skript gar nicht angeschaut???

Es sind nur 60 Skript-Variabeln

Und wenn man noch damit rechnet, dass jemand das Skript auf seine Variabelnamen (Tmp-Variabeln) umschreibt, dann ist dies sowieso unerheblich.

Die Anzahl von 140 sind die Systemvariabeln und davon kann man in der CCU beliebig viele anlegen.
Xel66 hat geschrieben: Um Daten auf einer Visualisierung darzustellen
Für die ausschließliche Visualisierung dienen nur ca. 15 System-Variabeln.
Der Rest kann sinnvoll in Programmen zur Steuerung von Abläufen benutzt werden.
Aber bei manch einem ist die Vorstellungskraft dafür leider etwas beschränkt.
Xel66 hat geschrieben: Ich kann mir beim besten Willen nicht vorstellen, was ich automatisch mit der 9. Müllsorte regeln könnte, außer das Licht an der 9. Mülltonne anzumachen.
Ja Du brauchst ja auch nicht alles zu benutzen und daher auch nicht anlegen.
Aber wenn Du damit ein Licht schalten möchtest, dann ist dies selbstverständlich möglich.

Das Skript ist ja total flexibel aufgebaut und Du kann ja alles für alles mögliche verwenden.


.

Gesperrt

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