+ Antworten
Seite 2 von 3 ErsteErste 1 2 3 LetzteLetzte
Ergebnis 11 bis 20 von 22
  1. #11
    Registriert seit
    Jun 2011
    Ort
    Thüringen
    Beiträge
    1,222

    Hi Bayaro,

    Mix aus Feiertag und Ferien.

    Ferien:
    PHP-Code:
    <?

    /*
    Dieses Skript ermittelt über die Webseite von www.schulferien.org ob aktuell Ferien sind.
    Die Anpassung für die einzelnen Bundesländer ist denkbar einfach. Einfach unter http://www.schulferien.org/iCal/
    den passenden Kalender suchen und den Link kopieren. Die Anpassung der Jahreszahl bitte beachten, diese
    passt sich automatisch an und muss im Link entsprechend entfernt werden.
    */

    $jahr     date("Y");
    $tag      date("d");
    $monat      date("m");
    if ((
    $tag<&& $monat==1)) $jahr=$jahr-1;    //Korrektur z.B. der 2.Januar gehört noch zum ical-Kalender des Vorjahres
    $link     "http://www.schulferien.org/iCal/Ferien/icals/Ferien_Thueringen_".$jahr.".ics";
    $ferien   "Keine Ferien";
    $meldung  file($link);
    $anzahl   = (count($meldung)-1);

    for (
    $count 0$count $anzahl$count++)
    {
        if (
    strstr($meldung[$count], "SUMMARY:")) {
           
    $name  trim(substr($meldung[$count],8));
           
    $start trim(substr($meldung[$count+1],19));
           
    $ende  trim(substr($meldung[$count+2],17));
            
    $jetzt date("Ymd")."\n";
            
    /*$jetzt= 20140217;   //zum Test ein Feriendatum
            echo $jetzt;*/
            
    if ($jetzt >= $start and $jetzt <= $ende)
            {
               
    $ferien $name;
            }
       }
    }

    if (
    $ferien == "Keine Ferien")  // Flag für Ferienmodus setzten
    {
        
    SetValueBoolean(18526 /*[Tools, Service\An/Abwesend Feiertage Ferien\Schulferien\Ferien in Thüringen]*/false);
    }
    else
    {
        
    SetValueBoolean(18526 /*[Tools, Service\An/Abwesend Feiertage Ferien\Schulferien\Ferien in Thüringen]*/true);
    }

    ?>
    Feiertag:

    PHP-Code:
     <?
    /*
    ***********************************************************
    Berechnet den freie Tage, Feiertage
    und setzt die Variablen
    ***********************************************************
    */
    //Aktuelles Datum (Format "JJJJMMTT")
    $today date ("md");                                                        // aktueller Tag
    $todayy date ("Ymd");                                                      // aktuelles Datum
    $year date ("Y");                                                          // aktuelles Jahr
    //
    //
    $schulfrei1 "20080502";                                                    // schulfreier Tag #1
    $schulfrei2 "20080502";                                                    // schulfreier Tag #2
    $schulfrei3 "20080502";                                                    // schulfreier Tag #3
    //
    // *** Wochentag setzen (Sonntag = 7, Montag = 1) ***
    $wday date("w");
    $wday1 = array("7","1","2","3","4","5","6");
    $wday2 = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
    echo 
    "Heute ist Wochentag "$wday1[$wday], " ($wday2[$wday])","\r\n";
    //SetValueString(24833 /*[Objekt #24833 existiert nicht]*/  , $wday1[$wday]);
    //SetValueString(53384 /*[Objekt #53384 existiert nicht]*/ , $wday2[$wday]);

    // *** Tag des Jahres setzen ***
    //SetValueString(46827 /*[Fenster+Türen\Haustür-Raspberry-IPS\LifeBit\LifeBit\ÜberprüfungAktualisierungszeit_besser_kein_Reboot_da_5Volt_sehr_knapp\]*/ , date("z"));

    // *** Kalenderwoche setzen ***
    //SetValueString(14535 /*[Objekt #14535 existiert nicht]*/ , date("W"));


    // *** bewegliche Feiertage ***
    if ( ($today == strftime("%m%d",(easter_date() - 86400)))                   // Karfreitag
    //or ($today == "0512")                                                           // Test-Tag (aktuellen Tag eintragen zum Funktionstest)
    or ($today == strftime("%m%d",(easter_date() )))                                // Ostersonntag
    or ($today == strftime("%m%d",(easter_date() + 86400)))                     // Ostermontag
    or ($today == strftime("%m%d",(easter_date() + 39 86400)))                    // Christi Himmelfahrt
    or ($today == strftime("%m%d",(easter_date() + 49 86400)))                    // Pfingstsonntag
    or ($today == strftime("%m%d",(easter_date() + 50 86400)))                    // Pfingstmontag
    //or ($today == strftime("%m%d",(easter_date() + 60 * 86400)))                    // Fronleichnam
    //or (($wochentag == 3) and ($today >= "1116") and ($today <= "1122"))            // Buß u. Bettag

    // *** feste Feiertage ***
    or ($today == "0101")                                                           // Neujahr
    or ($today == "0106")                                                           // Heilige Drei Könige
    or ($today == "0501")                                                           // 1. Mai
    or ($today == "1003")                                                           // Tag der dt. Einheit
    or ($today == "1031")                                                           // Reformationstag
    //or ($today == "1101")                                                           // Allerheiligen
    or ($today == "1225")                                                           // 1. Weihnachtsfeiertag
    or ($today == "1226")                                                           // 2. Weihnachtsfeiertag
    // *** freie Tage ***
    or ($today == "1224")                                                           // Heiliger Abend
    or ($today == "1231")                                                           // Silvester
    // ***schulfreie Tage***
    or ($todayy == $schulfrei1)                                                     // schulfreier Tag #1
    or ($todayy == $schulfrei2)                                                     // schulfreier Tag #2
    or ($todayy == $schulfrei3)                                                     // schulfreier Tag #3
    )


    // *** "Freier Tag"-Variable setzen ***
       
    {
       
    SetValueBoolean(45788 /*[Tools, Service\An/Abwesend Feiertage Ferien\An-/Abwesend - Funktion\Freier Tag]*/ true);                          // Es ist ein freier Tag

    //   echo "Heute sind  ein schulfreier Tag, ein freier Tag oder ein Feiertag. ","\r\n";
       
    }
       else
       {
       
    SetValueBoolean(45788 /*[Tools, Service\An/Abwesend Feiertage Ferien\An-/Abwesend - Funktion\Freier Tag]*/ false);                         // Es ist kein freier Tag

    //   echo "Heute sind kein schulfreier Tag, kein freier Tag und kein Feiertag. ","\r\n";
       
    }


    // 1. Advent berechnen - Weihnachtsbeleuchtung 2 Tag(e) vorher einschalten
    $adventbel date("md",mktime(0,0,0,11,(26+(7-date("w",mktime(0,0,0,11,26,$year))))))-2;
    $advent date("d.m.Y",mktime(0,0,0,11,(26+(7-date("w",mktime(0,0,0,11,26,$year))))));
    if (
    $adventbel == "1200"$adventbel "1130";
    if (
    $adventbel == "1199"$adventbel "1129";
    if (
    $adventbel == "1198"$adventbel "1128";
    if (
    $adventbel == "1197"$adventbel "1127";
    if (
    $adventbel == "1196"$adventbel "1126";
    if (
    $adventbel == "1195"$adventbel "1125";
    //echo "1. Advent ist am ", $advent, "\r\n";
    /*
    if ( ( ("$today") >= ("$adventbel")                                             // ab dann einschalten
    or ("$today") <= ("0105") ) )                                                   // bis 5.Januar einschalten
       {
       SetValueBoolean(ID , true);
    //      echo "Es ist Adventszeit und die Weihnachtsbeleuchtung wird eingeschaltet.","\r\n";
       }
       else
       {
       SetValueBoolean(ID , false);
    //      echo "Es ist keine Adventszeit und die Weihnachtsbeleuchtung wird nicht eingeschaltet.","\r\n";
       }
    */
    ?>
    Habe ich alles hier aus dem Forum .......

    herbertf
    IPS 5.x (beta) auf W10x64 in Hyper-V von W2016, FHZ1300, WDE-01, Homematic-CCU2, VISION-Z-WAVE-Stick alles über Silex-SX3000GB, 2*RaZberry,FHT80x, FS20 BidCos-RM, 19*FIBARO-Roller Shutter (V1+2), 15*Fibaro(-Dimmer, -Sensoren, -Switche), 7*Raspberry-PI2 ü. JSON-RPC, 3 VISION-Bewegungsmelder, 2 AEON-Multisensor, Homematic-Aktoren,15*Plugwise, 6 PhilioSensoren,

  2. #12
    Registriert seit
    Jan 2010
    Ort
    Regau, Österreich
    Beiträge
    372

    Hier wär mal eine Variante wo man keine Seite aus dem Internet braucht. PHP liefert ja eh alles *g*

    mal schnell aus dem Internet zusammengeklopft und für Oberösterreich angepasst, sollte aber funktionieren
    PHP-Code:
    <?
    $jahr 
    date('Y');
    $ostersonntag date('Y-m-d',easter_date($jahr));
    $ostermontag date('Y-m-d',easter_date($jahr)+60*60*24*1);
    $himmelfahrt date('Y-m-d',easter_date($jahr)+60*60*24*39); // 39 Tage nach Ostersonntag
    $pfingstsonntag date('Y-m-d',easter_date($jahr)+60*60*24*49); // 49 Tage nach Ostersonntag
    $pfingstmontag date('Y-m-d',easter_date($jahr)+60*60*24*50);
    $fronleichnam date('Y-m-d',easter_date($jahr)+60*60*24*60); // 2. Donnerstag nach Ostersonntag
    $arr_feiertage[$jahr.'-01-01']    = 'Neujahr';
    $arr_feiertage[$jahr.'-01-06']    = 'Hl. 3 Könige';
    $arr_feiertage[$ostersonntag]        = 'Ostersonntag';
    $arr_feiertage[$ostermontag]        = 'Ostermontag';
    $arr_feiertage[$jahr.'-05-01']    = 'Staatsfeiertag';
    $arr_feiertage[$jahr.'-05-04']    = 'St. Florian (Schulfrei)';
    $arr_feiertage[$himmelfahrt]        = 'Christi Himmelfahrt';
    $arr_feiertage[$pfingstsonntag]    = 'Pfingstsonntag';
    $arr_feiertage[$pfingstmontag]    = 'Pfingstmontag';
    $arr_feiertage[$fronleichnam]        = 'Fronleichnam';
    $arr_feiertage[$jahr.'-08-15']    = 'Maria Himmelfahrt';
    $arr_feiertage[$jahr.'-10-26']    = 'Nationalfeiertag';
    $arr_feiertage[$jahr.'-11-01']    = 'Allerheiligen';
    $arr_feiertage[$jahr.'-12-08']    = 'Maria Empfängnis';
    $arr_feiertage[$jahr.'-12-25']    = 'Christtag';
    $arr_feiertage[$jahr.'-12-26']    = 'Stefanitag';

    $today date('Y-m-d');
    if(
    array_key_exists($today$arr_feiertage)) {
        echo 
    "heute ist: ".$arr_feiertage[$today];
    } else {
        echo 
    "heute ist kein Feiertag!";}
    ?>
    lg,
    Christian.

  3. #13
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,304

    Herzlichen Dank an euch beide, genau sowas habe ich mir vorgestellt. Hab gar nicht an PHP selbst gedacht

    Dann werde ich das auch mal bei mir integrieren, will eh meine Heizungssteuerung umbauen, da bietet sich das ja an

    Danke und Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  4. #14
    Registriert seit
    Nov 2018
    Beiträge
    1

    Hallo, bin neu hier und hab grad eben die Visu aufgesetzt. Benutze sie mit KNX und hab alles soweit hinbekommen wie ich es mir vorgestellt habe. Was mir noch fehlt oder ich nicht gefunden habe, ist eine Feiertagsschaltung die mir die Wochenschaltuhrbefehle überschreibt/sperrt. Gibt es da mittlerweile ein Funktionsmodul oder muss das immer noch mit PHP gemacht werden?

    Danke+Gruß
    holymoly

  5. #15
    Registriert seit
    Nov 2016
    Beiträge
    230

    Da viele inzwischen eine Bool-Variable pflegen, die anzeigt, ob ein Wochentag ein Feiertag ist, fände ich es ebenfalls sehr hilfreich, wenn man im Wochenplan die ID der Feiertags-Bool-Variablen eintragen könnte und dies mitberücksichtigt würde, indem der Wochentag bei Feiertags-Bool auf true als Sonntag behandelt wird.

    @paresy oder Dr. Niels: Wäre dies nicht mit geringem Aufwand umsetzbar? Dann würde man sich die doppelte Wochenplan-Pflege endlich sparen können... Vielleicht haben wir an Weihnachten ja schon die Gelegenheit, das zu testen...

    Danke und viele Grüße!
    Geändert von CarnivoreD (05.12.18 um 16:32 Uhr)

  6. #16
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,458

    Schade dass hier noch niemand geantwortet hat

    Ich suche gerade auch Möglichkeiten auf Feiertage zu reagieren. Speziell benötige ich noch den Tag (Abend) vor einem Feiertag.
    Ich nutze z.Zt. Christian's Version. Sollte ich das Script nochmal nutzen mit je einem Tag davor oder gibt es eine Kurzversion?
    Geändert von Heidewinkler (14.06.19 um 22:10 Uhr)
    MfG: Heiner_________________IPS5.2, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.1.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  7. #17
    Registriert seit
    Oct 2018
    Beiträge
    51

    Mit IPS_SetSheduleGroupPoint lässt sich ein bestehender Wochenplan und unter Zuhilfenahme des Feiertag-Skripts komfortabel ändern.
    Der Vorteil: Man braucht keine 2 Wochenpläne, falls der Wochenplan im Webfront verlinkt ist, zeigt immer die korrekte Zeit an.

  8. #18
    Registriert seit
    Oct 2018
    Beiträge
    51

    @Heidewinkler
    Ich denke es wäre das einfachste (soviele Feiertage haben wir ja nicht) die jeweiligen Tage vor den Feiertagen einfach mit in das Skript zu setzen

  9. #19
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,458

    Ja Danke, habe ich auch so gemacht. Wobei ich ein zweites Skript nutze da ich auch eine 2. Variable brauche.(Da für Abendbeleuchtung vor Feiertag)


    Mit IPS_SetSheduleGroupPoint lässt sich ein bestehender Wochenplan und unter Zuhilfenahme des Feiertag-Skripts komfortabel ändern.
    Das musst du bitte mal genauer erläutern.
    MfG: Heiner_________________IPS5.2, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.1.0; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  10. #20
    Registriert seit
    Jan 2012
    Beiträge
    141

    Hat noch jemand den Ferienkalender von Schulferien im Einsatz? Schaut mir so aus, als ob das jetzt mit einem Captcha geschütz ist.

    Ist auch irgendwie klar, wenn das .ical-File jeden Tag von allen Nutzern neu geladen wird.

    Gibt es sinnvolle Alternativen?

    Grüße
    Stefan

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 31.03.15, 15:14
  2. Wochenplan LCN
    Von Karl im Forum KNX/EIB, LCN
    Antworten: 4
    Letzter Beitrag: 27.01.15, 20:04
  3. Timer/Wochenplan von IPS an Wago...
    Von DeejayT im Forum SPS Automatisierungstechnik
    Antworten: 4
    Letzter Beitrag: 31.10.14, 12:28