Ankündigung

Einklappen
Keine Ankündigung bisher.

Ferien NRW

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Ferien NRW

    Hallo zusammen,

    hat jemand einen Ansatz oder Lösung wie man Ferien von NRW auslesen kann und ins KNX geben kann ?

    Viele Grüße
    Sascha

    #2
    Ich mache das momentan so, dass ich die Daten ab und zu händisch in eine holidays.script eintrage (mehrere Jahre im Voraus). Ich habe bisher noch keine Quelle gefunden, die ich mit ähnlich geringem Aufwand auswerten kann (ich bin kein Lehrer und meine Kinder sind in spätestens 9 Jahren durch, eher früher...)

    Kommentar


      #3
      Könntest du mir das mal zur Verfügung stellen. Das wäre super.

      Kommentar


        #4
        Zitat von SaschaQ Beitrag anzeigen
        Könntest du mir das mal zur Verfügung stellen. Das wäre super.
        Schau mal hier, das ist einfach anzupassen

        Kommentar


          #5
          Eine weitere Möglichkeit wäre einen Google Kalender zu pflegen, genau für diesen Zweck. Da die Daten der Ferien kein Geheimnis sind, finde ich dies OK. => https://www.openhab.org/addons/integrations/gcal/

          Ich pers. würde nicht die Option zur Anwesenheitssimulation davon nutzen, diese Daten würde ich nicht in einen öffentliches Kalender schreiben. Dazu habe ich eine andere Lösung mit einer lokalen DB

          Kommentar


            #6
            Zitat von SaschaQ Beitrag anzeigen
            Könntest du mir das mal zur Verfügung stellen. Das wäre super.
            Aber gerne.

            holidays.script:
            Code:
             var boolean holiday = false
              var String holidayName = null
                // Osterferien
              if (
                 (parse("2018-03-26").beforeNow && parse("2018-04-08").afterNow)
              || (parse("2019-04-14").beforeNow && parse("2019-04-28").afterNow)
              || (parse("2020-04-06").beforeNow && parse("2020-04-19").afterNow)
              || (parse("2021-04-06").beforeNow && parse("2021-04-17").afterNow)
              || (parse("2022-04-03").beforeNow && parse("2022-04-22").afterNow)
              || (parse("2023-03-25").beforeNow && parse("2023-04-13").afterNow)
              ) {
                  holidayName = "easter_holiday" // Osterferien
                  holiday = true
              }
                // Sommerferien
              if (
                 (parse("2018-06-25").beforeNow && parse("2018-08-04").afterNow)
              || (parse("2019-07-01").beforeNow && parse("2019-08-10").afterNow)
              || (parse("2020-07-06").beforeNow && parse("2020-08-15").afterNow)
              || (parse("2021-07-19").beforeNow && parse("2021-08-28").afterNow)
              || (parse("2022-07-24").beforeNow && parse("2022-09-01").afterNow)
              || (parse("2023-07-15").beforeNow && parse("2023-08-23").afterNow)
              ) {
                  holidayName = "summer_holiday" // Sommerferien
                  holiday = true
              }
                // Herbstferien
              if (
                 (parse("2018-10-01").beforeNow && parse("2018-10-14").afterNow)
              || (parse("2019-09-30").beforeNow && parse("2019-10-13").afterNow)
              || (parse("2020-10-05").beforeNow && parse("2020-10-18").afterNow)
              || (parse("2021-10-11").beforeNow && parse("2021-10-24").afterNow)
              || (parse("2022-10-24").beforeNow && parse("2022-10-29").afterNow)
              || (parse("2023-10-23").beforeNow && parse("2023-10-28").afterNow)
              ) {
                  holidayName = "autumn_holiday" // Herbstferien
                  holiday = true
              }
                // Weihnachtsferien
              if (
                 (parse("2017-12-24").beforeNow && parse("2018-01-14").afterNow)
              || (parse("2018-12-24").beforeNow && parse("2019-01-13").afterNow)
              || (parse("2019-12-23").beforeNow && parse("2020-01-12").afterNow)
              || (parse("2020-12-21").beforeNow && parse("2021-01-10").afterNow)
              || (parse("2021-12-23").beforeNow && parse("2022-01-09").afterNow)
              || (parse("2022-12-22").beforeNow && parse("2023-01-07").afterNow)
              || (parse("2023-12-27").beforeNow && parse("2024-01-13").afterNow)
              ) {
                  holidayName = "christmas_holiday" // Weihnatsferien
                  holiday = true
              }
                HoliDayName.postUpdate(if (holidayName!==null) holidayName else "")
                Holidays.postUpdate(if (holiday) ON else OFF)
            Das sind natürlich die Ferientermine für Hessen
            Das Script läuft bei Systemstart und einmal täglich um 0:00 Uhr.

            Kommentar


              #7
              Danke Dir

              Kommentar


                #8
                Hallo,
                könntest auch einfach eine ical einbinden: https://www.schulferien.org/deutschland/ical/

                Viele Grüße

                Kommentar


                  #9
                  Zitat von Brainbug Beitrag anzeigen
                  Hallo,
                  könntest auch einfach eine ical einbinden: https://www.schulferien.org/deutschland/ical/

                  Viele Grüße
                  Einbinden in den Google Kalender? Oder wie würde darauf zugegriffen?

                  Kommentar


                    #10
                    Schau mal hier: https://openhabforum.de/viewtopic.php?t=11

                    Kommentar


                      #11
                      Den Calendar javascript parser (https://code.google.com/p/ijp/) scheint es dort nicht mehr zu geben, welche Alternative hat sich denn als stabil bewährt?

                      Kommentar


                        #12
                        Mich würde auch zunächst interessieren, wie man das mit dem ical realisiert. Vielleicht mit konkreten Skripten und Ansätzen.

                        Kommentar


                          #13
                          Wenn man eine ical Kalenderdatei verwenden will, braucht man einen Server, auf dem der Kalender verwaltet wird, da gibt es verschiedene Anbieter oder auch Lösungen für den eigenen Server. Das Parsen der Kalenderdatei mag eine Möglichkeit sein, aber das erscheint mir doch sehr von hinten durch die Brust ins Auge.

                          Kommentar


                            #14
                            Zitat von udo1toni Beitrag anzeigen
                            HoliDayName.postUpdate(if (holidayName!==null) holidayName else "")
                            Holidays.postUpdate(if (holiday) ON else OFF)
                            Kurze Frage zur letzten Zeile: Ist da bei Holidays.postUpdate nicht ein s zuviel? Oder hast Du Holidays an anderer Stelle definiert?

                            Kommentar


                              #15
                              Nein, das sind zwei Items. Das eine zeigt an, ob die Ferien aktiv sind, das ist ein Switch Item Holidays, das andere ist der Name der Ferien im String Item HolidayName. Warum ich beim einen Item ein s dran habe und beim anderen nicht, hängt vermutlich mit historischen Gründen zusammen (ich habe auch noch einen weiteren Satz Items und ein weiteres Script für gesetzliche Feiertage, vielleicht war da ein Name schon belegt...)

                              Kommentar

                              Lädt...
                              X