Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ical Adapter Woche anzeigen anstatt Datum

    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

    ical Adapter Woche anzeigen anstatt Datum

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dr.Pie
      Dr.Pie last edited by

      Moin
      ich versuche seit Stunden das Problem zu lösen ... ohne Erfolg.
      Ich habe den ical Adapter installiert und eingerichtet.

      Nun möchte ich nur die Termine aus dieser Woche und der nächsten Woche anzeigen lassen.

      Das klapp prinzipiell ...
      ical.jpg

      Doch möchte ich nicht das Datum angezeigt bekommen, sondern "Diese Woche" ... oder "Nächte Woche".

      Wie kann man das denn lösen ?

      1000 Dank

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Dr.Pie last edited by liv-in-sky

        @dr-pie

        ich hatte mich mal ein wenig gespielt mit kalenderwochen und ical

        dabei kam dieser code snipschel raus

        dabei wird die momentane KW ausgegeben und die KW eines bestimmten ical eintrages

        damit kannst du rausfinden, welche woche gerade ist und dadurch die folgende

        //@liv-in-sky 
        //ical test kalenderwoche
         
        function thisKW(){
         
              var date = new Date();
              var currentThursday = new Date(date.getTime() +(3-((date.getDay()+6) % 7)) * 86400000);
              var yearOfThursday = currentThursday.getFullYear();
              var firstThursday = new Date(new Date(yearOfThursday,0,4).getTime() +(3-((new Date(yearOfThursday,0,4).getDay()+6) % 7)) * 86400000);
              var weekNumber = Math.floor(1 + 0.5 + (currentThursday.getTime() - firstThursday.getTime()) / 86400000/7);
              //log('Diese Kalender-Woche :' +weekNumber.toString())
         
              return weekNumber;
        }
         
        function getFromiCAL(welcherEintrag){
               let myObi=getState('ical.0.data.table').val;
               let myDate=new Date(myObi[welcherEintrag]._date)
               let myYear=myDate.getFullYear(); //log(myYear.toString())
               let myDay=myDate.getUTCDate(); //log(myDay.toString())
               let myMonth=myDate.getUTCMonth();// log(myMonth.toString())
               var date = new Date(myYear,myMonth,myDay+1);
               var currentThursday = new Date(date.getTime() +(3-((date.getDay()+6) % 7)) * 86400000);
               var yearOfThursday = currentThursday.getFullYear();
               var firstThursday = new Date(new Date(yearOfThursday,0,4).getTime() +(3-((new Date(yearOfThursday,0,4).getDay()+6) % 7)) * 86400000);
               var weekNumber = Math.floor(1 + 0.5 + (currentThursday.getTime() - firstThursday.getTime()) / 86400000/7);
         
              //log('KalenderWoche des Ical Events: '+weekNumber.toString());
              return weekNumber;
        }
         
         
         
        let myObi=(getState('ical.0.data.table').val)
        log('Diese Kalender-Woche :' +thisKW());
        log('KalenderWoche des Ical Events: '+myObi[2].event+" KW: "+getFromiCAL(2));
         
        // zu allen ical events diese und nächste woche zeigen
         
        let dieseWK=thisKW()
        for (let i=0;i<myObi.length;i++){
          //  log(getFromiCAL(i)+1)
            if (dieseWK == getFromiCAL(i)) log(myObi[i].event +" diese Woche")
            if (dieseWK+1 == getFromiCAL(i)  || (dieseWK==52 && getFromiCAL(i)==0) ) log(myObi[i].event+" nächste Woche")
        }
         
         
         
        
        
        1 Reply Last reply Reply Quote 0
        • Dr.Pie
          Dr.Pie last edited by

          Moin
          Danke für deine Mühe.
          Leider kann ich damit nicht wirklich etwas anfangen ... hab dazu viel viel zu wenig Ahnung ... um nicht zu sagen, gar keine Ahnung ....

          Grüße

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Dr.Pie last edited by

            @dr-pie

            das problem ist, du kannst das nicht einfach irgendwo einstellen - d.h. man muss die daten auslesen, konvertieren und neu erstellen

            ich nehme an, du zeigst dir den kalender über ein json-widget an. d.h. es muss das json neu erzeugt werden . das passiert in dem script

            daten werden als json gelesen, verwandelt und müssen dann in einen neuen datenpunkt geschrieben werden - das widget greift dann auf den neuen dp zu

            dieses script sichert aber im moment noch nicht in einen dp sondern gibt im log-tab das ergebnis aus. dh. du kannst ein neues javascript erstellen, dass script reinkopieren und starten. es gibt dann im log aus, was es findet, für diese und nächste woche.
            was noch fehlt

            • ist ein trigger, damit diese konvertierung immer stattfindet, wenn es neue daten vom ical adapter gibt .
            • das erstellen des neuen json-datensatz und das sichern in einem datenpunkt

            ich dachte, evtl kannst du das selber machen - aber wie es scheint eher nicht.

            wenn es noch von interesse ist, bring das script mal zum laufen und schau im log, ob da was richtiges steht. dann sehen wir weiter bzw werde ich versuchen, das ganze umzusetzen

            Dr.Pie 1 Reply Last reply Reply Quote 0
            • Dr.Pie
              Dr.Pie @liv-in-sky last edited by

              @liv-in-sky
              Ich denke aber das ich das Thema Kalender komplett aus meine Vis verbanne.
              Obwohl ich eingestellt habe das ich jede Minute (Nur testweise) aktualisieren eingestellt habe muss ich den Adapter selber anstubsen/aktualisieren, da sonst keine neuen Termine sichtbar sind.

              Das ist sowas von ätzend ....

              Naja ....

              liv-in-sky Glasfaser 3 Replies Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Dr.Pie last edited by

                @dr-pie

                du solltest den adapter nicht so oft aktualisieren lassen - vielleicht jede 15 oder 30 minuten. wer weiß, ob google so viele abfragen mag ? nur beim testen von scripten nervt das ein wenig - im tägl. gebrauch merkst du das nicht , selbst wenn du nur jede stunde daten von google holst.

                ich habe mal ein scipt gemacht für den kalender - ist ein wenig was zum einstellen - können aber auch mehrere ical-instanzen (mehrere kalender) angezeigt werden

                https://forum.iobroker.net/topic/40691/html-tabelle-für-ical-adapter-mehrere-instanzen

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Dr.Pie last edited by liv-in-sky

                  @dr-pie

                  habe hier ein script ,welches so in einem invetwo-json-widget angezeigt wird. im script musst du nur ganz oben den ical-dp eingeben (sollte passen) und den neuen datenpunkt (typ: zeichenfolge), den du angelegt hast unter 0_userdata.0....
                  getriggert wird das ganze, wenn der ical datenpunkt geschrieben wird

                  //@liv-in-sky 
                  //ical test kalenderwoche
                  //forum: https://forum.iobroker.net/topic/49906/ical-adapter-woche-anzeigen-anstatt-datum?_=1639049836681
                  
                  let icalInstanz='ical.0.data.table';
                  let neuerDP='0_userdata.0.ICAL-KONVERT.KonvertJSON';
                  
                  function thisKW(){
                  
                       let dater1 = new Date();
                       let currentThursday1 = new Date(dater1.getTime() +(3-((dater1.getDay()+6) % 7)) * 86400000);
                       let yearOfThursday1 = currentThursday1.getFullYear();
                       let firstThursday1 = new Date(new Date(yearOfThursday1,0,4).getTime() +(3-((new Date(yearOfThursday1,0,4).getDay()+6) % 7)) * 86400000);
                       let weekNumber0 = Math.floor(1 + 0.5 + (currentThursday1.getTime() - firstThursday1.getTime()) / 86400000/7);
                       //log('Diese Kalender-Woche :' +weekNumber.toString())
                  
                       return weekNumber0;
                  }
                  
                  function getFromiCAL(welcherEintrag){
                       let my1Obi1=[];
                         my1Obi1=getState(icalInstanz).val;
                     //   log("Eintrag: "+my1Obi1[welcherEintrag]._date)
                        let myDate11=new Date(my1Obi1[welcherEintrag]._date)
                      //  log(welcherEintrag)
                      //  log("myDate11: "+myDate11)
                        let myYear=myDate11.getFullYear(); //log(myYear.toString())
                        let myDay=myDate11.getUTCDate(); //log(myDay.toString())
                        let myMonth=myDate11.getUTCMonth();// log(myMonth.toString())
                        let dater2 = new Date(myYear,myMonth,myDay); 
                        let currentThursday = new Date(dater2.getTime() +(3-((dater2.getDay()+6) % 7)) * 86400000);
                        let yearOfThursday = currentThursday.getFullYear();
                        let firstThursday = new Date(new Date(yearOfThursday,0,4).getTime() +(3-((new Date(yearOfThursday,0,4).getDay()+6) % 7)) * 86400000);
                        let weekNumber1 = Math.floor(1 + 0.5 + (currentThursday.getTime() - firstThursday.getTime()) / 86400000/7);
                  
                       //log('KalenderWoche des Ical Events: '+weekNumber1.toString());
                       return weekNumber1;
                  }
                  
                  on({id: icalInstanz, change: "ne"}, async function (obj) {
                  let myObiject=[]
                  myObiject=getState(icalInstanz).val
                  //log('Diese Kalender-Woche :' +thisKW());
                  //log('KalenderWoche des Ical Events: '+myObiject[2].event+" KW: "+getFromiCAL(0));
                  
                  // zu allen ical events diese und nächste woche zeigen
                  
                  let dieseWK=thisKW();
                  let newJsonObj=[];
                  let testObj=[]
                  for (let i=0;i<myObiject.length;i++){
                       if (dieseWK == getFromiCAL(i)) {/*log(myObiject[i].event +" diese Woche") ;  */ testObj={...myObiject[i]} ;  testObj._date= "diese Woche ("+formatDate(getDateObject(myObiject[i]._date), "W")+')'; newJsonObj.push(testObj)  }
                     if (dieseWK+1 == getFromiCAL(i)  || (dieseWK==52 && getFromiCAL(i)==0) ) { /*log(myObiject[i].event+" nächste Woche") ;*/testObj={...myObiject[i]} ;  testObj._date= "nächste Woche ("+formatDate(getDateObject(myObiject[i]._date), "W")+')'; newJsonObj.push(testObj)  }
                     testObj=[]
                  }
                  //log(JSON.stringify(newJsonObj))
                  setState(neuerDP,JSON.stringify(newJsonObj))
                  
                  
                  });
                  
                  

                  schaut dann so aus:

                  Image 7.png
                  es muss der inventwo widget adapter installiert sein

                  widget zum import:


                  [{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"30","iTableRefreshRate":"0","iColCount":"5","iColShow1":false,"iTblTextAlign1":"left","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#1d4672","iTblRowUnevenColor":"#4a6b87","iTblHeaderColor":"#4992df","iRowSpacing":"10","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.ICAL-KONVERT.KonvertJSON","iColShow2":"true","iTblTextAlign2":"left","iTblCellFormat2":"normal","iTblCellImageSize2":"200","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":false,"iTblTextAlign3":"left","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":"false","iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iColShow4":true,"iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholdsDp4":"","iTblCellThresholdsText4":"","iColShow5":false,"iTblTextAlign5":"left","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholdsDp5":"","iTblCellThresholdsText5":"","iColName2":"EVENT","iColName4":"WEEK","iTblShowHead":true},"style":{"left":"474px","top":"155px","width":"681px","height":"819px","overflow-y":"scroll","text-align":"left"},"widgetSet":"vis-inventwo"}]

                  [/s]
                  Dr.Pie 1 Reply Last reply Reply Quote 0
                  • Dr.Pie
                    Dr.Pie @liv-in-sky last edited by

                    Hallo

                    schade das hier keiner wirklich meinen Text versteht.

                    Trotzdem vielen Dank ...
                    Ich bin dann raus hier.

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Dr.Pie last edited by

                      @dr-pie sagte in ical Adapter Woche anzeigen anstatt Datum:

                      schade das hier keiner wirklich meinen Text versteht.

                      wie kommst du darauf?

                      nur du verstehst anscheinend den Knackpunkt bei deinem Wunsch nicht.
                      @liv-in-sky hat es dir erklärt:
                      Der Adapter schreibt es so wie es ist, das ist nicht änderbar

                      Aber da es immer ein "geht trotzdem" gibt, hat er dir auch den Weg dahin beschrieben

                      Allerdings kann ich mit deiner Aussage:

                      @dr-pie sagte in ical Adapter Woche anzeigen anstatt Datum:

                      Obwohl ich eingestellt habe das ich jede Minute (Nur testweise) aktualisieren eingestellt habe muss ich den Adapter selber anstubsen/aktualisieren, da sonst keine neuen Termine sichtbar sind.

                      nichts anfangen.
                      Neue Termine kommen immer erst wenn der Adapter sie einliest. Das ist ein scheduled Adapter, der nur zu den eingestellten Intervallen Daten abholt.
                      Warum das so ist hat @liv-in-sky dir ebenfalls erklärt

                      Dr.Pie 1 Reply Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @Dr.Pie last edited by

                        @dr-pie sagte in ical Adapter Woche anzeigen anstatt Datum:

                        da sonst keine neuen Termine sichtbar sind.
                        Das ist sowas von ätzend ....

                        .... dann setze den Kalender ... Google ...oder was du hast in ein Iframe .

                        https://www.youtube.com/watch?v=0VeeiRBI69A

                        1 Reply Last reply Reply Quote 0
                        • Dr.Pie
                          Dr.Pie @Homoran last edited by

                          @homoran sagte in ical Adapter Woche anzeigen anstatt Datum:

                          wie kommst du darauf?

                          Moin
                          ich schrieb auf den Beitrag von liv-in-sky das ich gar keine Ahnung habe.

                          Und dann wird man mit professionellen Aktionen bombardiert 😳 .

                          Bitte meine Aussagen NICHT gleich wieder falsch verstehen....
                          Vielleicht habe ich das nur falsch rüber gebracht.

                          Wenn man einen Anfänger mit solchen Scripten eine mögliche Lösung anbietet kann man natürlich nicht wissen das der Fragesteller keine Ahnung von derartigen Scripten hat.
                          Darum schrieb ich ja das ich das ganze Einstellen werde da ich "viel viel zu wenig Ahnung ... um nicht zu sagen, gar keine Ahnung".

                          Sooo ... wäre das mal geklärt ...
                          Schönen Dritten Advent Euch noch ...

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Dr.Pie last edited by

                            @dr-pie sagte in ical Adapter Woche anzeigen anstatt Datum:

                            Und dann wird man mit professionellen Aktionen bombardiert .

                            nein, es wurde dir eine fix und fertige Lösung präsentiert, weil du

                            @dr-pie sagte in ical Adapter Woche anzeigen anstatt Datum:

                            gar keine Ahnung habe.

                            Dr.Pie 1 Reply Last reply Reply Quote 0
                            • Dr.Pie
                              Dr.Pie @Homoran last edited by

                              Mist ... wurden meine Worte doch falsch verstanden ... seufz ...

                              liv-in-sky 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Dr.Pie last edited by liv-in-sky

                                @dr-pie

                                andere haben einfach nachgefragt, was sie damit machen sollen - für einige habe ich auch anydesk oder teamviewer gemacht, damit ein solches script zusammen über fernwartung eingerichtet wird

                                jetzt bin ich mal raus - mach, wie du es für richtig hälst

                                ps: ich habe das übrigens nicht für dich gepostet - es gibt vielleicht noch andere, die das irgendwie nutzen wollten - und ich wollte das auch abschliessen und nicht in der mitte einfach abbrechen

                                E 1 Reply Last reply Reply Quote 1
                                • E
                                  ein-bayer @liv-in-sky last edited by ein-bayer

                                  Allerbesten Dank für das Widget und das script!

                                  eine Frage haette ich novh, wie bringe ich die uhrzeit des termines zur Anzeige? und wie bringe ich den rechten scrollbalken weg?

                                  termin.PNG

                                  liv-in-sky 3 Replies Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @ein-bayer last edited by

                                    @ein-bayer

                                    der scroll balken müßte das sein:

                                    Image 1.png

                                    diese tabelle ist eigentlich ein sonderfall - es sollte ja die woche angezeigt werden -

                                    kennst du dieses script ?

                                    https://forum.iobroker.net/topic/40691/html-tabelle-für-ical-adapter-mehrere-instanzen

                                    dort ist auch die uhrzeit drin

                                    oder willst du das unbedingt in diesem script haben

                                    1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @ein-bayer last edited by

                                      @ein-bayer

                                      evtl so:

                                      Image 3.png

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @ein-bayer last edited by liv-in-sky

                                        @ein-bayer

                                        du kannst in diesem script einstellen, ob du für die uhrzeit eine extra spalte möchtest - wenn ja , muss im widget das eingestellt werden

                                        Image 4.png

                                        //@liv-in-sky 
                                        //ical test kalenderwoche
                                        //forum: https://forum.iobroker.net/topic/49906/ical-adapter-woche-anzeigen-anstatt-datum?_=1639049836681
                                        
                                        let icalInstanz='ical.0.data.table';
                                        let neuerDP='0_userdata.0.ICAL-KONVERT.KonvertJSON';
                                        let extraSpalteUhrzeit=true;
                                        
                                        function thisKW(){
                                        
                                             let dater1 = new Date();
                                             let currentThursday1 = new Date(dater1.getTime() +(3-((dater1.getDay()+6) % 7)) * 86400000);
                                             let yearOfThursday1 = currentThursday1.getFullYear();
                                             let firstThursday1 = new Date(new Date(yearOfThursday1,0,4).getTime() +(3-((new Date(yearOfThursday1,0,4).getDay()+6) % 7)) * 86400000);
                                             let weekNumber0 = Math.floor(1 + 0.5 + (currentThursday1.getTime() - firstThursday1.getTime()) / 86400000/7);
                                             //log('Diese Kalender-Woche :' +weekNumber.toString())
                                        
                                             return weekNumber0;
                                        }
                                        
                                        function getFromiCAL(welcherEintrag){
                                             let my1Obi1=[];
                                               my1Obi1=getState(icalInstanz).val;
                                           //   log("Eintrag: "+my1Obi1[welcherEintrag]._date)
                                              let myDate11=new Date(my1Obi1[welcherEintrag]._date)
                                            //  log(welcherEintrag)
                                            //  log("myDate11: "+myDate11)
                                              let myYear=myDate11.getFullYear(); //log(myYear.toString())
                                              let myDay=myDate11.getUTCDate(); //log(myDay.toString())
                                              let myMonth=myDate11.getUTCMonth();// log(myMonth.toString())
                                              let dater2 = new Date(myYear,myMonth,myDay); 
                                              let currentThursday = new Date(dater2.getTime() +(3-((dater2.getDay()+6) % 7)) * 86400000);
                                              let yearOfThursday = currentThursday.getFullYear();
                                              let firstThursday = new Date(new Date(yearOfThursday,0,4).getTime() +(3-((new Date(yearOfThursday,0,4).getDay()+6) % 7)) * 86400000);
                                              let weekNumber1 = Math.floor(1 + 0.5 + (currentThursday.getTime() - firstThursday.getTime()) / 86400000/7);
                                        
                                             //log('KalenderWoche des Ical Events: '+weekNumber1.toString());
                                             return weekNumber1;
                                        }
                                        
                                        on({id: icalInstanz, change: "ne"}, async function (obj) {
                                           
                                            getData();
                                        });
                                        
                                        
                                        
                                        function getData(){
                                        
                                        let myObiject=[]
                                        myObiject=getState(icalInstanz).val
                                        //log('Diese Kalender-Woche :' +thisKW());
                                        //log('KalenderWoche des Ical Events: '+myObiject[2].event+" KW: "+getFromiCAL(0));
                                        
                                        // zu allen ical events diese und nächste woche zeigen
                                        
                                        let dieseWK=thisKW();
                                        let newJsonObj=[];
                                        let testObj=[];
                                        let myTime;
                                        for (let i=0;i<myObiject.length;i++){ //log(Boolean(myObiject[i]._allDay)) ;log(myObiject[i]._allDay)
                                           !Boolean(myObiject[i]._allDay) ? myTime=formatDate(getDateObject(myObiject[i]._date), "hh:mm") : myTime=""; 
                                            // log(Boolean(myObiject[i]._allDay)+myTime)
                                            if(extraSpalteUhrzeit) { if (dieseWK == getFromiCAL(i)) {/*log(myObiject[i].event +" diese Woche") ;  */ testObj={...myObiject[i]} ;  testObj._date= "diese Woche";
                                                                                                                                                                                  testObj._private=formatDate(getDateObject(myObiject[i]._date), "W")+" "+myTime; 
                                                                                                                                                                                  newJsonObj.push(testObj)  }
                                                                     if (dieseWK+1 == getFromiCAL(i)  || (dieseWK==52 && getFromiCAL(i)==0) ) { /*log(myObiject[i].event+" nächste Woche") ;*/  testObj={...myObiject[i]} ;  
                                                                                                                                                                                   testObj._date= "nächste Woche";
                                                                                                                                                                                   testObj._private=formatDate(getDateObject(myObiject[i]._date), "W")+" "+myTime;
                                                                                                                                                                                   newJsonObj.push(testObj)  }
                                           } else{
                                                                     if (dieseWK == getFromiCAL(i)) {/*log(myObiject[i].event +" diese Woche") ;  */ testObj={...myObiject[i]} ;  testObj._date= "diese Woche ("+formatDate(getDateObject(myObiject[i]._date), "W")+' '+myTime+')'; newJsonObj.push(testObj)  }
                                                                     if (dieseWK+1 == getFromiCAL(i)  || (dieseWK==52 && getFromiCAL(i)==0) ) { /*log(myObiject[i].event+" nächste Woche") ;*/testObj={...myObiject[i]} ;  testObj._date= "nächste Woche ("+formatDate(getDateObject(myObiject[i]._date), "W")+' '+myTime+')'; newJsonObj.push(testObj)  }
                                            }
                                           testObj=[]
                                        }
                                        //log(JSON.stringify(newJsonObj))
                                        setState(neuerDP,JSON.stringify(newJsonObj))
                                        
                                        
                                        }
                                        
                                        getData();
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        

                                        Image 7.png

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          ein-bayer last edited by ein-bayer

                                          @liv-in-sky

                                          besten Dank, ich schau mir das am Sonntag an, cih denke ich mach das mit Deinem script. Danke für die "Betreuung" 🙂

                                          Das ist ein Widget und script das auch bei meiner Frau gut ankommt ......

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

                                          Support us

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

                                          895
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          5
                                          19
                                          734
                                          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