Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Feiertage Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Feiertage Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      RappiRN Most Active last edited by

      …man da hatte ich mir aber eine konstruktivere Antwort gewünscht! :lol:

      Mit den Feiertagen hast du natürlich Recht, aber wenn ich davon ausgehe, dass du auch die Tage ausgesucht hast, die als "Feiertage" angezeigt werden können, hättest du ja auch schon mal drauf stoßen können, dass solch ein "Problem" entstehen kann! 😄

      Nee. wie gesagt, ich werde mir da was mit einer zweiten Instanz basteln, damit mir unter dem Datum auch beide "Feiertage" angezeigt werden. Hätte aber eben auch sein können, dass dir sofort ne Lösung dafür eingefallen wäre.

      In diesem Sinne: Einen schönen 4.Advent und schöne Weihnachten! 😄

      Enrico

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo Enrico,

        der Adapter ist mittlerweile eine Gemeinschaftsproduktion mehrerer Entwickler. Zuletzt wurden auch regionale Feiertage und besondere Tage aufgenommen.

        Kannst du mir kurz deine Anwendung beschreiben? Reicht es, die Tage kommasepariert im Objekt zu speichern? Das sollte sich machen lassen. Weiß aber nicht, ob ich das morgen hinbekomme. Danach wird das Testen schwierig…

        Pix

        1 Reply Last reply Reply Quote 0
        • R
          RappiRN Most Active last edited by

          Hallo,

          mir persönlich würde es reichen, wenn die Tage, mit Komma getrennt, als Wert erscheinen. Wie schon geschrieben, habe ich auf meinem Wandtablet unter der Datums- und Uhrzeitanzeige ein Feld, dass nur erscheint, wenn ein besonderer Tag ist. Diese besonderen Tage kommen eben aus dem Feiertage-Adapter. 🙂

          Das mit dem Testen ist so ne Sache, aber wie gesagt das wäre ja auch mit zwei Feiertage-Instanzen machbar, dann würde ich den Heiligabend nur in der zweiten Instanz abfragen und das dann gemeinsam anzeigen lassen. Der andere Test wäre ja erst wieder in ein paar Jahren möglich, vielleicht habe ich bis dahin das "Problem" schon wieder vergessen! :lol:

          Enrico

          1 Reply Last reply Reply Quote 0
          • cash
            cash Most Active last edited by

            Hallo,

            ich habe heute mal den Adapter installiert. Vielen Dank für den tollen Adapter.

            Ist es normal das alle Variablen (oder wie nennt man die?) nun zweimal da sind einmal auf deutsch und einmal auf englisch?

            Ich habe also jetzt einen Feiertag heute und einen Holiday today oder Naechster Feiertag - Dauer bis dahin und Duration till next holiday

            Beide werden jeweils auf den ersten Blick richtig gefüllt. (Leider noch 77 Tage bis zum nächsten Feiertag)

            1 Reply Last reply Reply Quote 0
            • R
              RappiRN Most Active last edited by

              Is bei mir auch so, soll wohl auch.

              Enrico

              1 Reply Last reply Reply Quote 0
              • M
                mikiline last edited by

                wäre es möglich aufgrund dieser Webseite den "Feiertage" Kalender zu erweitern?

                🙂 glaub dann kann man den Adapter auch umbenennen 🙂

                https://www.schulferien.org/deutschland/ical/

                https://www.schulferien.org/oesterreich/ical/

                https://www.schulferien.org/schweiz/ical/

                Die Kalender die zu den Bundesländern angeboten werden haben immer das gleiche downloadformat.

                ID–>Bundesland

                So bekommen alle (auch die Schweiz oder Österreich z.B) die Feiertage und Schulferien mit 😉

                Verhält sich auch so zu den Schulferien 😉

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  Was meinst Du mit "erweitern"?

                  Lade einmal im Jahr dort das ical/ics File runter, lege es auf dem ioBroker-Rechner als File ab und gib den Pfad der Datei im Adapter an. Dann wird es eingelesen

                  1 Reply Last reply Reply Quote 0
                  • M
                    mikiline last edited by

                    War ein Beispiel, da ich hier schon viel gelesen habe von anderen Usern.

                    Wegen Bundesland usw…..

                    Deshalb diese Homepage, da sind alle Kalender gleich aufgebaut zum einbinden in eine App (zum downloaden)

                    Um viel mehr ging es hier eigentlich nicht 😉

                    1 Reply Last reply Reply Quote 0
                    • cash
                      cash Most Active last edited by

                      @pix:

                      Ich werd mal was basteln.

                      Gruß

                      Pix

                      Edit 28.04.2016: Hier die editierte Version mit Prüfung, ob KW gerade/ungerade und Ausgabe der Wochentags als Zahl (Mo = 1 bis So = 7)

                      ! ````
                      /* System Datum
                      ! Skript erzeugt Variablen für Datum, Tag, Monat, Jahr, KW, Quartal
                      ! erstellt: 25.02.2016 von pix
                      28.04.2016 Prüft ob KW gerade oder ungerade
                      Wochentag als Zahl (deutsches System: Mo = 1, So = 7)
                      */
                      ! createState('Kalender.Datum.Tag', {
                      name: 'Kalender - aktueller Tag',
                      type: 'number'
                      });
                      createState('Kalender.Datum.Monat', {
                      name: 'Kalender - aktueller Monat',
                      type: 'number'
                      });
                      createState('Kalender.Datum.Monatsname', {
                      name: 'Kalender - aktueller Monatsname',
                      type: 'string'
                      });
                      createState('Kalender.Datum.Jahr', {
                      name: 'Kalender - aktuelles Jahr',
                      type: 'number'
                      });
                      createState('Kalender.Datum.Kalenderwoche', {
                      name: 'Kalender - aktuelle Kalenderwoche',
                      type: 'number'
                      });
                      createState('Kalender.Datum.Kalenderwoche_Typ', {
                      name: 'Kalender - aktuelle Kalenderwoche ist gerade (true) oder ungerade (false)',
                      desc: 'Ist die KW gerade?',
                      type: 'boolean'
                      });
                      createState('Kalender.Datum.Wochentag', {
                      name: 'Kalender - aktueller Wochentag',
                      type: 'string'
                      });
                      createState('Kalender.Datum.Wochentag_Zahl', {
                      name: 'Kalender - aktueller Wochentag als Zahl (Mo = 1, So = 7)',
                      type: 'number'
                      });
                      ! createState('Kalender.Datum.Quartal', {
                      name: 'Kalender - aktuelles Quartal',
                      type: 'number'
                      });
                      ! var idTag = 'Kalender.Datum.Tag',
                      idWochentag = 'Kalender.Datum.Wochentag',
                      idWochentagZahl = 'Kalender.Datum.Wochentag_Zahl',
                      idMonat = 'Kalender.Datum.Monat',
                      idMonatsname = 'Kalender.Datum.Monatsname',
                      idJahr = 'Kalender.Datum.Jahr',
                      idKW = 'Kalender.Datum.Kalenderwoche',
                      idKWtyp = 'Kalender.Datum.Kalenderwoche_Typ',
                      idQuartal = 'Kalender.Datum.Quartal';

                      ! function leseDatum () {
                      var jetzt = new Date();
                      setState(idTag, zeit(jetzt).Tag);
                      setState(idMonat, zeit(jetzt).Monat);
                      var monatsname = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
                      setState(idMonatsname, monatsname[parseInt(zeit(jetzt).Monat)-1]);
                      setState(idJahr, zeit(jetzt).Jahr);
                      var kw = ermittleKW();
                      setState(idKW, kw);
                      var kwtyp = (kw % 2 === 0) ? true : false;
                      setState(idKWtyp, kwtyp);
                      var tagderwoche = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];
                      setState(idWochentag, tagderwoche[zeit(jetzt).Wochentag]);
                      var wochentagzahl = (zeit(jetzt).Wochentag > 0) ? zeit(jetzt).Wochentag : 7 ; // Wenn Tag nicht 0, dann Tag sonst 7
                      setState(idWochentagZahl, wochentagzahl);
                      var quartal = ermittleQuartal(jetzt);
                      setState(idQuartal, quartal);
                      log('Kalenderinformation zum heutigen Datum angelegt', 'debug');
                      }
                      ! function zeit (time) {
                      // log(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
                      jetzt = new Date(formatDate(time,"JJJJ.MM.TT SS:mm:ss"));
                      var jahr = jetzt.getFullYear();
                      var monat = (jetzt.getMonth()+1 < 10) ? '0' + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
                      var tag = (jetzt.getDate() < 10) ? '0' + jetzt.getDate() : jetzt.getDate();
                      var wochentag = jetzt.getDay(); // startet am Sonntag mit 0
                      var stunde = (jetzt.getHours() < 10) ? '0' + jetzt.getHours() : jetzt.getHours();
                      var minute = (jetzt.getMinutes() < 10) ? '0' + jetzt.getMinutes() : jetzt.getMinutes();
                      var sekunde = (jetzt.getSeconds() < 10) ? '0' + jetzt.getSeconds() : jetzt.getSeconds();
                      return {
                      'Jahr' : jahr,
                      'Monat' : monat,
                      'Tag' : tag,
                      'Wochentag' : wochentag,
                      'Stunde' : stunde,
                      'Minute' : minute,
                      'Sekunde' : sekunde
                      };
                      }
                      ! function ermittleQuartal(time) {
                      var z = new Date (time);
                      var y = parseInt(zeit(z).Monat,10);
                      var q = 0;
                      switch (y) {
                      case 0:
                      case 1:
                      case 2:
                      q = 1;
                      break;
                      case 3:
                      case 4:
                      case 5:
                      q = 2;
                      break;
                      case 6:
                      case 7:
                      case 8:
                      q = 3;
                      break;
                      case 9:
                      case 10:
                      case 11:
                      q = 4;
                      break;
                      default:
                      q = 0;
                      break;
                      }
                      return(q);
                      }
                      ! function ermittleKW() { // http://www.web-toolbox.net/webtoolbox/datum/code-kalenderwocheaktuell.htm
                      var KWDatum = new Date();
                      var DonnerstagDat = new Date(KWDatum.getTime() + (3-((KWDatum.getDay()+6) % 7)) * 86400000);
                      var KWJahr = DonnerstagDat.getFullYear();
                      var DonnerstagKW = new Date(new Date(KWJahr,0,4).getTime() + (3-((new Date(KWJahr,0,4).getDay()+6) % 7)) * 86400000);
                      var KW = Math.floor(1.5 + (DonnerstagDat.getTime() - DonnerstagKW.getTime()) / 86400000/7);
                      var kalenderwoche = (parseInt(KW,10) < 10) ? '0' + KW : KW;
                      return(kalenderwoche); // wird als String übergeben, aber im Objekt als Zahl (ohne 0) gespeichert
                      }
                      ! leseDatum();
                      schedule("0 0,12,18 * * *", leseDatum); // Mitternacht und zwei Backups
                      ! ```` `

                      Ich habe gerade mal das Script von der ersten Seiten bei mir eingefügt welches das Datum auseinandernimmt und dieses in Felder aufteilt.

                      Beim ausführen kriege ich folgende Meldungen:

                      0:12:42.038	[info]	javascript.0 Stop script script.js.Systemvariablen.Kalender
                      10:12:42.127	[info]	javascript.0 Start javascript script.js.Systemvariablen.Kalender
                      10:12:42.132	[warn]	javascript.0 at leseDatum (script.js.Systemvariablen.Kalender:64:5)
                      10:12:42.134	[warn]	javascript.0 at script.js.Systemvariablen.Kalender:145:1
                      10:12:42.138	[warn]	javascript.0 at leseDatum (script.js.Systemvariablen.Kalender:69:5)
                      10:12:42.140	[warn]	javascript.0 at script.js.Systemvariablen.Kalender:145:1
                      10:12:42.142	[info]	javascript.0 script.js.Systemvariablen.Kalender: registered 0 subscriptions and 1 schedule
                      

                      Die Felder sind alle richtig gefüllt. Kann ich das ignorieren?

                      1 Reply Last reply Reply Quote 0
                      • M
                        maffi last edited by

                        Hallo Zusammen,

                        kann mir bitte jemand sagen, wie ich den Feiertagskalender in VIS einbinde? :oops:

                        Gruß,

                        Maffi

                        1 Reply Last reply Reply Quote 0
                        • R
                          RappiRN Most Active last edited by

                          Was genau willst du denn einbinden?

                          Enrico

                          1 Reply Last reply Reply Quote 0
                          • eric2905
                            eric2905 last edited by

                            Die Doku und die Datenpunkte kennst Du?

                            ==> https://github.com/Pix–-/ioBroker.feie ... /README.md

                            Oder was genau ist Deine Frage?

                            Gruß,

                            Eric

                            Von unterwegs getippert

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              Hallo Pix,

                              nachdem heute morgen mein gesamtes Weckprogramm abgelaufen ist, wollte ich "irgendwie" die Feiertage mit einbinden.

                              Nachdem ich bisher nur die Werte "Tage bis" und "Name" verwendet hatte war ich hocherfreut, dass es auch einen Wert "Feiertag heute" gibt, der für solche Zwecke nutzbar ist.

                              Die Ernüchterung folgte auf dem Fuß.

                              Leider sind auch "Feiertage" dabei, die keine echten Feiertage (arbeitsfrei) sind, die ich dann abwählen müsste.

                              Andererseits finde ich die Anzeige dieser Tage auch sehr nützlich.

                              Ich weiß, dass du im Moment noch viele andere Baustellen hast.

                              Aber vielleicht könntest du meine "Feature-Requests" dann mit bearbeiten, wenn du diese Baustellen abarbeitest.

                              • Aufteilung in arbeitsfrei Tage und sonstige Tage (oder zusätzliche Checkbox für arbeitsfrei)

                              • schaffen einer Möglichkeit zum hinzufügen eigener "Feiertage" wie Hochzeitstag und Geburtstage

                              Gruß

                              Rainer

                              1 Reply Last reply Reply Quote 0
                              • R
                                RappiRN Most Active last edited by

                                Du kannst doch alternativ auch eine zweite Instanz erstellen, wo du nur die Feiertage abfragst, die für dich arbeitsfrei sind.

                                Ich habe ne zweite Instanz am Laufen, weil mir im letzten Jahr die Anzeige der "Feiertage" Heiligabend und 4. Advent nicht gleichzeitig möglich waren.

                                Enrico

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Die Möglichkeit hatte ich auch überlegt, aber wieder verworfen, weil ich vermutete, dass keine multiplen Instanzen möglich sein würden.

                                  Dann wäre das durchaus eine Lösung (für Punkt 1).

                                  Danke

                                  Rainer

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    RappiRN Most Active last edited by

                                    Punkt zwei sollte doch alternativ auch über den Kalender möglich sein, oder? So genau hab ich mir den noch gar nicht angesehen! :oops:

                                    Enrico

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by

                                      @RappiRN:

                                      Punkt zwei sollte doch alternativ auch über den Kalender möglich sein `
                                      ich bin ja auch wirklich doof.

                                      Wollte gerade etwas antworten da fiel mir ein, dass ich das auch gedacht hatte, aber du wahrscheinlich etwas anderes meinst als ich.

                                      ICH wollte es (eben nicht) über ical machen. DU meinst wahrscheinlich den fullCalendar???

                                      Gruß

                                      Rainer

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        RappiRN Most Active last edited by

                                        Genau, den (fullcalendar) habe ich gemeint! 😄

                                        Enrico

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          RappiRN Most Active last edited by

                                          Habe gerade mal kurz nachgesehen, das wird wohl nix mit dem fullcalendar, da geht als Periode nur täglich und monatlich, da müsstest du noch den Wunsch an Bluefox weitergeben, dass du jährlich auch haben möchtest!

                                          Enrico

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            und wieder schlechte Nachricht 😞
                                            144_kalender.png
                                            ganz abgesehen davon, dass der zum steuern von Datenpunkten (ID) gedacht ist, gibt es dort keine jährliche Wiederholung.

                                            Gruß

                                            Rainer

                                            EDIT - Zeitüberschneidung 😉

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            633
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            27
                                            115
                                            20661
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo