Kalender-Script V2.x - MEGA-Version für D-A-CH

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

Moderator: Co-Administratoren

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

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von Cash » 08.12.2017, 10:48

?? Da im Script die Eingabe der Jahreszahl vorgesehen ist wird diese logischerweise auch berücksichtigt... Macht doch sonst keinen Sinn

poidi
Beiträge: 2
Registriert: 24.01.2018, 17:07

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von poidi » 24.01.2018, 17:20

hallöchen,

also erstmal - danke für dieses tolle script!

ich habe ein kleines Detail mit dem ich unzufrieden bin. Das ist die Ausgabe des Datums des nächsten Urlaubs. Hier ist ja immer das Lange Datum mit Wochentag dabei. Ich verwende das Datum jedoch um mir automatisch die Heizung auf Partymoduls umzustellen, wenn ich denn nicht zuhause bin. Dafür muss ich jetzt immer auch den Wochentag weglöschen, der aber unterschiedliche Länge hat.

Kurzum, es ist kein Problem, da ich einfach ein 2-faches "Split" mache (einmal den Beistrich um 1. und 2. Datum zu trennen, und dann nach "leerzeichen" um dann den 2./1. Teil des 1./2. Datum zu verwenden).

Einfacher für Skripts wäre es natürlich, wenn man das Datum ohne Wochentag bekommen würde.

aber hier zur Erklärung das Script, es setzt eine Woche vor dem Urlaub jeden Tag den Urlaubsmodus (ist noch ein Überbleibsel zu Testzwecke, vermutlich würden weniger Versuche reichen, um auch sicher zu sein, dass die Daten übertragen wurden)

Code: Alles auswählen

! Urlaub - abwesenheit

string Temperatur = "17";

if ((dom.GetObject("IST-Urlaub-01-Gestern").Variable()==0) && dom.GetObject("IST-Urlaub-01-Anwesend-TageBeginn").Variable() <= 7.0) {
    string myDate = dom.GetObject("IST-Urlaub-01-Anwesend-Datum").Variable();

    string myStart = myDate.StrValueByIndex(',', 1);
    string myEnd = myDate.StrValueByIndex(',', 2);

    string myStartDay     = myStart.Substr(1,2);
    string myStartMonth   = myStart.Substr(4,2);
    string myStartYear    = myStart.Substr(9,2);

    string myEndDay     = myEnd.Substr(1,2);
    string myEndMonth   = myEnd.Substr(4,2);
    string myEndYear    = myEnd.Substr(9,2);

    WriteLine(' ' # myStartDay # ' ' # myStartMonth # ' ' # myStartYear # ' ' # myEndDay # ' ' # myEndMonth # ' ' # myEndYear);
    
    ! von mittag an
    string noon = "720";
    ! bis mitternacht
    string midnight = "0";
    
    string partyCmd = Temperatur # "," # noon # "," # myStartDay # "," # myStartMonth # "," # myStartYear # "," # midnight # "," # myEndDay # "," # myEndMonth # "," # myEndYear;
    
    ! obwohl ich die adressen weiß, kann ich nicht sagen, ob es sie gibt...
    ! somit umweg über namen
    
    string GruppenPrefix = "INT000000";
    string i;
    object do_device;
    string addr;
    string cmd = "sleep 1 ";
    
    foreach(i, system.GenerateEnum(1,6))
    {
        do_device = dom.GetObject("VirtualDevices.INT000000"#i#":1.PARTY_MODE_SUBMIT");
        if (do_device) {
            WriteLine(i # " " # partyCmd);
            do_device.State(partyCmd);
        }
    }
}
WriteLine('finished');
Homematic Neuling
Programmier-Profi

83 Kanäle in 33 Geräten und 32 CUxD-Kanäle in 2 CUxD-Geräten:
9x HM-Sec-SCo, 2x HM-LC-Sw1PBU-FM, 5x HM-CC-VG-1, 5x HM-CC-RT-DN, 2x CUX28, 3x HM-TC-IT-WM-W-EU, 3x HM-LC-Sw1-Pl-DN-R1, 1x HM-Sec-SD-2, 1x HM-PB-6-WM55, 1x HM-LC-Sw2-FM, 2x HM-PB-2-WM55-2, 1x HM-Sec-SD-2-Team

Benutzeravatar
Moonrider
Beiträge: 66
Registriert: 25.08.2017, 13:17

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von Moonrider » 25.01.2018, 15:32

Hallo,

ich habe mich jetzt auch an das tolle Script gewagt. Soweit funktioniert auch alles, bis auf den Countdown.
22.PNG
ich habe den Countdown 1 mals Termin, den 06.11. eingetragen.
Jetzt wollte ich nur wissen, wieviele Tage es bis dahin noch sind. Dazu habe ich die Variable Ist-Countdown-01-Tage erstellt, aber leider wird sie nicht befüllt.
Als Script habe ich das Script Ver 2.0.1 laufen.
11.PNG
Hat jemand einen Tipp, wie es funktionieren kann. Trage ich diesen Termin bei den Feiertagen ein, funktioniert alles mit den dazugehörigen Variablen ohne Probleme.
So long

Marcus

Benutzeravatar
Moonrider
Beiträge: 66
Registriert: 25.08.2017, 13:17

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von Moonrider » 26.01.2018, 11:52

Danke , hat geklappt. Läuft alles super
So long

Marcus

dodi
Beiträge: 137
Registriert: 26.12.2016, 11:59
Hat sich bedankt: 2 Mal

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von dodi » 13.02.2018, 19:19

Hallo zusammen,
heute habe ich entdeckt das bei Ausführung des Kalenderskriptes bei mir eine Fehlermeldung in der Logdatei steht.

Code: Alles auswählen

Feb 13 16:57:20 homematic-raspi user.debug script: Konfigurationsfehler in SV.KAL.Gelb.Heute
Ich nutze die neueste Raspberrymatic Version.

Das Skript sieht, wie folgt aus:

Code: Alles auswählen

!Kalendertag-Berechnung Version 2.0.5
!*********************************
!www.homematic-forum.de (c) by BadenPower
string hS1="D-NW";
string hS2="keine Auswahl";
string hS3="nicht benannt";
string lScriptName="Kalendertag-Berechnung Version 2.0.5";
string lON1="";
if(system.IsVar("lON1")){
lON1=lON1#"SYS-Protokoll;SYS-Landeskennung;SV.KAL.Jahr;SV.KAL.Schaltjahr;SV.KAL.Jahr.Tag;SV.KAL.KW;IST-Jahr-Woche-Beginn1Sonntag;IST-Jahr-Woche-Beginn1Montag;IST-Jahr-Woche-GeradeISO8601;IST-Jahr-Woche-GeradeBeginn1Sonntag;IST-Jahr-Woche-GeradeBeginn1Montag;IST-Monat-Auswahl;IST-Monat-Name;SV.KAL.Monat;SV.KAL.Tag;SV.KAL.Wochentag;IST-Wochentag-Name;IST-Wochentag-ZahlBeginn1Montag;IST-Wochentag-ZahlBeginn1Sonntag;IST-Wochentag-ZahlBeginn0Sonntag";
lON1=lON1#";SV.KAL.Wochenende.Heute;IST-Wochenende-Morgen;IST-Wochenende-Gestern;IST-Wochenende-Tage-Beginn;IST-Wochenende-Tage-Ende;SV.KAL.Werktag.Heute;IST-Werktag-Mo-Fr-Morgen;IST-Werktag-Mo-Fr-Gestern;IST-Werktag-Mo-Sa-Heute;IST-Werktag-Mo-Sa-Morgen;IST-Werktag-Mo-Sa-Gestern;IST-Sommerzeit;IST-Sommerzeit-TageBeginn;IST-Sommerzeit-TageEnde;IST-Sommerzeit-TageUmstellung;IST-Sommerzeit-DatumBeginn;IST-Sommerzeit-DatumEnde;IST-Sommerzeit-DatumUmstellung;SV.KAL.Jahreszeit;IST-Jahreszeit-Meteorologisch";
lON1=lON1#";SYS-Feiertag-TermineZusatz;SYS-Feiertag-Entfernen;SV.KAL.Feiertag.Heute;IST-Feiertag-Heute-Auswahl;IST-Feiertag-Heute-Name;SV.KAL.Feiertag.Morgen;IST-Feiertag-Morgen-Auswahl;IST-Feiertag-Morgen-Name;IST-Feiertag-Gestern;IST-Feiertag-Gestern-Auswahl;IST-Feiertag-Gestern-Name;IST-Feiertag-Übermorgen;IST-Feiertag-Übermorgen-Auswahl;IST-Feiertag-Übermorgen-Name;IST-Feiertag-Vorgestern;IST-Feiertag-Vorgestern-Auswahl;IST-Feiertag-Vorgestern-Name;IST-Feiertag-Nächster-Tage;IST-Feiertag-Nächster-Auswahl;IST-Feiertag-Nächster-Datum;IST-Feiertag-Nächster-Name";
lON1=lON1#";SYS-Festtag-Termine;IST-Festtag-Heute;IST-Festtag-Heute-Auswahl;IST-Festtag-Heute-Name;IST-Festtag-Morgen;IST-Festtag-Morgen-Auswahl;IST-Festtag-Morgen-Name;IST-Festtag-Gestern;IST-Festtag-Gestern-Auswahl;IST-Festtag-Gestern-Name;IST-Festtag-Übermorgen;IST-Festtag-Übermorgen-Auswahl;IST-Festtag-Übermorgen-Name;IST-Festtag-Vorgestern;IST-Festtag-Vorgestern-Auswahl;IST-Festtag-Vorgestern-Name;IST-Festtag-Nächster-Tage;IST-Festtag-Nächster-Auswahl;IST-Festtag-Nächster-Datum;IST-Festtag-Nächster-Name";
lON1=lON1#";SYS-Brauchtum-Termine;IST-Brauchtum-Heute;IST-Brauchtum-Heute-Auswahl;IST-Brauchtum-Heute-Name;IST-Brauchtum-Morgen;IST-Brauchtum-Morgen-Auswahl;IST-Brauchtum-Morgen-Name;IST-Brauchtum-Gestern;IST-Brauchtum-Gestern-Auswahl;IST-Brauchtum-Gestern-Name;IST-Brauchtum-Übermorgen;IST-Brauchtum-Übermorgen-Auswahl;IST-Brauchtum-Übermorgen-Name;IST-Brauchtum-Vorgestern;IST-Brauchtum-Vorgestern-Auswahl;IST-Brauchtum-Vorgestern-Name;IST-Brauchtum-Nächster-Tage;IST-Brauchtum-Nächster-Auswahl;IST-Brauchtum-Nächster-Datum;IST-Brauchtum-Nächster-Name";
lON1=lON1#";SYS-XTag-Termine;IST-XTag-Heute;IST-XTag-Heute-Auswahl;IST-XTag-Heute-Name;IST-XTag-Morgen;IST-XTag-Morgen-Auswahl;IST-XTag-Morgen-Name;IST-XTag-Gestern;IST-XTag-Gestern-Auswahl;IST-XTag-Gestern-Name;IST-XTag-Übermorgen;IST-XTag-Übermorgen-Auswahl;IST-XTag-Übermorgen-Name;IST-XTag-Vorgestern;IST-XTag-Vorgestern-Auswahl;IST-XTag-Vorgestern-Name;IST-XTag-Nächster-Tage;IST-XTag-Nächster-Auswahl;IST-XTag-Nächster-Datum;IST-XTag-Nächster-Name";
lON1=lON1#";IST-Sondertag-Heute;IST-Sondertag-Morgen;IST-Sondertag-Gestern;IST-Sondertag-Übermorgen;IST-Sondertag-Vorgestern;IST-Brückentag-Mo-Fr-WE-FT-Heute;IST-Brückentag-Mo-Fr-WE-FT-Morgen;IST-Brückentag-Mo-Fr-WE-FT-Gestern;IST-Brückentag-Mo-Fr-WE-FT-FT-Heute;IST-Brückentag-Mo-Fr-WE-FT-FT-Morgen;IST-Brückentag-Mo-Fr-WE-FT-FT-Gestern;IST-Brückentag-Mo-Sa-WE-FT-Heute;IST-Brückentag-Mo-Sa-WE-FT-Morgen;IST-Brückentag-Mo-Sa-WE-FT-Gestern;IST-Brückentag-Mo-Sa-WE-FT-FT-Heute;IST-Brückentag-Mo-Sa-WE-FT-FT-Morgen;IST-Brückentag-Mo-Sa-WE-FT-FT-Gestern";
lON1=lON1#";SYS-Urlaub-01-Termine;IST-Urlaub-01-Heute;IST-Urlaub-01-Morgen;IST-Urlaub-01-Gestern;IST-Urlaub-01-TageBeginn;IST-Urlaub-01-Anwesend-Heute;IST-Urlaub-01-Anwesend-Morgen;IST-Urlaub-01-Anwesend-Gestern;IST-Urlaub-01-Anwesend-TageBeginn;IST-Urlaub-01-Anwesend-TageEnde;IST-Urlaub-01-Anwesend-Datum;IST-Urlaub-01-Abwesend-Heute;IST-Urlaub-01-Abwesend-Morgen;IST-Urlaub-01-Abwesend-Gestern;IST-Urlaub-01-Abwesend-TageBeginn;IST-Urlaub-01-Abwesend-TageEnde;IST-Urlaub-01-Abwesend-Datum";
lON1=lON1#";SYS-Urlaub-02-Termine;IST-Urlaub-02-Heute;IST-Urlaub-02-Morgen;IST-Urlaub-02-Gestern;IST-Urlaub-02-TageBeginn;IST-Urlaub-02-Anwesend-Heute;IST-Urlaub-02-Anwesend-Morgen;IST-Urlaub-02-Anwesend-Gestern;IST-Urlaub-02-Anwesend-TageBeginn;IST-Urlaub-02-Anwesend-TageEnde;IST-Urlaub-02-Anwesend-Datum;IST-Urlaub-02-Abwesend-Heute;IST-Urlaub-02-Abwesend-Morgen;IST-Urlaub-02-Abwesend-Gestern;IST-Urlaub-02-Abwesend-TageBeginn;IST-Urlaub-02-Abwesend-TageEnde;IST-Urlaub-02-Abwesend-Datum";
lON1=lON1#";SYS-Urlaub-03-Termine;IST-Urlaub-03-Heute;IST-Urlaub-03-Morgen;IST-Urlaub-03-Gestern;IST-Urlaub-03-TageBeginn;IST-Urlaub-03-Anwesend-Heute;IST-Urlaub-03-Anwesend-Morgen;IST-Urlaub-03-Anwesend-Gestern;IST-Urlaub-03-Anwesend-TageBeginn;IST-Urlaub-03-Anwesend-TageEnde;IST-Urlaub-03-Anwesend-Datum;IST-Urlaub-03-Abwesend-Heute;IST-Urlaub-03-Abwesend-Morgen;IST-Urlaub-03-Abwesend-Gestern;IST-Urlaub-03-Abwesend-TageBeginn;IST-Urlaub-03-Abwesend-TageEnde;IST-Urlaub-03-Abwesend-Datum";
lON1=lON1#";SYS-Urlaub-04-Termine;IST-Urlaub-04-Heute;IST-Urlaub-04-Morgen;IST-Urlaub-04-Gestern;IST-Urlaub-04-TageBeginn;IST-Urlaub-04-Anwesend-Heute;IST-Urlaub-04-Anwesend-Morgen;IST-Urlaub-04-Anwesend-Gestern;IST-Urlaub-04-Anwesend-TageBeginn;IST-Urlaub-04-Anwesend-TageEnde;IST-Urlaub-04-Anwesend-Datum;IST-Urlaub-04-Abwesend-Heute;IST-Urlaub-04-Abwesend-Morgen;IST-Urlaub-04-Abwesend-Gestern;IST-Urlaub-04-Abwesend-TageBeginn;IST-Urlaub-04-Abwesend-TageEnde;IST-Urlaub-04-Abwesend-Datum";
lON1=lON1#";SYS-Urlaub-05-Termine;IST-Urlaub-05-Heute;IST-Urlaub-05-Morgen;IST-Urlaub-05-Gestern;IST-Urlaub-05-TageBeginn;IST-Urlaub-05-Anwesend-Heute;IST-Urlaub-05-Anwesend-Morgen;IST-Urlaub-05-Anwesend-Gestern;IST-Urlaub-05-Anwesend-TageBeginn;IST-Urlaub-05-Anwesend-TageEnde;IST-Urlaub-05-Anwesend-Datum;IST-Urlaub-05-Abwesend-Heute;IST-Urlaub-05-Abwesend-Morgen;IST-Urlaub-05-Abwesend-Gestern;IST-Urlaub-05-Abwesend-TageBeginn;IST-Urlaub-05-Abwesend-TageEnde;IST-Urlaub-05-Abwesend-Datum";
lON1=lON1#";IST-Urlaub-Heute;IST-Urlaub-Morgen;IST-Urlaub-Gestern;IST-Urlaub-TageBeginn";
lON1=lON1#";SYS-Ferien-01-Termine;IST-Ferien-01-Heute;IST-Ferien-01-Morgen;IST-Ferien-01-Gestern;IST-Ferien-01-TageBeginn;IST-Ferien-01-Anwesend-Heute;IST-Ferien-01-Anwesend-Morgen;IST-Ferien-01-Anwesend-Gestern;IST-Ferien-01-Anwesend-TageBeginn;IST-Ferien-01-Anwesend-TageEnde;IST-Ferien-01-Anwesend-Datum;IST-Ferien-01-Abwesend-Heute;IST-Ferien-01-Abwesend-Morgen;IST-Ferien-01-Abwesend-Gestern;IST-Ferien-01-Abwesend-TageBeginn;IST-Ferien-01-Abwesend-TageEnde;IST-Ferien-01-Abwesend-Datum";
lON1=lON1#";SYS-Ferien-02-Termine;IST-Ferien-02-Heute;IST-Ferien-02-Morgen;IST-Ferien-02-Gestern;IST-Ferien-02-TageBeginn;IST-Ferien-02-Anwesend-Heute;IST-Ferien-02-Anwesend-Morgen;IST-Ferien-02-Anwesend-Gestern;IST-Ferien-02-Anwesend-TageBeginn;IST-Ferien-02-Anwesend-TageEnde;IST-Ferien-02-Anwesend-Datum;IST-Ferien-02-Abwesend-Heute;IST-Ferien-02-Abwesend-Morgen;IST-Ferien-02-Abwesend-Gestern;IST-Ferien-02-Abwesend-TageBeginn;IST-Ferien-02-Abwesend-TageEnde;IST-Ferien-02-Abwesend-Datum";
lON1=lON1#";SYS-Ferien-03-Termine;IST-Ferien-03-Heute;IST-Ferien-03-Morgen;IST-Ferien-03-Gestern;IST-Ferien-03-TageBeginn;IST-Ferien-03-Anwesend-Heute;IST-Ferien-03-Anwesend-Morgen;IST-Ferien-03-Anwesend-Gestern;IST-Ferien-03-Anwesend-TageBeginn;IST-Ferien-03-Anwesend-TageEnde;IST-Ferien-03-Anwesend-Datum;IST-Ferien-03-Abwesend-Heute;IST-Ferien-03-Abwesend-Morgen;IST-Ferien-03-Abwesend-Gestern;IST-Ferien-03-Abwesend-TageBeginn;IST-Ferien-03-Abwesend-TageEnde;IST-Ferien-03-Abwesend-Datum";
lON1=lON1#";SYS-Ferien-04-Termine;IST-Ferien-04-Heute;IST-Ferien-04-Morgen;IST-Ferien-04-Gestern;IST-Ferien-04-TageBeginn;IST-Ferien-04-Anwesend-Heute;IST-Ferien-04-Anwesend-Morgen;IST-Ferien-04-Anwesend-Gestern;IST-Ferien-04-Anwesend-TageBeginn;IST-Ferien-04-Anwesend-TageEnde;IST-Ferien-04-Anwesend-Datum;IST-Ferien-04-Abwesend-Heute;IST-Ferien-04-Abwesend-Morgen;IST-Ferien-04-Abwesend-Gestern;IST-Ferien-04-Abwesend-TageBeginn;IST-Ferien-04-Abwesend-TageEnde;IST-Ferien-04-Abwesend-Datum";
lON1=lON1#";SYS-Ferien-05-Termine;IST-Ferien-05-Heute;IST-Ferien-05-Morgen;IST-Ferien-05-Gestern;IST-Ferien-05-TageBeginn;IST-Ferien-05-Anwesend-Heute;IST-Ferien-05-Anwesend-Morgen;IST-Ferien-05-Anwesend-Gestern;IST-Ferien-05-Anwesend-TageBeginn;IST-Ferien-05-Anwesend-TageEnde;IST-Ferien-05-Anwesend-Datum;IST-Ferien-05-Abwesend-Heute;IST-Ferien-05-Abwesend-Morgen;IST-Ferien-05-Abwesend-Gestern;IST-Ferien-05-Abwesend-TageBeginn;IST-Ferien-05-Abwesend-TageEnde;IST-Ferien-05-Abwesend-Datum";
lON1=lON1#";IST-Ferien-Heute;IST-Ferien-Morgen;IST-Ferien-Gestern;IST-Ferien-TageBeginn";
lON1=lON1#";SV.KAL.Grau.Termine;SV.KAL.Grau.Heute;SV.KAL.Grau.Morgen;IST-Abfall-Grau-Tage;IST-Abfall-Grau-Datum";
lON1=lON1#";SV.KAL.Gruen.Termine;SV.KAL.Gruen.Heute;SV.KAL.Gruen.Morgen;IST-Abfall-Grün-Tage;IST-Abfall-Grün-Datum";
lON1=lON1#";SV.KAL.Gelb.Termine;SV.KAL.Gelb.Heute;SV.KAL.Gelb.Morgen;IST-Abfall-Gelb-Tage;IST-Abfall-Gelb-Datum";
lON1=lON1#";SV.KAL.Braun.Termine;SV.KAL.Braun.Heute;SV.KAL.Braun.Morgen;IST-Abfall-Braun-Tage;IST-Abfall-Braun-Datum";
lON1=lON1#";SYS-Abfall-Blau-Termine;IST-Abfall-Blau-Heute;IST-Abfall-Blau-Morgen;IST-Abfall-Blau-Tage;IST-Abfall-Blau-Datum";
lON1=lON1#";SYS-Abfall-Rot-Termine;IST-Abfall-Rot-Heute;IST-Abfall-Rot-Morgen;IST-Abfall-Rot-Tage;IST-Abfall-Rot-Datum";
lON1=lON1#";SYS-Abfall-Glas-Termine;IST-Abfall-Glas-Heute;IST-Abfall-Glas-Morgen;IST-Abfall-Glas-Tage;IST-Abfall-Glas-Datum";
lON1=lON1#";SYS-Abfall-Sondermüll-Termine;IST-Abfall-Sondermüll-Heute;IST-Abfall-Sondermüll-Morgen;IST-Abfall-Sondermüll-Tage;IST-Abfall-Sondermüll-Datum";
lON1=lON1#";SYS-Abfall-Sperrmüll-Termine;IST-Abfall-Sperrmüll-Heute;IST-Abfall-Sperrmüll-Morgen;IST-Abfall-Sperrmüll-Tage;IST-Abfall-Sperrmüll-Datum";
lON1=lON1#";SYS-Abfall-Sonstiges-Termine;IST-Abfall-Sonstiges-Heute;IST-Abfall-Sonstiges-Morgen;IST-Abfall-Sonstiges-Tage;IST-Abfall-Sonstiges-Datum";
lON1=lON1#";IST-Abfall-Heute;IST-Abfall-Morgen";
lON1=lON1#";SYS-Zeitspanne-01-Termine;IST-Zeitspanne-01-Heute;IST-Zeitspanne-01-Morgen;IST-Zeitspanne-01-Gestern;IST-Zeitspanne-01-TageBeginn;IST-Zeitspanne-01-TageEnde;IST-Zeitspanne-01-Datum";
lON1=lON1#";SYS-Zeitspanne-02-Termine;IST-Zeitspanne-02-Heute;IST-Zeitspanne-02-Morgen;IST-Zeitspanne-02-Gestern;IST-Zeitspanne-02-TageBeginn;IST-Zeitspanne-02-TageEnde;IST-Zeitspanne-02-Datum";
lON1=lON1#";SYS-Zeitspanne-03-Termine;IST-Zeitspanne-03-Heute;IST-Zeitspanne-03-Morgen;IST-Zeitspanne-03-Gestern;IST-Zeitspanne-03-TageBeginn;IST-Zeitspanne-03-TageEnde;IST-Zeitspanne-03-Datum";
lON1=lON1#";SYS-Zeitspanne-04-Termine;IST-Zeitspanne-04-Heute;IST-Zeitspanne-04-Morgen;IST-Zeitspanne-04-Gestern;IST-Zeitspanne-04-TageBeginn;IST-Zeitspanne-04-TageEnde;IST-Zeitspanne-04-Datum";
lON1=lON1#";SYS-Zeitspanne-05-Termine;IST-Zeitspanne-05-Heute;IST-Zeitspanne-05-Morgen;IST-Zeitspanne-05-Gestern;IST-Zeitspanne-05-TageBeginn;IST-Zeitspanne-05-TageEnde;IST-Zeitspanne-05-Datum";
lON1=lON1#";SYS-Zeitspanne-06-Termine;IST-Zeitspanne-06-Heute;IST-Zeitspanne-06-Morgen;IST-Zeitspanne-06-Gestern;IST-Zeitspanne-06-TageBeginn;IST-Zeitspanne-06-TageEnde;IST-Zeitspanne-06-Datum";
lON1=lON1#";SYS-Zeitspanne-07-Termine;IST-Zeitspanne-07-Heute;IST-Zeitspanne-07-Morgen;IST-Zeitspanne-07-Gestern;IST-Zeitspanne-07-TageBeginn;IST-Zeitspanne-07-TageEnde;IST-Zeitspanne-07-Datum";
lON1=lON1#";SYS-Zeitspanne-08-Termine;IST-Zeitspanne-08-Heute;IST-Zeitspanne-08-Morgen;IST-Zeitspanne-08-Gestern;IST-Zeitspanne-08-TageBeginn;IST-Zeitspanne-08-TageEnde;IST-Zeitspanne-08-Datum";
lON1=lON1#";SYS-Zeitspanne-09-Termine;IST-Zeitspanne-09-Heute;IST-Zeitspanne-09-Morgen;IST-Zeitspanne-09-Gestern;IST-Zeitspanne-09-TageBeginn;IST-Zeitspanne-09-TageEnde;IST-Zeitspanne-09-Datum";
lON1=lON1#";SYS-Zeitspanne-10-Termine;IST-Zeitspanne-10-Heute;IST-Zeitspanne-10-Morgen;IST-Zeitspanne-10-Gestern;IST-Zeitspanne-10-TageBeginn;IST-Zeitspanne-10-TageEnde;IST-Zeitspanne-10-Datum";
lON1=lON1#";SYS-Countdown-01-Termin;IST-Countdown-01-Heute;IST-Countdown-01-Morgen;IST-Countdown-01-Gestern;IST-Countdown-01-Tage;IST-Countdown-01-Datum";
lON1=lON1#";SYS-Countdown-02-Termin;IST-Countdown-02-Heute;IST-Countdown-02-Morgen;IST-Countdown-02-Gestern;IST-Countdown-02-Tage;IST-Countdown-02-Datum";
lON1=lON1#";SYS-Countdown-03-Termin;IST-Countdown-03-Heute;IST-Countdown-03-Morgen;IST-Countdown-03-Gestern;IST-Countdown-03-Tage;IST-Countdown-03-Datum";
lON1=lON1#";SYS-Countdown-04-Termin;IST-Countdown-04-Heute;IST-Countdown-04-Morgen;IST-Countdown-04-Gestern;IST-Countdown-04-Tage;IST-Countdown-04-Datum";
lON1=lON1#";SYS-Countdown-05-Termin;IST-Countdown-05-Heute;IST-Countdown-05-Morgen;IST-Countdown-05-Gestern;IST-Countdown-05-Tage;IST-Countdown-05-Datum";
lON1=lON1#";SYS-Countdown-06-Termin;IST-Countdown-06-Heute;IST-Countdown-06-Morgen;IST-Countdown-06-Gestern;IST-Countdown-06-Tage;IST-Countdown-06-Datum";
lON1=lON1#";SYS-Countdown-07-Termin;IST-Countdown-07-Heute;IST-Countdown-07-Morgen;IST-Countdown-07-Gestern;IST-Countdown-07-Tage;IST-Countdown-07-Datum";
lON1=lON1#";SYS-Countdown-08-Termin;IST-Countdown-08-Heute;IST-Countdown-08-Morgen;IST-Countdown-08-Gestern;IST-Countdown-08-Tage;IST-Countdown-08-Datum";
lON1=lON1#";SYS-Countdown-09-Termin;IST-Countdown-09-Heute;IST-Countdown-09-Morgen;IST-Countdown-09-Gestern;IST-Countdown-09-Tage;IST-Countdown-09-Datum";
lON1=lON1#";SYS-Countdown-10-Termin;IST-Countdown-10-Heute;IST-Countdown-10-Morgen;IST-Countdown-10-Gestern;IST-Countdown-10-Tage;IST-Countdown-10-Datum";
}
object hO1=dom.GetObject(ID_SYSTEM_VARIABLES);string lCO1="";time lDateTime=(system.Date("%F %X")).ToTime();boolean lDoLoop1=true;string lGetError1;string lGetOut1;time hD1=(lDateTime.Format("%F")#" 06:00:00").ToTime();integer hI1=-1;
string hL1="";string hL2="";string hL3="";string hL4="";string hL5="";string hL6="";string hL7="";string hL8="";string hL9="Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag";string hL10="Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember";integer z1=0;integer z2=0;integer z3=0;string lSP1="";string lSP2="";string lSP3="";
boolean tB1=false;boolean tB2=false;boolean tB3=false;boolean tB4=false;boolean tB5=false;boolean tB6=false;boolean tB7=false;time tD1;time tD2;time tD3;integer tI1=0;integer tI2=0;integer tI3=0;integer tI4=0;integer tI5=0;integer tI6=0;integer tI7=0;integer tI8=0;integer tI9=0;integer tI10=0;
string tL1="";string tL2="";string tL3="";string tL4="";string tL5="";string tL6="";string tL7="";object tO1=null;object tO2=null;object tO3=null;object tO4=null;object tO5=null;string tS1="";string tS2="";string tS3="";string tS4="";string tS5="";string tS6="";string tS7="";string tS8="";string tS9="";var tV1;
string lCV1="";
if((system.IsVar("lCV1"))&&(system.IsVar("lSP1"))){
lCV1="lScriptName;hO1;lON1;lCO1;lDateTime;lDoLoop1;z1;z2;z3;lSP1;lSP2;lSP3;hD1;hI1;hL1;hL2;hL3;hL4;hL5;hL6;hL7;hL8;hL9;hL10;hS1;hS2;hS3;tB1;tB2;tB3;tB4;tB5;tB6;tB7;tD1;tD2;tD3;tI1;tI2;tI3;tI4;tI5;tI6;tI7;tI8;tI9;tI10;tL1;tL2;tL3;tL4;tL5;tL6;tL7;tO1;tO2;tO3;tO4;tO5;tS1;tS2;tS3;tS4;tS5;tS6;tS7;tS8;tS9;tV1";
if(lCV1.VarType()==4){foreach(lSP1,lCV1.Split(";")){if(system.IsVar(lSP1)==false){if(system.IsVar("lON1")){if(lON1.StrValueByIndex(";",0)<>""){if(hO1.Get(lON1.StrValueByIndex(";",0))){(hO1.Get(lON1.StrValueByIndex(";",0))).State("ACHTUNG: Skript-Variabel-Überlauf");}}}quit;}}}else{quit;}}else{quit;}
z1=0;foreach(lSP1,lON1.Split(";")){tS1="0-0-0";if(lSP1<>""){tO1=hO1.Get(lSP1);if(tO1){if(z1==-1){tS1="1";if((tO1.Value()==null)||(tO1.Value()=="")||(tO1.Value()=="???")){tS1=tS1#"-0";}else{tS1=tS1#"-1";}tS1=tS1#"-0";}else{tS1="1-0-0";}}}if(z1>0){lCO1=lCO1#";";}lCO1=lCO1#tS1;z1=z1+1;}
tL1="2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39";tB1=false;tI7=hD1.Year();if((tI7%400)==0){tB1=true;}else{if((tI7%100)==0){tB1=false;}else{if((tI7%4)==0){tB1=true;}}}
tB2=(lDateTime.IsDST()==1);tD1=(hD1.Format("%Y")#"-03-31 06:00:00").ToTime();tI7=(tD1.Format("%w")).ToInteger();tD2=((tD1-(tI7*86400)).Format("%F")#" 06:00:00").ToTime();if(hD1>tD2){tD1=((hD1.Year()+1).ToString(0)#"-03-31 06:00:00").ToTime();tI7=(tD1.Format("%w")).ToInteger();tD2=((tD1-(tI7*86400)).Format("%F")#" 06:00:00").ToTime();}
tD1=(hD1.Format("%Y")#"-10-31 06:00:00").ToTime();tI7=(tD1.Format("%w")).ToInteger();tD3=((tD1-(tI7*86400)).Format("%F")#" 06:00:00").ToTime();if(hD1>tD3){tD1=((hD1.Year()+1).ToString(0)#"-10-31 06:00:00").ToTime();tI7=(tD1.Format("%w")).ToInteger();tD3=((tD1-(tI7*86400)).Format("%F")#" 06:00:00").ToTime();}
tI2=(((tD2+86400)-(hD1)).ToInteger()/86400).ToInteger()-1;tI3=(((tD3+86400)-(hD1)).ToInteger()/86400).ToInteger()-1;tI1=tI2;tS2=tD2.Format("%d.%m.%Y");tS3=tD3.Format("%d.%m.%Y");tS1=tS2;if(tI2>tI3){tI1=tI3;tS1=tS3;}tI4=(hD1.Format("%w")).ToInteger();tI5=(hD1.Format("%u")).ToInteger();tI6=hD1.Month();
z1=0;while(z1<38){tI7=(tL1.StrValueByIndex(";",z1)).ToInteger();if(((lCO1.StrValueByIndex(";",tI7)).StrValueByIndex("-",0)).ToInteger()>0){tO1=hO1.Get(lON1.StrValueByIndex(";",tI7));if(tI7==2){tV1=hD1.Year();}if(tI7==4){tV1=hD1.Yearday();}if(tI7==5){tV1=(hD1.Format("%V")).ToInteger();}if(tI7==6){tV1=(hD1.Format("%U")).ToInteger();}if(tI7==7){tV1=(hD1.Format("%W")).ToInteger();}if(tI7==12){tV1=hL10.StrValueByIndex(";",(tI6-1));}if(tI7==13){tV1=tI6;}if(tI7==14){tV1=hD1.Day();}
if(tI7==16){tV1=hL9.StrValueByIndex(";",tI4);}if(tI7==17){tV1=tI5;}if(tI7==18){tV1=tI4+1;}if(tI7==19){tV1=tI4;}if(tI7==23){tV1=6-tI5;if(tV1<0){tV1=0;}}if(tI7==24){tV1=7-tI5;}if(tI7==32){tV1=tI2;}if(tI7==33){tV1=tI3;}if(tI7==34){tV1=tI1;}if(tI7==35){tV1=tS2;}if(tI7==36){tV1=tS3;}if(tI7==37){tV1=tS1;}if((tI7==3)||(tI7==8)||(tI7==9)||(tI7==10)||(tI7==11)||(tI7==15)||(tI7==20)||(tI7==21)||(tI7==22)||(tI7==25)||(tI7==26)||(tI7==27)||(tI7==28)||(tI7==29)||(tI7==30)||(tI7==31)||(tI7==38)||(tI7==39)){tI8=2;tV1=0;
if(tI7==3){if(tB1){tV1=1;}}if(tI7==8){if(((hD1.Format("%V")).ToInteger()%2)==0){tV1=1;}}if(tI7==9){if(((hD1.Format("%U")).ToInteger()%2)==0){tV1=1;}}if(tI7==10){if(((hD1.Format("%W")).ToInteger()%2)==0){tV1=1;}}if(tI7==11){tI8=12;tV1=tI6-1;}if(tI7==15){tI8=7;tV1=tI5-1;}if(tI7==20){if((tI5==6)||(tI5==7)){tV1=1;}}if(tI7==21){if((tI5==5)||(tI5==6)){tV1=1;}}if(tI7==22){if((tI5==7)||(tI5==1)){tV1=1;}}if(tI7==25){if((tI5<>6)&&(tI5<>7)){tV1=1;}}if(tI7==26){if((tI5<>5)&&(tI5<>6)){tV1=1;}}if(tI7==27){if((tI5<>1)&&(tI5<>7)){tV1=1;}}if(tI7==28){if(tI5<>7){tV1=1;}}if(tI7==29){if(tI5<>6){tV1=1;}}if(tI7==30){if(tI5<>1){tV1=1;}}if(tI7==31){if(tB2){tV1=1;}}
if(tI7==38){tI9=hD1.Year()-2000;tI10=hD1.Day();if((tI6==1)||(tI6==2)){tV1=3;}if(tI6==3){tV1=0;tI8=20;tL2="48;52;56;60;64;68;72;76;80;81;84;85;88;89;92;93;96;97";foreach(lSP1,tL2.Split(";")){if(tI9==lSP1.ToInteger()){tI8=19;}}tL2="3;7;11";foreach(lSP1,tL2.Split(";")){if(tI9==lSP1.ToInteger()){
tI8=21;}}if(tI10<tI8){tV1=3;}}if((tI6==4)||(tI6==5)){tV1=0;}if(tI6==6){tV1=1;tI8=21;tL2="20;24;28;32;36;40;44;48;49;52;53;56;57;60;61;64;65;68;69;72;73;76;77;78;80;81;82;84;85;86;88;89;90;92;93;94;96;97;98";foreach(lSP1,tL2.Split(";")){if(tI9==lSP1.ToInteger()){tI8=20;}}if(tI10<tI8){tV1=0;}}
if((tI6==7)||(tI6==8)){tV1=1;}if(tI6==9){tV1=2;tI8=22;tL2="1;2;3;5;6;7;10;11;14;15;18;19;22;23;26;27;30;31;34;35;38;39;43;47;51;55;59;63;67";foreach(lSP1,tL2.Split(";")){if(tI9==lSP1.ToInteger()){tI8=23;}}if(tI10<tI8){tV1=1;}}if((tI6==10)||(tI6==11)){tV1=2;}if(tI6==12){tV1=3;tI8=21;tL2="84;88;92;96";
foreach(lSP1,tL2.Split(";")){if(tI9==lSP1.ToInteger()){tI8=20;}}tL2="2;3;6;7;10;11;14;15;19;23;27;31;35;39;43;47";foreach(lSP1,tL2.Split(";")){if(tI9==lSP1.ToInteger()){tI8=22;}}if(tI10<tI8){tV1=2;}}tI8=4;}
if(tI7==39){tI8=4;tI9=(hD1.Month()*100)+hD1.Day();tV1=3;if((tI9>=301)&&(tI9<601)){tV1=0;}if((tI9>=601)&&(tI9<901)){tV1=1;}if((tI9>=901)&&(tI9<1201)){tV1=2;}}if(tO1.ValueType()==ivtInteger){if((web.webGetValueListCount(tO1.ValueList())).ToInteger()>tI8){tV1=tV1+1;}}}tO1.State(tV1);}z1=z1+1;}
if(((lCO1.StrValueByIndex(";",31)).StrValueByIndex("-",0)).ToInteger()>0){tO1=hO1.Get(lON1.StrValueByIndex(";",31));tI7=0;tI8=(lDateTime.Hour()*3600)+(lDateTime.Minute()*60)+lDateTime.Second();tB3=false;tB4=false;tD1=("1970-01-02 00:00:00").ToTime();if(((tI2==0)&&(tB2==false))||((tI2==1)&&(tI8>7200))){tB3=true;tB4=true;
if(tI2==0){tI7=7200-tI8;}else{tI7=93600-tI8;}tD1=tD1+tI7;}if(((tI3==0)&&(tB2))||((tI3==1)&&(tI8>10800))){tB3=true;if(tI3==0){tI7=10800-tI8;}else{tI7=97200-tI8;}tD1=tD1+tI7;}if(tB3){tI7=0;if(tB4){tI7=1;}if(tO1.ValueType()==ivtInteger){if((web.webGetValueListCount(tO1.ValueList())).ToInteger()>2){tI7=tI7+1;}}
tO2=dom.CreateObject(OT_PROGRAM);tO2.Name("AutoCreateTrigger");tO3=tO2.Rule();tO4=tO3.RuleDestination();tO4.BreakOnRestart(true);tO5=tO4.DestAddSingle();tO5.DestinationParam(19);tO5.DestinationDP(tO1.ID());tO5.DestinationValueType(tO1.ValueType());tO5.DestinationValue(tI7);tO5.DestinationValueParamType(ivtDelay);tO5.DestinationValueParam(tD1.ToString());tO2.ProgramExecute();dom.DeleteObject(tO2.ID());}}
if(((lCO1.StrValueByIndex(";",1)).StrValueByIndex("-",0)).ToInteger()>0){tS1="";tO1=hO1.Get(lON1.StrValueByIndex(";",1));if(tO1.ValueType()==ivtString){tS1=tO1.Value();}else{if((tO1.ValueType()==ivtInteger)&&(tO1.ValueSubType()==istEnum)){tS1=(tO1.ValueList()).StrValueByIndex(";",tO1.Value());}}}else{tS1=hS1;}if(tS1==""){tS3="";tS4="";tS5="";}else{tI1=tS1.Find("-");if(tI1>=0){tS3=tS1.Substr(0,tI1);tS2=tS1.Substr(tI1+1,((tS1.Length()-1)-tI1));tI2=tS2.Find("-");if(tI2>=0){tS4=tS1.Substr(0,tI1+tI2+1);tS5=tS1;}else{tS4=tS1;tS5="";}}else{tS3=tS1;tS4="";tS5="";}}
hL1=hL1#";01.01.";hL2=hL2#";Neujahr,Neujahrstag,01.01.";if((tS3=="A")||(tS4=="D-BW")||(tS4=="D-BY")){hL3=hL3#";0";}else{hL3=hL3#";1";}if((tS3=="D")||(tS3=="A")||(tS3=="CH")){hL4=hL4#";0";}
hL1=hL1#";02.01.";hL2=hL2#";Berchtoldstag,02.01.";hL3=hL3#";-1";if((tS4=="CH-BE")||(tS4=="CH-TG")||(tS4=="CH-VD")||(tS4=="CH-JU")||(tS4=="CH-FR")||(tS4=="CH-GE")||(tS4=="CH-GL")||(tS4=="CH-LU")||(tS4=="CH-OW")||(tS4=="CH-SH")||(tS4=="CH-SO")||(tS4=="CH-ZG")||(tS4=="CH-ZH")){hL4=hL4#";1";}
hL1=hL1#";06.01.";hL2=hL2#";Heilige Drei Könige,Erscheinungsfest,06.01.";if(tS4=="D-BW"){hL3=hL3#";1";}else{hL3=hL3#";0";}if((tS3=="A")||(tS4=="D-BW")||(tS4=="D-BY")||(tS4=="D-ST")||(tS4=="CH-TI")||(tS4=="CH-SZ")||(tS4=="CH-UR")){hL4=hL4#";2";}hL1=hL1#";14.02.";hL2=hL2#";Valentinstag,14.02.";hL3=hL3#";-1";
hL1=hL1#";19.03.";hL2=hL2#";Josefstag,19.03.";hL3=hL3#";-1";if((tS4=="CH-SZ")||(tS4=="CH-VS")||(tS4=="CH-NW")||(tS4=="CH-TI")||(tS4=="CH-UR")){hL4=hL4#";4";}
hL1=hL1#";01.05.";hL2=hL2#";Erster Mai,Tag der Arbeit,Maifeiertag,Staatsfeiertag,01.05.";if((tS3=="CH")||(tS4=="D-BY")||(tS4=="D-SN")){hL3=hL3#";1";}else{if(tS3=="A"){hL3=hL3#";3";}else{hL3=hL3#";0";}}if((tS3=="D")||(tS3=="A")||(tS4=="CH-BL")||(tS4=="CH-BS")||(tS4=="CH-JU")||(tS4=="CH-NE")||(tS4=="CH-ZH")||(tS4=="CH-SH")||(tS4=="CH-TG")||(tS4=="CH-TI")){hL4=hL4#";5";}
hL1=hL1#";04.05.";hL2=hL2#";Florian,04.05.";hL3=hL3#";-1";hL1=hL1#";24.06.";hL2=hL2#";Johannistag,24.06.";hL3=hL3#";-1";hL1=hL1#";01.08.";hL2=hL2#";Bundesfeier,01.08.";hL3=hL3#";-1";if(tS3=="CH"){hL4=hL4#";8";}hL1=hL1#";08.08.";hL2=hL2#";Augsburger Hohe Friedensfest,Augsburger Friedensfest,08.08.";hL3=hL3#";-1";if(tS5=="D-BY-A"){hL4=hL4#";9";}
hL1=hL1#";15.08.";hL2=hL2#";Mariä Himmelfahrt,Maria Himmelsfahrtstag,15.08.";if(tS4=="D-SL"){hL3=hL3#";1";}else{hL3=hL3#";0";}if((tS3=="A")||(tS4=="D-SL")||(tS5=="D-BY-A")||(tS5=="D-BY-1")||(tS4=="CH-LU")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-SZ")||(tS4=="CH-TI")||(tS4=="CH-UR")||(tS4=="CH-VS")||(tS4=="CH-ZG")||(tS4=="CH-AI")||(tS4=="CH-JU")){hL4=hL4#";10";}
hL1=hL1#";24.09.";hL2=hL2#";Rupert,Rupertikirtag,24.09.";hL3=hL3#";-1";hL1=hL1#";29.09.";hL2=hL2#";Michaelistag,29.09.";hL3=hL3#";-1";hL1=hL1#";03.10.";hL2=hL2#";Tag der deutschen Einheit,03.10.";hL3=hL3#";-1";if(tS3=="D"){hL4=hL4#";13";}hL1=hL1#";10.10.";hL2=hL2#";Tag der Volksabstimmung,10.10.";hL3=hL3#";-1";
hL1=hL1#";26.10.";hL2=hL2#";Nationalfeiertag,26.10.";hL3=hL3#";-1";if(tS3=="A"){hL4=hL4#";15";}hL1=hL1#";31.10.";hL2=hL2#";Reformationstag,Reformationsfest,Halloween,31.10.";if((tS4=="D-BB")||(tS4=="D-SN")){hL3=hL3#";1";}else{hL3=hL3#";0";}if((tS4=="D-BB")||(tS4=="D-MV")||(tS4=="D-SN")||(tS4=="D-ST")||(tS4=="D-TH")){hL4=hL4#";15";}
hL1=hL1#";01.11.";hL2=hL2#";Allerheiligen,Allerheiligentag,01.11.";if((tS4=="D-NW")||(tS4=="D-RP")||(tS4=="D-SL")){hL3=hL3#";1";}else{hL3=hL3#";0";}if((tS3=="A")||(tS4=="D-BW")||(tS4=="D-BY")||(tS4=="D-NW")||(tS4=="D-RP")||(tS4=="D-SL")||(tS4=="CH-GL")||(tS4=="CH-LU")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-SG")||(tS4=="CH-SZ")||(tS4=="CH-TI")||(tS4=="CH-UR")||(tS4=="CH-VS")||(tS4=="CH-ZG")||(tS4=="CH-AI")||(tS4=="CH-JU")){hL4=hL4#";17";}
hL1=hL1#";02.11.";hL2=hL2#";Allerseelen,Seelentag,02.11.";hL3=hL3#";-1";hL1=hL1#";11.11.";hL2=hL2#";Martinstag,Sankt Martin,11.11.";hL3=hL3#";-1";hL1=hL1#";15.11.";hL2=hL2#";Leopold,15.11.";hL3=hL3#";-1";hL1=hL1#";06.12.";hL2=hL2#";Nikolaus,Nikolaustag,06.12.";hL3=hL3#";-1";
hL1=hL1#";08.12.";hL2=hL2#";Mariä Empfängnis,08.12.";hL3=hL3#";-1";if((tS3=="A")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-UR")||(tS4=="CH-VS")||(tS4=="CH-ZG")||(tS4=="CH-AI")||(tS4=="CH-LU")||(tS4=="CH-SZ")||(tS4=="CH-TI")){hL4=hL4#";22";}hL1=hL1#";24.12.";hL2=hL2#";Heiliger Abend,Heilig Abend,24.12.";hL3=hL3#";-1";
hL1=hL1#";25.12.";hL2=hL2#";1. Weihnachtstag,Erster Weihnachtstag,1. Weihnachtsfeiertag,Erster Weihnachtsfeiertag,Christtag,Weihnachtstag,Weihnachten,25.12.";if((tS4=="D-BW")||(tS4=="D-BY")||(tS4=="D-BE")){hL3=hL3#";1";}else{if((tS4=="D-BB")||(tS4=="D-ST")){hL3=hL3#";2";}else{if(tS4=="D-TH"){hL3=hL3#";3";}else{if(tS3=="A"){hL3=hL3#";4";}else{if(tS3=="CH"){hL3=hL3#";5";}else{hL3=hL3#";0";}}}}}if((tS3=="D")||(tS3=="A")||(tS3=="CH")){hL4=hL4#";24";}
hL1=hL1#";26.12.";hL2=hL2#";2. Weihnachtstag,Zweiter Weihnachtstag,2. Weihnachtsfeiertag,Zweiter Weihnachtsfeiertag,Stefanitag,Stefanstag,26.12.";if((tS4=="D-BW")||(tS4=="D-BY")||(tS4=="D-BE")){hL3=hL3#";1";}else{if((tS4=="D-BB")||(tS4=="D-ST")){hL3=hL3#";2";}else{if(tS4=="D-TH"){hL3=hL3#";3";}else{if(tS3=="A"){hL3=hL3#";4";}else{if(tS3=="CH"){hL3=hL3#";5";}else{hL3=hL3#";0";}}}}}if((tS3=="D")||(tS3=="A")||(tS4=="CH-BE")||(tS4=="CH-BL")||(tS4=="CH-BS")||(tS4=="CH-GL")||(tS4=="CH-GR")||(tS4=="CH-LU")||(tS4=="CH-SG")||(tS4=="CH-SH")||(tS4=="CH-TG")||(tS4=="CH-TI")||(tS4=="CH-ZH")||(tS4=="CH-SZ")||(tS4=="CH-FR")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-ZG")){hL4=hL4#";25";}
hL1=hL1#";31.12.";hL2=hL2#";Silvester,31.12.";hL3=hL3#";-1";hL1=hL1#";OS-52";hL2=hL2#";Weiberfastnacht,OS-52";hL3=hL3#";-1";hL1=hL1#";OS-49";hL2=hL2#";Faschingssonntag,OS-49";hL3=hL3#";-1";hL1=hL1#";OS-48";hL2=hL2#";Rosenmontag,OS-48";hL3=hL3#";-1";hL1=hL1#";OS-47";hL2=hL2#";Faschingsdienstag,OS-47";hL3=hL3#";-1";
hL1=hL1#";OS-46";hL2=hL2#";Aschermittwoch,OS-46";hL3=hL3#";-1";hL1=hL1#";OS-7";hL2=hL2#";Palmsonntag,OS-7";hL3=hL3#";-1";hL1=hL1#";OS-3";hL2=hL2#";Gründonnerstag,OS-3";hL3=hL3#";-1";
hL1=hL1#";OS-2";hL2=hL2#";Karfreitag,OS-2";hL3=hL3#";-1";if((tS3=="D")||(tS4=="A-1")||(tS4=="CH-AG")||(tS4=="CH-AI")||(tS4=="CH-AR")||(tS4=="CH-BE")||(tS4=="CH-BL")||(tS4=="CH-BS")||(tS4=="CH-FR")||(tS4=="CH-GE")||(tS4=="CH-GL")||(tS4=="CH-GR")||(tS4=="CH-JU")||(tS4=="CH-LU")||(tS4=="CH-NE")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-SG")||(tS4=="CH-SH")||(tS4=="CH-SO")||(tS4=="CH-SZ")||(tS4=="CH-TG")||(tS4=="CH-UR")||(tS4=="CH-VD")||(tS4=="CH-ZG")||(tS4=="CH-ZH")){hL4=hL4#";34";}
hL1=hL1#";OS-1";hL2=hL2#";Ostersamstag,Karsamstag,OS-1";hL3=hL3#";-1";hL1=hL1#";OS+0";hL2=hL2#";Ostersonntag,OS+0";hL3=hL3#";-1";if(tS4=="D-BB"){hL4=hL4#";36";}
hL1=hL1#";OS+1";hL2=hL2#";Ostermontag,OS+1";hL3=hL3#";-1";if((tS3=="D")||(tS3=="A")||(tS4=="CH-AI")||(tS4=="CH-AR")||(tS4=="CH-BE")||(tS4=="CH-BL")||(tS4=="CH-BS")||(tS4=="CH-GE")||(tS4=="CH-GL")||(tS4=="CH-GR")||(tS4=="CH-JU")||(tS4=="CH-SG")||(tS4=="CH-SH")||(tS4=="CH-TG")||(tS4=="CH-TI")||(tS4=="CH-VD")||(tS4=="CH-ZH")||(tS4=="CH-SZ")||(tS4=="CH-UR")||(tS4=="CH-FR")||(tS4=="CH-LU")||(tS4=="CH-NE")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-ZG")){hL4=hL4#";37";}
hL1=hL1#";OS+39";hL2=hL2#";Christi Himmelfahrt,Christi Himmelfahrtstag,Christi-Himmelfahrtstag,Christi-Himmelfahrts-Tag,Himmelfahrtstag,Auffahrt,Vatertag,OS+39";if(tS4=="D-BB"){hL3=hL3#";1";}else{if(tS4=="D-MV"){hL3=hL3#";2";}else{if(tS4=="D-NW"){hL3=hL3#";3";}else{if((tS4=="D-BE")||(tS4=="D-HB")||(tS4=="D-HE")||(tS4=="D-HH")||(tS4=="D-NI")||(tS4=="D-SH")){hL3=hL3#";4";}else{if(tS3=="CH"){hL3=hL3#";5";}else{hL3=hL3#";0";}}}}}if((tS3=="D")||(tS3=="A")||(tS3=="CH")){hL4=hL4#";38";}
hL1=hL1#";OS+49";hL2=hL2#";Pfingstsonntag,OS+49";hL3=hL3#";-1";if(tS4=="D-BB"){hL4=hL4#";39";}
hL1=hL1#";OS+50";hL2=hL2#";Pfingstmontag,OS+50";hL3=hL3#";-1";if((tS3=="D")||(tS3=="A")||(tS4=="CH-AI")||(tS4=="CH-AR")||(tS4=="CH-BE")||(tS4=="CH-BL")||(tS4=="CH-BS")||(tS4=="CH-GE")||(tS4=="CH-GR")||(tS4=="CH-JU")||(tS4=="CH-SG")||(tS4=="CH-SH")||(tS4=="CH-TG")||(tS4=="CH-VD")||(tS4=="CH-ZH")||(tS4=="CH-GL")||(tS4=="CH-SZ")||(tS4=="CH-TI")||(tS4=="CH-UR")||(tS4=="CH-FR")||(tS4=="CH-LU")||(tS4=="CH-NE")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-ZG")){hL4=hL4#";40";}
hL1=hL1#";OS+56";hL2=hL2#";Dreieinigkeit,Trinitatis,OS+56";hL3=hL3#";-1";
hL1=hL1#";OS+60";hL2=hL2#";Fronleichnam,Fronleichnamstag,OS+60";if((tS4=="D-HE")||(tS4=="D-NW")||(tS4=="D-RP")||(tS4=="D-SL")){hL3=hL3#";1";}else{hL3=hL3#";0";}if((tS3=="A")||(tS4=="D-BW")||(tS4=="D-BY")||(tS4=="D-HE")||(tS4=="D-NW")||(tS4=="D-RP")||(tS4=="D-SL")||(tS5=="D-SN-1")||(tS5=="D-TH-1")||(tS4=="CH-AI")||(tS4=="CH-JU")||(tS4=="CH-LU")||(tS4=="CH-NW")||(tS4=="CH-OW")||(tS4=="CH-SZ")||(tS4=="CH-UR")||(tS4=="CH-VS")||(tS4=="CH-ZG")||(tS4=="CH-TI")){hL4=hL4#";42";}
hL1=hL1#";OS+68";hL2=hL2#";Herz-Jesu-Freitag,OS+68";hL3=hL3#";-1";hL1=hL1#";AD-14";hL2=hL2#";Volkstrauertag,AD-14";hL3=hL3#";-1";hL1=hL1#";AD-11";hL2=hL2#";Buß- und Bettag,AD-11";hL3=hL3#";-1";if(tS4=="D-SN"){hL4=hL4#";45";}hL1=hL1#";AD-7";hL2=hL2#";Totensonntag,Ewigkeitssonntag,AD-7";hL3=hL3#";-1";
hL1=hL1#";AD+0";hL2=hL2#";1. Advent,AD+0";hL3=hL3#";-1";hL1=hL1#";AD+7";hL2=hL2#";2. Advent,AD+7";hL3=hL3#";-1";hL1=hL1#";AD+14";hL2=hL2#";3. Advent,AD+14";hL3=hL3#";-1";hL1=hL1#";AD+21";hL2=hL2#";4. Advent,AD+21";hL3=hL3#";-1";hL1=hL1#";MT+0";hL2=hL2#";Muttertag,MT+0";hL3=hL3#";-1";hL1=hL1#";ED+0";hL2=hL2#";Erntedankfest,ED+0";hL3=hL3#";-1";
hI1=52;if(hL1.Find(";")==0){hL1=hL1.Substr(1,(hL1.Length()-1));}if(hL2.Find(";")==0){hL2=hL2.Substr(1,(hL2.Length()-1));}if(hL3.Find(";")==0){hL3=hL3.Substr(1,(hL3.Length()-1));}if(hL4.Find(";")==0){hL4=hL4.Substr(1,(hL4.Length()-1));}
tL1="41;40;61;81;101";tL2="-1;1;2;3;4";z1=0;while(z1<5){tI1=(tL1.StrValueByIndex(";",z1)).ToInteger();if(((lCO1.StrValueByIndex(";",tI1)).StrValueByIndex("-",0)).ToInteger()>0){tS1="";tO1=hO1.Get(lON1.StrValueByIndex(";",tI1));
if(tO1.ValueType()==ivtString){tS1=tO1.Value();}else{if((tO1.ValueType()==ivtInteger)&&(tO1.ValueSubType()==istEnum)){tS1=tO1.ValueList();}}if((tS1.Length()>1)&&(tS1<>"00.00.")){lSP1="";foreach(lSP1,tS1.Split(";")){tS2="";tS3="";tS4="";tI2=-1;tB1=false;
if(lSP1.Find("=")>=0){tS4=lSP1.StrValueByIndex("=",0);tS3=lSP1.StrValueByIndex("=",1);tB1=true;}else{tS4=lSP1;}tS2=tS4;if(tB1==false){z2=0;foreach(lSP2,hL2.Split(";")){foreach(lSP3,lSP2.Split(",")){if(lSP3==tS4){tI2=z2;}}z2=z2+1;}}tI3=(tL2.StrValueByIndex(";",z1)).ToInteger();
if(tI3>=0){if((tS2<>"")||(tI2>=0)){if(tI2==-1){hI1=hI1+1;tI2=hI1;if(hL1<>""){hL1=hL1#";";}hL1=hL1#tS2;if(tS3==""){tS3=hS3;}if(hL2<>""){hL2=hL2#";";}hL2=hL2#tS3#","#tS2;if(hL3<>""){hL3=hL3#";";}hL3=hL3#"-1";}if(tI3==1){if(hL4<>""){hL4=hL4#";";}hL4=hL4#tI2.ToString(0);}if(tI3==2){
if(hL5<>""){hL5=hL5#";";}hL5=hL5#tI2.ToString(0);}if(tI3==3){if(hL6<>""){hL6=hL6#";";}hL6=hL6#tI2.ToString(0);}if(tI3==4){if(hL7<>""){hL7=hL7#";";}hL7=hL7#tI2.ToString(0);}}}else{if(tI2>=0){tS6=tI2.ToString(0);tL3="";foreach(lSP2,hL4.Split(";")){if(lSP2<>tS6){if(tL3<>""){tL3=tL3#";";}tL3=tL3#lSP2;}}hL4=tL3;}}}}}z1=z1+1;}
tL1="1;1;1;1;1;1;1;1;1;1;2;2;2;2;2;2;2;2;2;2;3;3;3;3;3;3;3;3;3;3;4;4;4;4;4;5;5;5;5;5;6;7;8;9";tL2="316;321;326;331;336;341;346;351;356;361;438;444;450;456;462;468;474;480;486;492;368;375;382;389;396;403;410;417;424;431;138;155;172;189;206;227;244;261;278;295;41;61;81;101";tL3=(hD1+172800).Format("%Y%m%d")#";"#(hD1+86400).Format("%Y%m%d")#";"#hD1.Format("%Y%m%d")#";"#(hD1-86400).Format("%Y%m%d")#";"#(hD1-172800).Format("%Y%m%d");
tS2="";z1=0;while(z1<44){if((z1==10)||(z1==20)||(z1==30)||(z1==35)||(z1==40)){tS2="";}tB1=false;tB2=true;tI1=(tL1.StrValueByIndex(";",z1)).ToInteger();tI2=(tL2.StrValueByIndex(";",z1)).ToInteger();tL4="";tL5="";tL6="";tL7="";
if(tI1<>6){if(((lCO1.StrValueByIndex(";",tI2)).StrValueByIndex("-",0)).ToInteger()==0){tB2=false;}}if(tB2){tS1="";if((tI1==1)||(tI1==2)||(tI1==3)||(tI1==4)||(tI1==5)){tO1=hO1.Get(lON1.StrValueByIndex(";",tI2));if(tO1.ValueType()==ivtString){tS1=tO1.Value();}else{
if((tO1.ValueType()==ivtInteger)&&(tO1.ValueSubType()==istEnum)){tS1=tO1.ValueList();}else{tB1=true;}}if(tS1.Length()<4){tB2=false;}}else{if(tI1==6){tS1=hL4;}if(tI1==7){tS1=hL5;}if(tI1==8){tS1=hL6;}if(tI1==9){tS1=hL7;}if(tS1==""){tB2=false;}}if((tB1==false)&&(tB2)){lSP1="";
foreach(lSP1,tS1.Split(";")){tB2=true;tI4=0;tI5=0;tS3="";tS4="";tS5="";if((tI1==1)||(tI1==2)||(tI1==3)||(tI1==4)||(tI1==5)){tS7=lSP1;}else{tS3=lSP1;tS7=hL1.StrValueByIndex(";",(tS3.ToInteger()));}tS6="";if(tS7.Find("=")>=0){tS6=tS7.StrValueByIndex("=",0);tS3=tS7.StrValueByIndex("=",1);
if((tI1<>4)&&(tI1<>5)){tB2=false;}}else{tS6=tS7;}if(tS6.Find(",")>=0){tS4=tS6.StrValueByIndex(",",0);tS5=tS6.StrValueByIndex(",",1);tI2=2;if((tI1<>3)&&(tI1<>4)&&(tI1<>5)){tB2=false;}}else{tS4=tS6;tI2=1;}tB3=false;tB4=false;if(tB2){z2=1;while(z2<=tI2){tB2=false;tB5=true;tB6=false;
if(z2==1){tS6=tS4;}else{tS6=tS5;}if(tS6.Length()>=6){if((tS6.Substr(2,1)==".")&&(tS6.Substr(5,1)==".")){tB5=false;if((tS6.Length()==6)||(tS6.Length()==8)||(tS6.Length()==10)){tB2=true;tS7=tS6.Substr(3,2)#tS6.Substr(0,2);if(tS6.Length()==10){tS7=tS6.Substr(6,4)#tS7;}else{
if(tS6.Length()==8){tS7=(hD1.Format("%Y")).Substr(0,2)#tS6.Substr(6,2)#tS7;}else{tS7=hD1.Format("%Y")#tS7;tB6=true;}}if(z2==1){tS4=tS7;}else{tS5=tS7;}}}}if(tB5){tS7=tS6.Substr(0,3);
if((tS7=="TD+")||(tS7=="TD-")||(tS7=="OS+")||(tS7=="OS-")||(tS7=="AD+")||(tS7=="AD-")||(tS7=="MT+")||(tS7=="MT-")||(tS7=="ED+")||(tS7=="ED-")){tB2=true;if(tS6.Find(".")>=0){tS7=tS6.StrValueByIndex(".",0);tS8=tS6.StrValueByIndex(".",1);if((tS7.Length()>=4)&&((tS8.Length()==2)||(tS8.Length()==4))){
if(tS8.Length()==2){tS6=tS7#"."#(hD1.Format("%Y")).Substr(0,2)#tS8;}}else{tB2=false;}}else{tS7=tS6;tS6=tS7#"."#hD1.Format("%Y");tB6=true;}if(tB2){tS7=tS7.Substr(3,(tS7.Length()-3))#tS6.Substr((tS6.Length()-4),4);if(z2==1){tS4=tS6;}else{tS5=tS6;}}}else{tB2=false;}}if(tB2){
z3=tS7.Length()-1;while(z3>=0){tS6=tS7.Substr(z3,1);if((tS6<>"0")&&(tS6<>"1")&&(tS6<>"2")&&(tS6<>"3")&&(tS6<>"4")&&(tS6<>"5")&&(tS6<>"6")&&(tS6<>"7")&&(tS6<>"8")&&(tS6<>"9")){tB2=false;z3=0;}z3=z3-1;}}if((tB2)&&(tB5==false)){tI6=(tS7.Substr(6,2)).ToInteger();tI7=(tS7.Substr(4,2)).ToInteger();
if((tI6<1)||(tI6>31)||(tI7<1)||(tI7>12)||((tI6>30)&&((tI7==4)||(tI7==6)||(tI7==9)||(tI7==11)))||((tI7==2)&&(tI6>29))){tB2=false;}else{if((tI6==29)&&(tI7==2)&&(tB6==false)){tD1=(tS7.Substr(0,4)#"-"#tS7.Substr(4,2)#"-"#tS7.Substr(6,2)#" 06:00:00").ToTime();if(tD1.Format("%F")=="1970-01-01"){
tB2=false;}}}}if(tB2){if(z2==1){tB3=tB6;}else{tB4=tB6;}}else{z2=tI2;}z2=z2+1;}}if(tB2){z2=1;while(z2<=tI2){if(z2==1){tS6=tS4;tB6=tB3;}else{tS6=tS5;tB6=tB4;}tI6=1;while(tI6<>0){tB5=false;tS7=tS6.Substr(0,1);if((tS7=="T")||(tS7=="O")||(tS7=="M")||(tS7=="E")||(tS7=="A")){tB5=true;}
if(tB5){tS7=tS6.Substr((tS6.Length()-4),4);if(tS6.Substr(0,2)=="TD"){tD2=(tS7#"-"#hD1.Format("%m")#"-"#hD1.Format("%d")#" 06:00:00").ToTime();if(tD2.Format("%F")=="1970-01-01"){tD2=(tS7#"-02-28 06:00:00").ToTime();}}if(tS6.Substr(0,2)=="OS"){tI7=tS7.ToInteger();tI8=((19*(tI7%19))+(15+(((3*(tI7/100))+3)/4)-(((8*(tI7/100))+13)/25)))%30;tI8=tI8-((tI8/29)+(((tI8/28)-(tI8/29))*((tI7%19)/11)));
tI8=(21+tI8)+(7-(((21+tI8)-(7-((tI7+(tI7/4)+(2-(((3*(tI7/100))+3)/4)))%7)))%7));tS8=tS7#"-";if(tI8>31){tI8=tI8-31;tS8=tS8#"04-";}else{tS8=tS8#"03-";}if(tI8<10){tS8=tS8#"0";}tD2=(tS8#tI8.ToString(0)#" 06:00:00").ToTime();}if(tS6.Substr(0,2)=="AD"){tD1=(tS7#"-12-25 06:00:00").ToTime();
tD2=tD1-(((tD1.Format("%u")).ToInteger()+21)*86400);}if(tS6.Substr(0,2)=="MT"){tD1=(tS7#"-05-01 06:00:00").ToTime();tD2=(tS7#"-05-15 06:00:00").ToTime()-((tD1.Format("%u")).ToInteger()*86400);}if(tS6.Substr(0,2)=="ED"){tD1=(tS7#"-10-01 06:00:00").ToTime();
tD2=tD1+((7-(tD1.Format("%u")).ToInteger())*86400);}tI7=1;if(tS6.Substr(2,1)=="-"){tI7=-1;}tI8=(tS6.Substr(3,(tS6.Length()-8))).ToInteger()*86400;tD1=tD2+(tI8*tI7);tS6=tD1.Format("%Y%m%d");}
else{if((tS6.Substr(4,4)=="0229")){tI7=(tS6.Substr(4,4)).ToInteger();tI8=1;if((tI6==2)||(tI6==4)||(tI6==9)||(tI6==10)){tI8=-1;}tB7=true;while(tB7){if((tI7%400)==0){tB7=false;}else{if((tI7%100)==0){tB7=true;}else{if((tI7%4)==0){tB7=false;}}}if(tB7){tI7=tI7+tI8;}}tS6=tI7.ToString(0)#"0229";}}
tI7=tS6.ToInteger();if((z2==1)||(tI6==4)||(tI6==7)||(tI6==9)){tI4=tI7;}if((tI2==1)||((tI6==1)&&(z2==2))||(tI6==5)||(tI6==6)||(tI6==8)||(tI6==10)){tI5=tI7;}if(tI6==1){if(z2==1){if(tB5){tI3=(tS4.Substr((tS4.Length()-4),4)).ToInteger();}else{tI3=(tS4.Substr(0,4)).ToInteger();}}else{if(tB5){tI9=(tS5.Substr((tS5.Length()-4),4)).ToInteger();}else{tI9=(tS5.Substr(0,4)).ToInteger();}}}tI8=(tL3.StrValueByIndex(";",2)).ToInteger();if(tI2==1){if(tB3){if(tI4>tI8){if((tI6==1)||(tI6==2)){tI6=2;tI3=tI3-1;}else{tI6=1;}}else{if((tI6==1)||(tI6==3)){tI6=3;tI3=tI3+1;}else
{tI6=1;}}}else{tI6=1;}}else{if(z2==2){if(tI6==1){if((tB3)&&(tB4)){if(tI4>tI5){tI9=tI9+1;tI6=6;}else{if(tI4<tI8){tI3=tI3+1;tI6=7;}else{tI3=tI3-1;tI6=9;}}}else{if((tB3)||(tB4)){if(tB3){if(tI4>tI5){tI3=tI3-1;tI6=4;}}else{if(tI4>tI5){tI9=tI9+1;tI6=5;}}}else{if(tI4>tI5){tB2=true;tI6=0;}}}}else{if(tI6==4){if(tI4>tI5){tI3=tI3-1;}else{tI6=1;}}if(tI6==5){if(tI4>tI5){tI9=tI9+1;}else{tI6=1;}}if(tI6==6){if(tI4>tI5){tI9=tI9+1;}else{tI6=8;}}if(tI6==7){tI9=tI9+1;tI6=8;}else{if(tI6==8){if(tI4<tI8){tI3=tI3+1;tI6=7;}else{tI6=10;}}}if(tI6==9){tI9=tI9-1;tI6=10;}
else{if(tI6==10){if(tI5>((tL3.StrValueByIndex(";",4)).ToInteger())){tI3=tI3-1;tI6=9;}else{tI6=1;}}}}}}if((tI2==1)||((z2==2)&&(tI6==1))||(tI6==9)){if((tI1==3)||(tI1==4)||(tI1==5)){if(tS3<>"1"){tL4=tL4#";"#tI4.ToString(0);tL5=tL5#";"#tI5.ToString(0);}else{tL6=tL6#";"#tI4.ToString(0);tL7=tL7#";"#tI5.ToString(0);}}else{tL4=tL4#";"#tI4.ToString(0);tL5=tL5#";"#tI5.ToString(0);if((tI1==6)||(tI1==7)||(tI1==8)||(tI1==9)){tL6=tL6#";"#tS3;}}}if((tI6==2)||(tI6==3)||(tI6==4)||(tI6==7)||(tI6==9)){tS6=tS4.Substr(0,1);if((tS6=="T")||(tS6=="O")||(tS6=="M")||(tS6=="E")||(tS6=="A")){tS6=tS4.Substr(0,(tS4.Length()-4))#tI3.ToString(0);}
else{tS6=tI3.ToString(0)#tS4.Substr(4,4);}tS4=tS6;}if((tI6==5)||(tI6==6)||(tI6==8)||(tI6==10)){tS6=tS5.Substr(0,1);if((tS6=="T")||(tS6=="O")||(tS6=="M")||(tS6=="E")||(tS6=="A")){tS6=tS5.Substr(0,(tS5.Length()-4))#tI9.ToString(0);}else{tS6=tI9.ToString(0)#tS5.Substr(4,4);}tS5=tS6;}if(tI6==1){tI6=0;}}z2=z2+1;}}if(tB2==false){tB1=true;}}if(tL4.Find(";")==0){tL4=tL4.Substr(1,(tL4.Length()-1));}if(tL5.Find(";")==0){tL5=tL5.Substr(1,(tL5.Length()-1));}if(tL6.Find(";")==0){tL6=tL6.Substr(1,(tL6.Length()-1));}if(tL7.Find(";")==0){tL7=tL7.Substr(1,(tL7.Length()-1));}z2=1;
while(z2<=3){if(z2==2){tL4=tL6;tL5=tL7;}tI4=(tL3.StrValueByIndex(";",0)).ToInteger();tI5=(tL3.StrValueByIndex(";",1)).ToInteger();tI6=(tL3.StrValueByIndex(";",2)).ToInteger();tI7=(tL3.StrValueByIndex(";",3)).ToInteger();tI8=(tL3.StrValueByIndex(";",4)).ToInteger();tI3=99999999;tB2=false;tB3=false;tB4=false;tB5=false;tB6=false;tB7=false;tS4="-1";tS5="-1";tS6="-1";tS7="-1";tS8="-1";tS9="-1";if((tI1==6)||(tI1==7)||(tI1==8)||(tI1==9)){tB7=true;}if((z2<3)&&(tL4.Length()>0)){z3=0;foreach(lSP1,tL4.Split(";")){tI9=lSP1.ToInteger();
tI10=(tL5.StrValueByIndex(";",z3)).ToInteger();if((tI9<=tI4)&&(tI10>=tI4)){tB2=true;if(tB7){tS4=tL6.StrValueByIndex(";",z3);}}if((tI9<=tI5)&&(tI10>=tI5)){tB3=true;if(tB7){tS5=tL6.StrValueByIndex(";",z3);}}if((tI9<=tI6)&&(tI10>=tI6)){tB4=true;if(tB7){tS6=tL6.StrValueByIndex(";",z3);}}if((tI9<=tI7)&&(tI10>=tI7)){tB5=true;if(tB7){tS7=tL6.StrValueByIndex(";",z3);}}if((tI9<=tI8)&&(tI10>=tI8)){tB6=true;if(tB7){tS8=tL6.StrValueByIndex(";",z3);}}if((tI1<>3)&&(tI1<>4)&&(tI1<>5)){
if((tI9>=tI6)&&(tI9<tI3)){tI3=tI9;if(tB7){tS9=tL6.StrValueByIndex(";",z3);}}}z3=z3+1;}if((tI1<>3)&&(tI1<>4)&&(tI1<>5)){tI4=tI3;}}if((tI1==3)||(tI1==4)||(tI1==5)){tI4=tI3;if((z2<3)&&(tL4.Length()>0)){lDoLoop1=true;while(lDoLoop1){lDoLoop1=false;z3=0;foreach(lSP1,tL4.Split(";")){tI9=lSP1.ToInteger();tS3=tL5.StrValueByIndex(";",z3);tI10=tS3.ToInteger();if(tI3<>99999999){
tS3=tI3.ToString(0);tD1=((((tS3.Substr(0,4)#"-"#tS3.Substr(4,2)#"-"#tS3.Substr(6,2)#" 06:00:00").ToTime())-86400).Format("%F")#" 06:00:00").ToTime();tS3=tI4.ToString(0);tD2=((((tS3.Substr(0,4)#"-"#tS3.Substr(4,2)#"-"#tS3.Substr(6,2)#" 06:00:00").ToTime())+86400).Format("%F")#" 06:00:00").ToTime();
if(((tI9<=(tD1.Format("%Y%m%d")).ToInteger())&&(tI10>=(tD1.Format("%Y%m%d")).ToInteger()))||(tI9==(tD2.Format("%Y%m%d")).ToInteger())||((tI9>=(tD1.Format("%Y%m%d")).ToInteger())&&(tI9<=(tD2.Format("%Y%m%d")).ToInteger()))){if(tI9<tI3){tI3=tI9;lDoLoop1=true;}if(tI10>tI4){tI4=tI10;lDoLoop1=true;}}else{if((tI9<tI3)&&(tI10>=tI6)){tI3=tI9;tI4=tI10;lDoLoop1=true;}}}else{
if(tI10>=tI6){tI3=tI9;tI4=tI10;lDoLoop1=true;}}z3=z3+1;}}}}if(tB7){tS4=tS4#";"#tS5#";"#tS6#";"#tS7#";"#tS8#";"#tS9;}if(z2<>3){if(tB2){tS2=tS2#"1";}else{tS2=tS2#"0";}if(tB3){tS2=tS2#"1";}else{tS2=tS2#"0";}if(tB4){tS2=tS2#"1";}else{tS2=tS2#"0";}if(tB5){tS2=tS2#"1";}else{tS2=tS2#"0";}if(tB6){tS2=tS2#"1";}else{tS2=tS2#"0";}tS2=tS2#tI3.ToString(0);}else{tI5=tS2.Length();z3=tI5-26;while(z3<tI5){
if(tS2.Substr(z3,1)=="1"){tB2=true;}if(tS2.Substr(z3+1,1)=="1"){tB3=true;}if(tS2.Substr(z3+2,1)=="1"){tB4=true;}if(tS2.Substr(z3+3,1)=="1"){tB5=true;}if(tS2.Substr(z3+4,1)=="1"){tB6=true;}if(tI3>(tS2.Substr(z3+5,8)).ToInteger()){tI3=(tS2.Substr(z3+5,8)).ToInteger();}z3=z3+13;}tI4=tI3;}if(tI1==1){tL4="0;2;1;0;0;4;3;0;0;0;0;0;0;0;0;0;0;0;0;0";}if(tI1==2){tL4="0;2;1;3;0;5;4;0;0;0;0;0;0;0;0;0;0;0;0;0";}if(tI1==3){tL4="0;2;1;3;0;6;4;5;0;0;0;0;0;0;0;0;0;0;0;0";}if((tI1==4)||(tI1==5)){
if(z2==1){tL4="0;6;5;7;0;10;8;9;0;0;0;0;0;0;0;0;0;0;0;0";}if(z2==2){tL4="0;12;11;13;0;16;14;15;0;0;0;0;0;0;0;0;0;0;0;0";}if(z2==3){tL4="0;2;1;3;0;0;4;0;0;0;0;0;0;0;0;0;0;0;0;0";}}if((tI1==6)||(tI1==7)||(tI1==8)||(tI1==9)){tL4="10;4;1;7;13;18;16;0;11;12;5;6;2;3;8;9;14;15;17;19";}tI2=(tL2.StrValueByIndex(";",z1)).ToInteger();z3=0;while(z3<20){tI5=(tL4.StrValueByIndex(";",z3)).ToInteger();if(tI5<>0){tV1=null;
if(((lCO1.StrValueByIndex(";",tI2+tI5)).StrValueByIndex("-",0)).ToInteger()>0){tO1=hO1.Get(lON1.StrValueByIndex(";",tI2+tI5));if((z3==0)||(z3==1)||(z3==2)||(z3==3)||(z3==4)){tV1=0;if(z3==0){if(tB2){tV1=1;}}if(z3==1){if(tB3){tV1=1;}}if(z3==2){if(tB4){tV1=1;}}if(z3==3){if(tB5){tV1=1;}}if(z3==4){if(tB6){tV1=1;
}}if(tO1.ValueType()==ivtInteger){if((web.webGetValueListCount(tO1.ValueList())).ToInteger()>2){tV1=tV1+1;}}}if((z3==5)||(z3==6)||(z3==7)){if(tI3<>99999999){tS3=tI3.ToString();tD1=(tS3.Substr(0,4)#"-"#tS3.Substr(4,2)#"-"#tS3.Substr(6,2)#" 06:00:00").ToTime();}if(tI4<>99999999){tS3=tI4.ToString();tD2=(tS3.Substr(0,4)#"-"#tS3.Substr(4,2)#"-"#tS3.Substr(6,2)#" 06:00:00").ToTime();}
if(z3==5){tV1="";if(tI3<>99999999){tV1=(hL9.StrValueByIndex(";",(tD1.Format("%w")).ToInteger()))#", "#tD1.Format("%d.%m.%Y");}if((tI3<>tI4)&&(tI4<>99999999)&&((tI1==3)||(tI1==4)||(tI1==5))){tV1=tV1#" - "#(hL9.StrValueByIndex(";",(tD2.Format("%w")).ToInteger()))#", "#tD2.Format("%d.%m.%Y");}}if(z3==6){if(tB4){tV1=0;}
else{if(tB3){tV1=1;}else{if(tI3==99999999){tV1=tO1.ValueMax();}else{tV1=(((tD1+86400)-hD1).ToInteger()/86400).ToInteger()-1;}}}}if(z3==7){if(tI4==99999999){tV1=tO1.ValueMax();}else{tV1=(((tD2+86400)-hD1).ToInteger()/86400).ToInteger()-1;}}}if((z3==9)||(z3==11)||(z3==13)||(z3==15)||(z3==17)||(z3==19)||(z3==8)||(z3==10)||(z3==12)||(z3==14)||(z3==16)||(z3==18)){
if((z3==8)||(z3==9)){tI7=0;}if((z3==10)||(z3==11)){tI7=1;}if((z3==12)||(z3==13)){tI7=2;}if((z3==14)||(z3==15)){tI7=3;}if((z3==16)||(z3==17)){tI7=4;}if((z3==18)||(z3==19)){tI7=5;}tI8=(tS4.StrValueByIndex(";",tI7)).ToInteger();if((z3==9)||(z3==11)||(z3==13)||(z3==15)||(z3==17)||(z3==19)){tV1="";if(tI8>=0){tI7=(hL3.StrValueByIndex(";",tI8)).ToInteger();if(tI7<0){tI7=0;}tV1=(hL2.StrValueByIndex(";",tI8)).StrValueByIndex(",",tI7);}}if((z3==8)||(z3==10)||(z3==12)||(z3==14)||(z3==16)||(z3==18)){tV1=-1;tS6=tO1.ValueList();if(tI8>=0){tS5=hL2.StrValueByIndex(";",tI8);}else{tS5=hS2;}tI9=-1;tI7=0;
foreach(lSP1,tS6.Split(";")){foreach(lSP2,tS5.Split(",")){if(lSP2==lSP1){tV1=tI7;}}if(lSP1==hS2){tI9=tI7;}tI7=tI7+1;}if(tV1==-1){if(tI9==-1){tV1=tO1.Value();}else{tV1=tI9;}}}}tO1.State(tV1);}}z3=z3+1;}if((tI1<>4)&&(tI1<>5)){z2=3;}z2=z2+1;}}if(tB1){system.Exec("logger -t script -p user.debug Konfigurationsfehler in "#tO1.Name(),&lGetOut1,&lGetError1);if(((lCO1.StrValueByIndex(";",0)).StrValueByIndex("-",0)).ToInteger()>0){(hO1.Get(lON1.StrValueByIndex(";",0))).State("Konfigurationsfehler in: "#tO1.Name());}}}if(z1==40){hL8=tS2;}if((z1==9)||(z1==34)||(z1==39)||(z1==43)){tB2=false;tB3=false;tB4=false;tB5=false;tB6=false;tI3=tS2.Length();
if(tI3>0){tI4=99999999;z2=0;while(z2<tI3){if(tS2.Substr(z2,1)=="1"){tB2=true;}if(tS2.Substr(z2+1,1)=="1"){tB3=true;}if(tS2.Substr(z2+2,1)=="1"){tB4=true;}if(tS2.Substr(z2+3,1)=="1"){tB5=true;}if(tS2.Substr(z2+4,1)=="1"){tB6=true;}if(tI4>(tS2.Substr(z2+5,8)).ToInteger()){tI4=(tS2.Substr(z2+5,8)).ToInteger();}
z2=z2+13;}tL4="-1;-1;-1;-1;-1;-1;-1";if(z1==9){tL4="-1;367;366;-1;-1;-1;-1";}if(z1==34){tL4="-1;224;223;225;-1;-1;226";}if(z1==39){tL4="-1;313;312;314;-1;-1;315";}if(z1==43){tL4="124;122;121;123;125;-1;-1";}z2=0;while(z2<7){tI5=(tL4.StrValueByIndex(";",z2)).ToInteger();if(tI5<>-1){tV1=null;if(((lCO1.StrValueByIndex(";",tI5)).StrValueByIndex("-",0)).ToInteger()>0){tO1=hO1.Get(lON1.StrValueByIndex(";",tI5));
if((z2==0)||(z2==1)||(z2==2)||(z2==3)||(z2==4)){tV1=0;if(z2==0){if(tB2){tV1=1;}}if(z2==1){if(tB3){tV1=1;}}if(z2==2){if(tB4){tV1=1;}}if(z2==3){if(tB5){tV1=1;}}if(z2==4){if(tB6){tV1=1;}}if(tO1.ValueType()==ivtInteger){
if((web.webGetValueListCount(tO1.ValueList())).ToInteger()>2){tV1=tV1+1;}}}if(z2==6){if(tI4<>99999999){tS3=tI4.ToString();tD1=(tS3.Substr(0,4)#"-"#tS3.Substr(4,2)#"-"#tS3.Substr(6,2)#" 06:00:00").ToTime();}if(z2==6){if(tB4){tV1=0;}else{if(tB3){tV1=1;}else{if(tI3==99999999){tV1=tO1.ValueMax();}else{tV1=(((tD1+86400)-hD1).ToInteger()/86400).ToInteger()-1;}}}}}tO1.State(tV1);}}z2=z2+1;}}}z1=z1+1;}
if(hL8.Length()>0){tL1="126;127;128;129;130;131;132;133;134;135;136;137";tI1=(hD1.Format("%u")).ToInteger();tB1=false;tB2=false;tB3=false;tB4=false;tB5=false;
if(hL8.Substr(0,1)=="1"){tB1=true;}if(hL8.Substr(1,1)=="1"){tB2=true;}if(hL8.Substr(2,1)=="1"){tB3=true;}if(hL8.Substr(3,1)=="1"){tB4=true;}if(hL8.Substr(4,1)=="1"){tB5=true;}z1=0;while(z1<12){tI2=(tL1.StrValueByIndex(";",z1)).ToInteger();
if(((lCO1.StrValueByIndex(";",tI2)).StrValueByIndex("-",0)).ToInteger()>0){tO1=hO1.Get(lON1.StrValueByIndex(";",tI2));tV1=0;
if(z1==0){if((tB3==false)&&(((tB2)&&(tI1==1))||((tB4)&&(tI1==5)))){tV1=1;}}if(z1==1){if((tB2==false)&&(((tB1)&&(tI1==7))||((tB3)&&(tI1==4)))){tV1=1;}}if(z1==2){if((tB4==false)&&(((tB5)&&(tI1==6))||((tB3)&&(tI1==2)))){tV1=1;}}
if(z1==3){if((tB3==false)&&(((tB2)&&(tI1==1))||((tB4)&&(tI1==5))||((tB2)&&(tB4)&&(tI1>=2)&&(tI1<=4)))){tV1=1;}}if(z1==4){if((tB2==false)&&(((tB1)&&(tI1==7))||((tB3)&&(tI1==4))||((tB1)&&(tB3)&&(tI1>=1)&&(tI1<=3)))){tV1=1;}}if(z1==5){if((tB4==false)&&(((tB5)&&(tI1==6))||((tB3)&&(tI1==2))||((tB5)&&(tB3)&&(tI1>=3)&&(tI1<=5)))){tV1=1;}}
if(z1==6){if((tB3==false)&&(((tB2)&&(tI1==1))||((tB4)&&(tI1==6)))){tV1=1;}}if(z1==7){if((tB2==false)&&(((tB1)&&(tI1==7))||((tB3)&&(tI1==5)))){tV1=1;}}if(z1==8){if((tB4==false)&&(((tB5)&&(tI1==7))||((tB3)&&(tI1==2)))){tV1=1;}}
if(z1==9){if((tB3==false)&&(((tB2)&&(tI1==1))||((tB4)&&(tI1==6))||((tB2)&&(tB4)&&(tI1>=2)&&(tI1<=5)))){tV1=1;}}if(z1==10){if((tB2==false)&&(((tB1)&&(tI1==7))||((tB3)&&(tI1==5))||((tB1)&&(tB3)&&(tI1>=1)&&(tI1<=4)))){tV1=1;}}if(z1==11){if((tB4==false)&&(((tB5)&&(tI1==7))||((tB3)&&(tI1==2))||((tB5)&&(tB3)&&(tI1>=3)&&(tI1<=6)))){tV1=1;}}
if(tO1.ValueType()==ivtInteger){if((web.webGetValueListCount(tO1.ValueList())).ToInteger()>2){tV1=tV1+1;}}tO1.State(tV1);}z1=z1+1;}}
if(((lCO1.StrValueByIndex(";",0)).StrValueByIndex("-",0)).ToInteger()>0){(hO1.Get(lON1.StrValueByIndex(";",0))).State("Skript beendet: "#lScriptName);}
Ich kann keinen Fehler finden, und das Skript scheint auch zu funktionieren.
Hat einer ne Ahnung, wie ich dem Fehler auf die schliche komme?

Grüße
Sascha

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von alchy » 13.02.2018, 20:42

Bitte einen >Screenshot< der Variable SV.KAL.Gelb.Termine hochladen.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

dodi
Beiträge: 137
Registriert: 26.12.2016, 11:59
Hat sich bedankt: 2 Mal

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von dodi » 13.02.2018, 21:18

Danke Alchy,
habe gerade den Tippfehler in den Werten der Termine gefunden.

Grüße
Sascha

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von alchy » 13.02.2018, 21:20

Nicht mir gebührt der Dank. Aber Hauptsache es läuft.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

tubu
Beiträge: 38
Registriert: 24.09.2016, 08:53
Wohnort: Oberbayern
Hat sich bedankt: 4 Mal

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von tubu » 06.03.2018, 14:17

Hallo,

ich habe folgendes Problem zur Zeit, ich lege mir Systemvariablen als Werteliste an für die verschiedenen Abfalltonnen und auch Urlaub.

Als Beispiel SYS-Abfall-Gelb-Termine :
  • 02.03.2018; 29.03.2018; 27.04.2018; 26.05.2018; 22.06.2018; 20.07.2018; 18.08.2018; 14.09.2018; 12.10.2018; 09.11.2018; 07.12.2018
Nachdem ich die SV gespeichert habe und dann auf Bearbeiten gehen möchte, erscheint folgende Meldung und ich kann die Daten nicht bearbeiten, löschen geht :
HomeMatic_SV.png
HomeMatic_SV.png (11.55 KiB) 1970 mal betrachtet
Firmware der CCU2 2.31.25, CCU2 neu gestarted.

Kennt jemand das Problem ?

Vielen Dank im Voraus
Thomas
Grüße aus Oberbayern
Thomas

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Kalender-Script V2.x - MEGA-Version für D-A-CH

Beitrag von alchy » 06.03.2018, 14:40

Das ist *IMHO* ein Bug, da das in deiner Wertzuweisung enthaltene Steuerzeichen (ENTER) dafür sorgt, das die Variable in der Klickibunti nicht mehr zu bearbeiten ist.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

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