Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Material Design Widgets: Calendar Widget

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    916

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Material Design Widgets: Calendar Widget

Scheduled Pinned Locked Moved Visualisierung
vis
200 Posts 45 Posters 38.1k Views 52 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N nousefor82

    @claus1993

    Wie wäre es dann mit einem Update?

    C Offline
    C Offline
    claus1993
    wrote on last edited by
    #86

    @nousefor82 said in Material Design Widgets: Calendar Widget:

    @claus1993

    Wie wäre es dann mit einem Update?

    Im ioBroker Adapter bekomme ich nur die Version 1.7.4 (stable) angezeigt. Kann ich jetzt über die Katze eine andere Version laden ohne das mir meine Einstellungen zerschossen werden?

    N 1 Reply Last reply
    0
    • C claus1993

      @nousefor82 said in Material Design Widgets: Calendar Widget:

      @claus1993

      Wie wäre es dann mit einem Update?

      Im ioBroker Adapter bekomme ich nur die Version 1.7.4 (stable) angezeigt. Kann ich jetzt über die Katze eine andere Version laden ohne das mir meine Einstellungen zerschossen werden?

      N Offline
      N Offline
      nousefor82
      wrote on last edited by nousefor82
      #87

      @claus1993

      Ja, kannst du. Stell einfach dein Repository (von stable auf latest) um...dann kannst du das direkt updaten ohne github.

      Die Versionen sind aber meist aus gutem Grund noch nicht im stable...aber bissl Risiko gehört dazu!

      Gruß

      J 1 Reply Last reply
      2
      • N nousefor82

        @dirni Sorry, bzog sich auf den 2. Punkt.

        ed37cef9-eac3-4d8b-a2e4-36decaaf8d76-grafik.png

        oh...seh grad @Scrounger war schneller...

        D Offline
        D Offline
        Dirni
        wrote on last edited by
        #88

        @nousefor82

        Das wäre auch meine Frage gewesen welche Version du hast. Hat sich aberl erledigt danke

        Und wie sieht es mit der Monat in der Kalender Ansicht aus ?

        351ed624-768d-4e38-aa14-476206b3b37e-image.png

        ScroungerS 1 Reply Last reply
        0
        • N nousefor82

          @claus1993

          Ja, kannst du. Stell einfach dein Repository (von stable auf latest) um...dann kannst du das direkt updaten ohne github.

          Die Versionen sind aber meist aus gutem Grund noch nicht im stable...aber bissl Risiko gehört dazu!

          Gruß

          J Offline
          J Offline
          JMH
          wrote on last edited by
          #89

          @nousefor82
          Danke! das war der Hinweis den ich benötigt hatte.
          Hatte die Einstellung auch nicht im ICal Adapter.

          Gruß

          1 Reply Last reply
          0
          • D Dirni

            @nousefor82

            Das wäre auch meine Frage gewesen welche Version du hast. Hat sich aberl erledigt danke

            Und wie sieht es mit der Monat in der Kalender Ansicht aus ?

            351ed624-768d-4e38-aa14-476206b3b37e-image.png

            ScroungerS Offline
            ScroungerS Offline
            Scrounger
            Developer
            wrote on last edited by Scrounger
            #90

            @dirni sagte in Material Design Widgets: Calendar Widget:

            Und wie sieht es mit der Monat in der Kalender Ansicht aus ?

            351ed624-768d-4e38-aa14-476206b3b37e-image.png

            95fe2d3c-e728-4cb4-8849-3bb76a443916-grafik.png

            Zulässige formate:
            https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/

            Ergebnis:
            1cf69f2f-6baa-44a9-bfbc-fb4bead8704e-grafik.png

            D J K 3 Replies Last reply
            1
            • ScroungerS Scrounger

              @dirni sagte in Material Design Widgets: Calendar Widget:

              Und wie sieht es mit der Monat in der Kalender Ansicht aus ?

              351ed624-768d-4e38-aa14-476206b3b37e-image.png

              95fe2d3c-e728-4cb4-8849-3bb76a443916-grafik.png

              Zulässige formate:
              https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/

              Ergebnis:
              1cf69f2f-6baa-44a9-bfbc-fb4bead8704e-grafik.png

              D Offline
              D Offline
              Dirni
              wrote on last edited by
              #91

              @scrounger

              Perfekt Danke dir

              1 Reply Last reply
              0
              • ScroungerS Scrounger

                @dirni sagte in Material Design Widgets: Calendar Widget:

                Und wie sieht es mit der Monat in der Kalender Ansicht aus ?

                351ed624-768d-4e38-aa14-476206b3b37e-image.png

                95fe2d3c-e728-4cb4-8849-3bb76a443916-grafik.png

                Zulässige formate:
                https://momentjscom.readthedocs.io/en/latest/moment/04-displaying/01-format/

                Ergebnis:
                1cf69f2f-6baa-44a9-bfbc-fb4bead8704e-grafik.png

                J Offline
                J Offline
                JMH
                wrote on last edited by
                #92

                Habe noch aktuell noch das Problem, dass Termine abgeschnitten werden. Kann ich irgendwo ein Zeilenumbruch provozieren?

                1 Reply Last reply
                1
                • D Offline
                  D Offline
                  Dirni
                  wrote on last edited by Dirni
                  #93

                  Ich wandle mit deinem Script meine Ical Kalenderdaten um, um sie im Kalender Widget zu verwenden. Kann man einen 2ten Datenpunkt anlegen wo nicht alle Kalender beinhaltet sind?
                  Also einen Datenpunkt mit allen Kalender und einen wo zb mein Geburtstagskalender nicht mit dabei ist.

                  lg

                  N D 2 Replies Last reply
                  0
                  • D Dirni

                    Ich wandle mit deinem Script meine Ical Kalenderdaten um, um sie im Kalender Widget zu verwenden. Kann man einen 2ten Datenpunkt anlegen wo nicht alle Kalender beinhaltet sind?
                    Also einen Datenpunkt mit allen Kalender und einen wo zb mein Geburtstagskalender nicht mit dabei ist.

                    lg

                    N Offline
                    N Offline
                    nousefor82
                    wrote on last edited by
                    #94

                    @dirni

                    Habe bei mir genau das mit einer zusätzlichen ical Instanz gemacht. Und das Script dann auf die eine Instanz angepasst.

                    D 1 Reply Last reply
                    0
                    • N nousefor82

                      @dirni

                      Habe bei mir genau das mit einer zusätzlichen ical Instanz gemacht. Und das Script dann auf die eine Instanz angepasst.

                      D Offline
                      D Offline
                      Dirni
                      wrote on last edited by
                      #95

                      @nousefor82

                      Ich hab auch mehrere Instanzen aber das Script nimmt ja immer alle ical Instanzen oder ? Wo im Script definiert man welche er nehmen soll. Wie ich das gesehen habe definiert man mir die Farben usw darin oder.

                      1 Reply Last reply
                      0
                      • 0 Offline
                        0 Offline
                        0018
                        wrote on last edited by
                        #96

                        Hallo zusammen,

                        gibt es eine Möglichkeit die Farbe der Kalendereinträge (Events) zu ändern? Aktuell ist es schwarz und bei dunklen Hintergrund ist das schlecht. Im Terminlayout-Reiter lassen sich Größe und Art der Schrift ändern, aber nicht die Farbe.

                        Mfg
                        0018

                        0 1 Reply Last reply
                        0
                        • 0 0018

                          Hallo zusammen,

                          gibt es eine Möglichkeit die Farbe der Kalendereinträge (Events) zu ändern? Aktuell ist es schwarz und bei dunklen Hintergrund ist das schlecht. Im Terminlayout-Reiter lassen sich Größe und Art der Schrift ändern, aber nicht die Farbe.

                          0 Offline
                          0 Offline
                          0018
                          wrote on last edited by
                          #97

                          @0018 sagte in Material Design Widgets: Calendar Widget:

                          Hallo zusammen,

                          gibt es eine Möglichkeit die Farbe der Kalendereinträge (Events) zu ändern? Aktuell ist es schwarz und bei dunklen Hintergrund ist das schlecht. Im Terminlayout-Reiter lassen sich Größe und Art der Schrift ändern, aber nicht die Farbe.

                          Jemand eine Idee hierzu?

                          Mfg
                          0018

                          N 1 Reply Last reply
                          0
                          • 0 0018

                            @0018 sagte in Material Design Widgets: Calendar Widget:

                            Hallo zusammen,

                            gibt es eine Möglichkeit die Farbe der Kalendereinträge (Events) zu ändern? Aktuell ist es schwarz und bei dunklen Hintergrund ist das schlecht. Im Terminlayout-Reiter lassen sich Größe und Art der Schrift ändern, aber nicht die Farbe.

                            Jemand eine Idee hierzu?

                            N Offline
                            N Offline
                            nousefor82
                            wrote on last edited by
                            #98

                            @0018

                            Hi, steht alles im Script; sogar mit Beschreibung .

                            Dursuch das mal nach Color.

                            Gruß

                            0 1 Reply Last reply
                            0
                            • D Dirni

                              Ich wandle mit deinem Script meine Ical Kalenderdaten um, um sie im Kalender Widget zu verwenden. Kann man einen 2ten Datenpunkt anlegen wo nicht alle Kalender beinhaltet sind?
                              Also einen Datenpunkt mit allen Kalender und einen wo zb mein Geburtstagskalender nicht mit dabei ist.

                              lg

                              D Offline
                              D Offline
                              Dirni
                              wrote on last edited by
                              #99

                              @dirni sagte in Material Design Widgets: Calendar Widget:

                              Ich wandle mit deinem Script meine Ical Kalenderdaten um, um sie im Kalender Widget zu verwenden. Kann man einen 2ten Datenpunkt anlegen wo nicht alle Kalender beinhaltet sind?
                              Also einen Datenpunkt mit allen Kalender und einen wo zb mein Geburtstagskalender nicht mit dabei ist.

                              lg

                              Kann mir diesbezüglich keiner helfen?

                              N 1 Reply Last reply
                              0
                              • N nousefor82

                                @0018

                                Hi, steht alles im Script; sogar mit Beschreibung .

                                Dursuch das mal nach Color.

                                Gruß

                                0 Offline
                                0 Offline
                                0018
                                wrote on last edited by 0018
                                #100

                                @nousefor82 meinst du diese Funktion?

                                                function getMyCalendarTextColor(calendarName) {
                                                    // assign colors via the calendar names, use calendar name as set in ical
                                                    if (calendarName === 'calendar1') {
                                                        return '#FFFFFF';
                                                    } else if (calendarName === 'calendar2') {
                                                        return '#FFFFFF'
                                                    } else if (calendarName === 'calendar3') {
                                                        return '#FFFFFF'
                                                    }
                                                }
                                

                                Dort ist weis die Textfarbe. In meinem Widget ist die Textfarbe allerdings schwarz.


                                EDIT: @nousefor82 ignoriere den Post.... war zu doof zum lesen :cold_sweat:
                                Wenn man "calendar1" auch so benennt, wie der ical Kalender heißt, dann klappt es auch. Danke für den Zaunpfahl :+1:

                                Mfg
                                0018

                                1 Reply Last reply
                                1
                                • D Dirni

                                  @dirni sagte in Material Design Widgets: Calendar Widget:

                                  Ich wandle mit deinem Script meine Ical Kalenderdaten um, um sie im Kalender Widget zu verwenden. Kann man einen 2ten Datenpunkt anlegen wo nicht alle Kalender beinhaltet sind?
                                  Also einen Datenpunkt mit allen Kalender und einen wo zb mein Geburtstagskalender nicht mit dabei ist.

                                  lg

                                  Kann mir diesbezüglich keiner helfen?

                                  N Offline
                                  N Offline
                                  nousefor82
                                  wrote on last edited by nousefor82
                                  #101

                                  @dirni

                                  Mach doch einfach eine 2. ical Instanz und ein 2. Script, dass auf diese neue Instanz zugreift.

                                  In der 2. iCal Instant suchst du nur nach dem Kalender Geburtstag zum Beispiel.

                                  Mach ich bei mir so und das klappt wunderbar!

                                  P.S.: in der ersten Zeile kannst du dir Instanz eintragen!

                                  D 1 Reply Last reply
                                  0
                                  • N nousefor82

                                    @dirni

                                    Mach doch einfach eine 2. ical Instanz und ein 2. Script, dass auf diese neue Instanz zugreift.

                                    In der 2. iCal Instant suchst du nur nach dem Kalender Geburtstag zum Beispiel.

                                    Mach ich bei mir so und das klappt wunderbar!

                                    P.S.: in der ersten Zeile kannst du dir Instanz eintragen!

                                    D Offline
                                    D Offline
                                    Dirni
                                    wrote on last edited by
                                    #102

                                    @nousefor82

                                    Hi
                                    Ja das ist mir alles klar, ich habe das schon beim ersten Kalender so gelöst mit mehreren Ical Instanzen.
                                    Der Erste Kalender durchsucht alle meine 3 Ical instanzen (ich habe nichts geändert das war schon immer so)

                                    5c0bbc9f-57a6-4641-88eb-665d08c2f677-image.png

                                    Nun will ich aber das der zweite Kalender nicht die Termine des Kalenders ical.3 anzeigt, sondern nur ical.0, ical.1,ical.2.

                                    Könnte mir jemand im Javascript als Beispiel die Zeilen eintragen und einen Screenshot hier posten, ich kenn mich im Java nicht die Bohne aus.

                                    Bzw, einen Screenshot von deinem Script

                                    N 1 Reply Last reply
                                    0
                                    • D Dirni

                                      @nousefor82

                                      Hi
                                      Ja das ist mir alles klar, ich habe das schon beim ersten Kalender so gelöst mit mehreren Ical Instanzen.
                                      Der Erste Kalender durchsucht alle meine 3 Ical instanzen (ich habe nichts geändert das war schon immer so)

                                      5c0bbc9f-57a6-4641-88eb-665d08c2f677-image.png

                                      Nun will ich aber das der zweite Kalender nicht die Termine des Kalenders ical.3 anzeigt, sondern nur ical.0, ical.1,ical.2.

                                      Könnte mir jemand im Javascript als Beispiel die Zeilen eintragen und einen Screenshot hier posten, ich kenn mich im Java nicht die Bohne aus.

                                      Bzw, einen Screenshot von deinem Script

                                      N Offline
                                      N Offline
                                      nousefor82
                                      wrote on last edited by nousefor82
                                      #103

                                      @Scrounger

                                      Servus,

                                      ich hab ja wie in github beschrieben ein Problem mit der Darstellung wiederkehrender ganztägiger Termine; in dem Fall mit den Geburtstagen. Diese werden über 2 Tage angezeigt:

                                      9be4c19e-5e10-4343-8963-ef5abe5c48df-grafik.png

                                      Wenn ich den Table anzeigen lasse, passt alles:

                                      cf35ccdd-7232-46f6-9daa-48f2762662fc-grafik.png

                                      Ich verwende dein script mit angepasstem Datenpunkt und ical-Instanz sowie angepassten Farben:

                                      // momentjs is required as dependecies in javascript adapter
                                      
                                      const moment = require("moment");
                                      
                                       
                                      
                                      var instances = $(`[id=ical.0.data.table]`);
                                      
                                      instances.on(ical2CalendarWidget);
                                      
                                       
                                      
                                       
                                      
                                      // remove this, if you know to use your own datapoint
                                      
                                      let datapointId = 'javascript.0.scriptEnabled.common.Kalender.ical2calendar2'
                                      
                                      createState(datapointId, "[]", {
                                      
                                        read: true, 
                                      
                                        write: false, 
                                      
                                        desc: "JSON String for Calendar Widget", 
                                      
                                        type: "string", 
                                      
                                        def: "[]"
                                      
                                      });
                                      
                                       
                                      
                                      function ical2CalendarWidget() {
                                      
                                          try {
                                      
                                              let calList = [];
                                      
                                       
                                      
                                              for (var inst = 0; inst <= instances.length - 1; inst++) {
                                      
                                                  let icalObj = getState(instances[inst]).val;
                                      
                                       
                                      
                                                  if (icalObj) {
                                      
                                                      for (var i = 0; i <= icalObj.length - 1; i++) {
                                      
                                                          let item = icalObj[i];
                                      
                                       
                                      
                                                          // extract calendar color
                                      
                                                          let calendarName = item._class.split(' ')[0].replace('ical_', '');
                                      
                                       
                                      
                                                          let startTime = moment(item._date);
                                      
                                                          let endTime = moment(item._end);
                                      
                                                          
                                      
                                                          let start = startTime.format("YYYY-MM-DD HH:mm");
                                      
                                                          let end = endTime.format("YYYY-MM-DD HH:mm");
                                      
                                       
                                      
                                                          if (startTime.format('HH:mm') === '00:00' && endTime.format('HH:mm') === '00:00') {
                                      
                                                              // is full-day event
                                      
                                                              if (endTime.diff(startTime, 'hours') === 24) {
                                      
                                                                  // full-day event, one day
                                      
                                                                  start = startTime.format("YYYY-MM-DD");
                                      
                                                                  end = startTime.format("YYYY-MM-DD");
                                      
                                                              } else {
                                      
                                                                  // full-day event, multiple days
                                      
                                                                  start = startTime.format("YYYY-MM-DD");
                                      
                                                                  end = endTime.format("YYYY-MM-DD");
                                      
                                                              }
                                      
                                                          }
                                      
                                       
                                      
                                                          // create object for calendar widget
                                      
                                                          calList.push({
                                      
                                                              name: item.event,
                                      
                                                              color: getMyCalendarColor(calendarName),
                                      
                                                              colorText: getMyCalendarTextColor(calendarName),
                                      
                                                              start: start,
                                      
                                                              end: end
                                      
                                                          })
                                      
                                                      }
                                      
                                       
                                      
                                                      function getMyCalendarColor(calendarName) {
                                      
                                                          // assign colors via the calendar names, use calendar name as set in ical
                                      
                                                          if (calendarName === 'Jörg') {
                                      
                                                              return '#58ACFA';
                                      
                                                          } else if (calendarName === 'Simone') {
                                      
                                                              return '#E2A9F3'
                                      
                                                          } else if (calendarName === 'Müllentsorgung') {
                                      
                                                              return '#ffffdf'
                                      
                                                          } else if (calendarName === 'Feiertage') {
                                      
                                                              return '#FA5882'
                                      
                                                          } else if (calendarName === 'Ferien') {
                                      
                                                              return '#fdfdfd'
                                      
                                                          } else if (calendarName === 'Geburtstage') {
                                      
                                                              return '#81F79F'
                                      
                                                          }
                                      
                                                      }
                                      
                                       
                                      
                                                      function getMyCalendarTextColor(calendarName) {
                                      
                                                          // assign colors via the calendar names, use calendar name as set in ical
                                      
                                                          if (calendarName === 'Jörg') {
                                      
                                                              return '#FFFFFF';
                                      
                                                          } else if (calendarName === 'Simone') {
                                      
                                                              return '#111111'
                                      
                                                          } else if (calendarName === 'Müllentsorgung') {
                                      
                                                              return '#111111'
                                      
                                                          } else if (calendarName === 'Feiertage') {
                                      
                                                              return '#111111'
                                      
                                                          } else if (calendarName === 'Ferien') {
                                      
                                                              return '#111111'
                                      
                                                          } else if (calendarName === 'Geburtstage') {
                                      
                                                              return '#111111'
                                      
                                                          }
                                      
                                                      }
                                      
                                                  }
                                      
                                       
                                      
                                                  // Enter the destination data point that is to be used as object ID in the widget                
                                      
                                                  setState(datapointId, JSON.stringify(calList), true);
                                      
                                              }
                                      
                                          } catch (e) {
                                      
                                              console.error(`ical2MaterialDesignCalendarWidget: message: ${e.message}, stack: ${e.stack}`);
                                      
                                          }
                                      
                                      }
                                      
                                       
                                      
                                      ical2CalendarWidget();
                                      

                                      Beim Start kommt es zu folgender Fehlermeldung:

                                      javascript.0 (2992) script.js.common.Kalender.Skript_2: ical2MaterialDesignCalendarWidget: message: Cannot read property 'split' of undefined, stack: TypeError: Cannot read property 'split' of undefined at ical2CalendarWidget (script.js.common.Kalender.Skript_2:60:52) at script.js.common.Kalender.Skript_2:208:1 at script.js.common.Kalender.Skript_2:209:3 at Script.runInContext (vm.js:131:20) at Script.runInNewContext (vm.js:137:17) at execute (C:\iobroker\SmartHome\node_modules\iobroker.javascript\main.js:1483:27) at prepareScript (C:\iobroker\SmartHome\node_modules\iobroker.javascript\main.js:1691:38) at C:\iobroker\SmartHome\node_modules\iobroker.javascript\main.js:1791:17 at Immediate._onImmediate (C:\iobroker\SmartHome\node_modules\iobroker.javascript\main.js:1281:17) at processImmediate (internal/timers.js:458:21)
                                      

                                      Woran könnte das liegen?

                                      1 Reply Last reply
                                      0
                                      • ScroungerS Scrounger

                                        Calendar Widget

                                        calendar.gif

                                        Sämtliche Fragen zu Einstellungen (VIS Editor, Bedienung, JSON strings, etc.) des Widgets hier stellen

                                        Das ist sicher besser für die Übersichtlichkeit und Dokumentation.

                                        • Dokumentation
                                        • Online Beispiel

                                        Themen zu anderen Widgets findest du hier!

                                        X14nX Offline
                                        X14nX Offline
                                        X14n
                                        wrote on last edited by
                                        #104

                                        @scrounger
                                        Hallo,
                                        Ist es eigentlich möglich, anstelle den Monat, eine bestimmte Anzahl Wochen (zb 6 Wochen) anzuzeigen? Beginnen würde die Anzeige dann bei der aktuellen Kalenderwoche.

                                        Gruß
                                        X14n

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          Dirni
                                          wrote on last edited by
                                          #105

                                          Hallo Leute

                                          Bekomme seit neuem diese Fehlermeldung. Fange aber nichts an damit. Kann jemand helfen?

                                          javascript.0 (7922) script.js.Visualisierung.kalender_Dirni: ical2MaterialDesignCalendarWidget: message: Cannot read property 'split' of undefined, stack: {e.stack}
                                          
                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          352

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe