Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Ical - Datum für heute falsch (Datum morgen), Rest OK

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

Ical - Datum für heute falsch (Datum morgen), Rest OK

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
32 Beiträge 8 Kommentatoren 4.3k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #19

    @Sputnik24:

    Sei es drum. Selbst ist der Mann. Ich habe den ical-Adapter nun an meine Bedürfnisse angepasst: Pfeil entfernt (sehe darin keinen Sinn, zerstört nur das Layout), Jahreszahl entfernt (welches Jahr wir haben, weiß ich gerade noch) `

    Kannst du mir die Datei "ial-Adapter" mal senden; oder hier einstellen. Danke.

    mfg

    Dieter


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Sputnik24
      schrieb am zuletzt editiert von
      #20

      @bahnuhr:

      @Sputnik24:

      Sei es drum. Selbst ist der Mann. Ich habe den ical-Adapter nun an meine Bedürfnisse angepasst: Pfeil entfernt (sehe darin keinen Sinn, zerstört nur das Layout), Jahreszahl entfernt (welches Jahr wir haben, weiß ich gerade noch) `

      Kannst du mir die Datei "ial-Adapter" mal senden; oder hier einstellen. Danke.

      mfg

      Dieter `
      Hallo Dieter,

      sorry für die späte Antwort.

      Auf Anregung eines http://forum.iobroker.net/viewtopic.php?f=30&t=7739&start=140#p104146 habe ich das ganze nun als Skript gelöst. Ich habe das Skript von Uhula meinen Bedürfnissen angepasst:

      • Meine Abfalltermine sind alle in einem Kalender. Das Skript stellt Restmüll, Papier und Bio nun in jeweils einer eigenen Farbe dar. Hätte man auch mit getrennten Kalendern machen können, so ist es für mich angenehmer.

      • Die Anpassung des Datums funktioniert nur für ganztätige Termine. Uhrzeiten werden entfernt. Da ich nur Abfall und Feiertage habe, reicht das für mich.

      Skript:

      ! ```
      `var idCal = "ical.0";
      var idCalTrigger = idCal + ".data.trigger";
      var idCalTable = idCal + ".data.table";
      var idCalHTML = idCal + ".data.html";
      var idCalHTMLtable = idCal + ".html";
      ! createState(idCalHTMLtable, " ");
      ! function iCalToHTMLTable() {
      var html = "";
      var calTable = getState(idCalTable);
      var inst = getObject("system.adapter."+idCal);
      var instopt = inst.native;
      var calendar = {};
      ! for (var i = 0; i < calTable.val.length; i++) {
      var entry = calTable.val[i];
      var _date = new Date(entry._date);
      entry.date = getFormattedDate(_date);
      var _color = '';
      if (entry._class.includes("ical_today"))
      _color = "color:red;";
      else if (entry._class.includes("ical_tomorrow"))
      _color = "color:orange";
      else
      _color = "";
      if ( entry._calName != calendar.name ) {
      calendar = {};
      for (var c = 0; c < instopt.calendars.length; c++ ) {
      if (entry._calName == instopt.calendars[c].name ) {
      calendar = instopt.calendars[c];
      break;
      }
      }
      }
      var _bgcolor = "";
      if(calendar.name == "Abfall") {
      if(entry.event == "Biomüll")
      _bgcolor = "green";
      else if(entry.event == "Restmüll")
      _bgcolor = "darkgrey";
      else if(entry.event == "Papier")
      _bgcolor = "blue";
      }
      else
      _bgcolor = calendar.color;
      if (_bgcolor !== "")
      html+="";
      else
      html+="";
      html+/ html+/ html+="";
      }
      html+="
      ! | "+entry.date+" | "+entry.event+" |
      ! ";
      setState(idCalHTMLtable, html);
      //dump( html );
      }
      ! function getFormattedDate(date) {
      var month = (1 + date.getMonth()).toString();
      month = month.length > 1 ? month : '0' + month;
      ! var day = date.getDate().toString();
      day = day.length > 1 ? day : '0' + day;

      return day + '.' + month + '.';
      }

      ! on({id: idCalTable, change: "ne"}, function (obj) {
      iCalToHTMLTable();
      });
      ! iCalToHTMLTable();`
      ! Ich wünsche allen schöne Weihnachten und einen guten Rutsch und bedanke mich für die tolle Unterstützung hier.[/i]

      1 Antwort Letzte Antwort
      0
      • BuZZyB Offline
        BuZZyB Offline
        BuZZy
        schrieb am zuletzt editiert von
        #21

        Wer den iCal Adapter mit der aktuellen Githubversion aktualisiert kann das im Adminpanel einstellen:
        3092_screenshot_-_22.12.2017___13_17_16.png

        Hat mich auch immer genervt dass die Uhrzeiten drin standen,.. :mrgreen:

        Ich brauche im VIS nur eine grobe Übersicht, für die genauen Uhrzeiten schaue ich mir mein Kalender im Handy an.

        Deswegen habe ich die Änderung vorgenommen und auf Github einfließen lassen.

        EDIT: Sorry, habe gerade gesehen dass es hier eigentlich eher um das Thema "Termin BIS ,…..." geht. :geek: :?

        Gruß

        1 Antwort Letzte Antwort
        0
        • bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #22

          Hallo,

          habe die neueste Version installiert.

          Besser geworden ist es nicht; eher schlechter in der Darstellung.
          1540_bild1.jpg

          Bei Ganztagesterminen erscheint nun "00:00" -> warum das ?

          Bei Terminen mit Uhrzeiten erscheint nun eine Addition.

          Vgl. Bild.

          mfg

          Dieter


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #23

            wie sagt Homoran: "war diese auch stable"

            Fazit:

            offensichtlich noch nicht.

            Bin wieder auf die 1.3.2.

            Diese zeigt die Zeit wieder korrekt an.
            1540_bild2.jpg

            Also vorsicht mit der 1.3.3 (lt. github gibt es offensichtlich schon eine 1.3.4 ???)

            mfg

            Dieter


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • apollon77A Online
              apollon77A Online
              apollon77
              schrieb am zuletzt editiert von
              #24

              Hi,

              ja ich versuche gerade einige der ical Issues zu beheben. Daher ist Github aktuell "unstable" (was sie ja eh immer ist), wobei ich über Tester erfreut bin :-))

              Ich komme aber gerade nicht soo viel dazu, also sind es immer kleine Schritte. ich versuche auch immer die Tests zu erweitern, sodass bei künftigen Änderungen nichts mehr so schnell kaputt geht.

              Der Adapter kann jetzt einige Dinge die er vorher nicht kannte. z.B. Termine "mit 0 Minuten Laufzeit". Da werden aber die Uhrzeiten angezeigt wenn man das eingestellt hat.

              Bei Terminen die über Mitternacht gehen wird jetzt hinter der Endzeit ein "+x" angezeigt, wobei x (wenn alles läuft) die Anzahl der Tage sind die es in der Zukunft liegt. Wurde in einem der Github Issues so als Idee aufgebracht.

              Aktuelles 1.4.0 changelog:

              • allow multiple Events to be contained in one calendar entry. Make sure the names are unique enough because the search only checks for existance of the event name in the text.

              • correctly detect events that started before 0:00

              • also show events with no duration (sometimes used as reminders)

              • correctly show end times for events that are longer then 1 day (including "+x" to show day duration)

              • generated HTML table fixed (span usage)

              Wer mal testen will gern nochmals (das mit dem "+" ist gefixt das die Zahlen utopisch hoch sind).

              Wer sonst Themen hat (wie das mit den Recurring mit manuell geändertem Termin) bitte am besten im Github Issues anlegen. Dann schaue ich mal was ich tun kann.

              Wer mit testen will, bitte gern hier: http://forum.iobroker.net/viewtopic.php?f=36&t=9981

              Danke

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #25

                Guten Morgen,

                habe das Script von sputnik mal für mich angepasst und erweitert.

                im Einzelnen:

                Wenn man im Adapter nicht wählt "Ersetze Datum mit Worten", dann kommt ja dieser Pfeil "–>". Dies hat aber den bug, dass wenn man ein Datum mit Zeit hat und sich genau in dieser Zeit befindet die Zeit nicht mehr angezeigt wird. Verstanden ?

                Nochmal: Folgender Eintrag in google: Termin am 25.12. mit Zeit 11.00 - 14.00 Uhr.

                Wenn wir jetzt 12.00 haben wird die Zeit im Adapter nicht mehr angezeigt. Es kommt "--> Termin" (ohne Zeit).

                Wenn wir aber im Adapter jetzt umstellen auf "Ersetze Datum mit Worten" dann kommt auch die Zeit: "Heute 11.00-14.00 Termin"

                Fazit: Häkchen setzen bei "Ersetze Datum mit Worten" (trotzdem wird nachher das Datum angezeigt).

                Weiter kann man im Script auswählen, ob:

                • Text "ganzer Tag" angezeigt werden soll

                • links Balken mit Farbe angezeigt werden soll

                • überhaupt eine Zeit angezeigt werden soll (dann halt nur Datum und Termin).

                Die Variable: "javascript.0...." muss vorher natürlich angelegt werden (oder halt ändern).

                In dieser Variable wird nachher analog ical.0 die table abgelegt.

                In vis sieht das ganze dann so aus:

                (meine bevorzugte Ansicht):
                1540_bild1.jpg

                Oder mit "ganzer Tag" und Balken links.
                1540_bild2.jpg

                Und nun noch das Script:

                ` > ```

                `// Script von uhula und sputnik
                // Das Script greift auf die ical.0.html zu und ändert den Text.
                // Gespeichert wird das geänderte Script in "javascript.0.ical.html"
                // Geändert und erweitert in 12/2017 von bahnuhr

                var idCal = "ical.0";
                var idCalTrigger = idCal + ".data.trigger";
                var idCalTable = idCal + ".data.table";
                var idCalHTML = idCal + ".data.html";
                var idCalHTMLtable = 'javascript.0.Status.Ical.html';

                var anz_ganztags = true; // wenn true wird bei Ganztags-Terminen als time auch "ganzer Tag" angezeigt; wenn false erfolgt gar keine Anzeige
                var anz_time = true; // wenn true werden die Uhrzeiten angezeigt; wenn false erfolgt gar keine Anzeige
                var balken = true; // wenn true wird Balken links angezeigt; wenn false dann erfolgt keine Anzeige

                function iCalToHTMLTable() {
                var html = "";
                var calTable = getState(idCalTable);
                var inst = getObject("system.adapter."+idCal);
                var instopt = inst.native;
                var calendar = {};

                for (var i = 0; i < calTable.val.length; i++) { 
                    var entry = calTable.val[i];
                    var _date = new Date(entry._date);
                    var _time = "";
                
                    if (entry.date.length > 13) _time = (entry.date).substring(entry.date.length-11,entry.date.length);  else  _time= "ganzer Tag";
                
                    entry.date = getFormattedDate(_date);
                
                    if ( entry._calName != calendar.name ) {
                        calendar = {};
                        for (var c = 0; c < instopt.calendars.length; c++ ) {
                            if (entry._calName == instopt.calendars[c].name ) {
                                calendar = instopt.calendars[c];
                                break;
                            }
                        }
                    }
                
                    var _color = "color:"+calendar.color;
                    if (entry._class.includes("ical_today")) _color = "color:red;";
                    else if (entry._class.includes("ical_tomorrow")) _color = "color:orange";
                    else if (entry._class.includes("ical_dayafter")) _color = "color:yellow";
                
                    var _bgcolor = "";
                    if(calendar.name == "Müll") {
                        if(entry.event == "Bio Tonne") {
                            _bgcolor = "#a0e878";
                            _color="color:#a0e878";
                        }
                        else if(entry.event == "Restmüll Tonne") {
                            _bgcolor = "#ce6f6f"; 
                            _color="color:#ce6f6f";
                        }
                        else if(entry.event == "Blaue Tonne") {
                            _bgcolor = "#508fdc";
                            _color="color:#508fdc";
                        }
                        else if(entry.event == "Gelbe Tonne") {
                            _bgcolor = "#eee06d";
                            _color="color:#eee06d";
                        }
                    }
                    else _bgcolor = calendar.color;
                    
                    if (balken === false) _bgcolor = "";
                    
                    if (_bgcolor !== "") html+="";
                    else html+="";
                
                        var abstand = "15px;";
                        if (balken === false) abstand = "3px;";
                        html+="";
                
                    if ((_time === "ganzer Tag" && anz_ganztags === false) || anz_time === false) {
                        html+="";                      // nur event anzeigen
                    } else {
                        /*html+="";
                        html+="";*/
                        html+="";       // time + event wird angezeigt
                    }
                    html+="";
                }
                
                html+="
                

                | "+entry.date+" | "+entry.event+" | "+_time+" | "+ entry.event+" | "+_time + " " + entry.event+" |

                ";
                setState(idCalHTMLtable, html);
                }

                function getFormattedDate(date) {
                var month = (1 + date.getMonth()).toString();
                month = month.length > 1 ? month : '0' + month;
                var day = date.getDate().toString();
                day = day.length > 1 ? day : '0' + day;
                return day + '.' + month + '.';
                }

                on({id: idCalTable, change: "ne"}, function (obj) {
                iCalToHTMLTable();
                });

                iCalToHTMLTable();`

                mfg

                Dieter[/i]
                ``` `


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • apollon77A Online
                  apollon77A Online
                  apollon77
                  schrieb am zuletzt editiert von
                  #26

                  Mit der 1.4.0 sollte die Zeit jetzt angezeigt werden wenn man drin ist. Also bitte mal testen und Feedback geben was ggf genau noch nicht passt. Schauer heute Abend mal was das Skript tut, aber interessant wäre Vergleich iCal -ohne-Skript vs dem „Wunschzustand“

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  0
                  • Z Abwesend
                    Z Abwesend
                    zahnheinrich
                    schrieb am zuletzt editiert von
                    #27

                    @Bahnuhr

                    Eine Frage: Wo wird das Skript eingefügt und welche Variable genau und wo?

                    Skript in Skripte/Common- und die Varialble 'Ical.html' unter Javascript.0.Status anlegen?

                    Schöne Feiertage

                    Ulrich

                    MfG Ulrich

                    1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #28

                      Diese Variable: javascript.0.Status.Ical.html musst du anlegen.

                      z.B. so mit einem extra script:

                      createState('javascript.0.Status.Ical.html', '', {type: 'string',name: 'ical_geändert',read: true,write: true,role: 'per Script'});

                      (Kannst du aber auch woanders ablegen; musst du hier dann halt ändern).

                      Dann das Script einfügen in ein neues Script js.

                      Ich habe unter Script einen Ordner Sonstige und dort ein neues Script.

                      Bei mir heisst dies "ical".

                      In vis dann ein widget "basic string unescaped" und dort die o.g. Variable einfügen.

                      mfg


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • bahnuhrB Online
                        bahnuhrB Online
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #29

                        @apollon77:

                        Mit der 1.4.0 sollte die Zeit jetzt angezeigt werden wenn man drin ist. Also bitte mal testen und Feedback geben was ggf genau noch nicht passt. Schauer heute Abend mal was das Skript tut, aber interessant wäre Vergleich iCal -ohne-Skript vs dem „Wunschzustand“ `

                        Ja, Ziel wäre es einen ical-Adapter läuffähig ohne Fehler -> und auch ohne Script.

                        War aber bisher nicht so. Gemeldete bugs wurden bisher nicht beantwortet bzw. nicht bearbeitet.

                        Danke schon mal für deine Arbeit !

                        Wünschenswert wäre:

                        • Ausblenden der Jahreszahl wenn gewünscht

                        • Links einen Balken, wenn gewünscht

                        • Datum und Time auch in Adapterfarbe (bisher war nur das event in Adapterfarbe)

                        • Bereinigung bug: Verschobenen Termin eines wiederkehrenden Termins wurde falsch dargestellt.

                        • Time auch anzeigen bei aktuellem Termin wenn wir uns gerade darin befinden (wenn Datum anstatt "Ersetze Datum mit Worten")

                        • Pfeil anzeigen oder eben nicht.

                        Frage:

                        Kann man neben einem Adapter 1.3.2 auch den 1.4.0 parallel installieren ?

                        mfg

                        Dieter


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Online
                          apollon77A Online
                          apollon77
                          schrieb am zuletzt editiert von
                          #30

                          Ich fange mit den Bugs gerade erstmal an, von daher wäre es super wenn Du für die Themen Issues im Github anlegen könntest (also nicht einen, sondern sinnvoll aufgesplittet). Dann kann ich schauen wie ich dazu komme. Ich versuche gerade einen zentralen Platz zu haben wo die "Todos" stehen.

                          Und bei Bugs am besten ics Files dazu und Beispiele.

                          Auch bei Featurewünschen am besten irgendwie Beispiele wie es heute ist und wie es sein sollte (das man die "Änderung" sieht).

                          Nein zwei Adapterversionen parallel in einer ioBroker-Installation gehen nicht.

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          1 Antwort Letzte Antwort
                          0
                          • Z Abwesend
                            Z Abwesend
                            zahnheinrich
                            schrieb am zuletzt editiert von
                            #31

                            @bahnuhr

                            Danke, geht.

                            Script läuft, sieht jetzt echt klasse aus!

                            Vielen Dank an Alle, die da mitgemacht haben!

                            Ulrich

                            MfG Ulrich

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Sputnik24
                              schrieb am zuletzt editiert von
                              #32

                              @bahnuhr bzw. Dieter:

                              Coole Anpassung am Skript, danke. Auf die Funktion getFormattedDate kann man btw verzichten. Das geht mit einem Einzeiler:

                              formatDate(new Date(entry._date),"DD.MM.")
                              
                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              523

                              Online

                              32.5k

                              Benutzer

                              81.6k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe