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. Skripten / Logik
  4. Probleme beim iCal to Json Skript

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    142

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Probleme beim iCal to Json Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 343 Aufrufe 2 Watching
  • Ä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.
  • Curtis777C Offline
    Curtis777C Offline
    Curtis777
    schrieb am zuletzt editiert von
    #1

    Ich habe das Skript welches mir meine iCal in ein Json umwandelt um es schöner darzustellen können.
    HAbe den Link hierzu beigefügt.
    Leider habe ich keine Ahnung wie ich das Anwende, habe Calender1 / 2 und 3 geändert auf meine vorhandenen Namen.
    Aber es wird kein Datenpunkt erstellt bzw ändert gar nichts an meinem IOB

    https://github.com/Scrounger/ioBroker.vis-materialdesign

    // momentjs is required as dependecies in javascript adapter
    const moment = require("moment");
    
    var instances = $(`[id=ical.*.data.table]`);
    instances.on(ical2CalendarWidget);
    
    // remove this, if you know to use your own datapoint
    let datapointId = 'materialdesignwidgets.calendar.ical2calendar'
    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 === 'calendar1') {
                            return '#FF0000';
                        } else if (calendarName === 'calendar2') {
                            return '#44739e'
                        } else if (calendarName === 'calendar3') {
                            return '#32a852'
                        }
                    }
    
                    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'
                        }
                    }
                }
    
                // 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();
    
    1 Antwort Letzte Antwort
    0
    • GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von
      #2

      @curtis777 sagte in Probleme beim iCal to Json Skript:

      Leider habe ich keine Ahnung wie ich das Anwende,

      hier ist der Haupt-Thread dazu ... ist auch alles dazu erklärt :

      https://forum.iobroker.net/topic/29600/material-design-widgets-calendar-widget

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      Curtis777C 1 Antwort Letzte Antwort
      1
      • GlasfaserG Glasfaser

        @curtis777 sagte in Probleme beim iCal to Json Skript:

        Leider habe ich keine Ahnung wie ich das Anwende,

        hier ist der Haupt-Thread dazu ... ist auch alles dazu erklärt :

        https://forum.iobroker.net/topic/29600/material-design-widgets-calendar-widget

        Curtis777C Offline
        Curtis777C Offline
        Curtis777
        schrieb am zuletzt editiert von
        #3

        @glasfaser
        Danke der Thread war mir nicht bewusst.

        Habs mittlerweile geschafft,
        mit durchlesen 180 Beiträge das der Kalender hübsch dargestellt wird...
        allerdings nur im Chrome Browser.
        Sobald ich Fully oder WallPanel verwende ist der Kalender verschwunden.
        Habe auch andere Widgets aus dem Paket gestestet... selber Effekt.
        Die Standard sachen klappen aber problemlos.

        GlasfaserG 1 Antwort Letzte Antwort
        0
        • Curtis777C Curtis777

          @glasfaser
          Danke der Thread war mir nicht bewusst.

          Habs mittlerweile geschafft,
          mit durchlesen 180 Beiträge das der Kalender hübsch dargestellt wird...
          allerdings nur im Chrome Browser.
          Sobald ich Fully oder WallPanel verwende ist der Kalender verschwunden.
          Habe auch andere Widgets aus dem Paket gestestet... selber Effekt.
          Die Standard sachen klappen aber problemlos.

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          schrieb am zuletzt editiert von
          #4

          @curtis777

          Kann dir damit nicht helfen , da ich es nicht nutze :

          Tablet in Wallpanel (wo die VIS läuft) oder Fully Kiosk APP

          aber in dem anderen Thread ... hast du es schon richtig gepotest !
          Test Adapter Material Design Widgets v0.5.x

          ich würde dort auch die Installierte Version mit angeben !

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          1 Antwort Letzte Antwort
          1
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          866

          Online

          32.5k

          Benutzer

          81.7k

          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