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

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
    913

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Probleme beim iCal to Json Skript

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 2 Posters 358 Views 2 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.
  • Curtis777C Offline
    Curtis777C Offline
    Curtis777
    wrote on last edited by
    #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 Reply Last reply
    0
    • GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Reply Last reply
        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
          wrote on last edited by
          #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 Reply Last reply
          1
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          475

          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