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. JavaScript
  5. iCal Monatsansicht VIS

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

iCal Monatsansicht VIS

Scheduled Pinned Locked Moved JavaScript
41 Posts 12 Posters 8.7k Views 14 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.
  • E EddyD's SmartHome

    @adarof Hallo, ich hoffe ich kann dir helfen, hatte selbst die Probleme, konnte es aber lösen.
    Ich denke das sollte bei dir auch gehen.
    Worauf es anscheinend ankommt ist das du dich auf dem System wo du das Bild/View ansehen willst, dich dort mit dem Browser vorher bei google einloggst.

    Bei mir war es so das ich die Vis auf einem Raspi mit Raspbian (Desktopmodus) laufen hatte und es mir dort nicht angezeigt wurde.
    Als ich mich dann mit dem Raspi Chromium Browser beim Google Kalender mit meinem Accout angemeldet habe und zugelassen habe das Cookies gespeichert werden und es dann nochmal versucht habe, ging es.
    Ich glaube es ist auch wichtig das man das Passwort im Browser speichert, google muss ja wissen das du es bist und nicht jemand anderes.
    Wie gesagt, melde dich mit dem Browser an mit dem du den View auch betrachten willst, dann sollte das mit dem iFrame/HTML Widget gehen.
    Mehr habe ich nicht gemacht und dann ging es. Hatte das selbe Fehlerbild wie du.
    Gruß
    Eddy

    R Offline
    R Offline
    Raabensohn
    wrote on last edited by
    #26

    @EddyD-s-SmartHome
    bei mir hat genau das geholfen!
    Danke für den Tipp!

    1 Reply Last reply
    0
    • A Offline
      A Offline
      adarof
      wrote on last edited by
      #27

      Hallo
      Könnt Ihr mir mal bitte die Einstellungen bei Google bzgl. Freigabe von Eurem Kalender schicken?
      Habt Ihr das hier vielleicht freigegeben?
      ![Bild Text](KalenderFreigabefürVis.png Bild Link)
      Ich bin mit dem richtigen Login im Chrome eingelogged bei Google und kann, wenn ich den Link direkt im Browser eingebe, auch auf den Kalender zugreifen. Wenn ich das per iFrame im Vis einbinde, kommt aber besagte Fehlermeldung.

      Gruss

      M 1 Reply Last reply
      0
      • D der-eine

        Hallo zusammen,

        hoffe es kann mir jemand helfen, ich möchte die Daten aus iCal (4 Instanzen) in manuell erstellten Datenpunkte schreiben. Insgesamt ~365 für jeden Tag des Jahres einen.
        Wie auf dem Bild zu sehen möchte ich diese dann in die VIS View einbinden und somit eine Monatsansicht erzeugen. Hat jemand eine Idee wie ich das umsetzen kann?

        Danke schon mal im vorraus

        0DF4A8B3-09AA-478C-9EF1-1AA939A51504.jpeg

        S Offline
        S Offline
        senger1985
        wrote on last edited by
        #28

        @der-eine ich weiß, der Post ist schon "etwas" älter, aber könntest du mir sagen, wie du die Kalenderansicht, in die VIS bekommen hast?

        D 1 Reply Last reply
        0
        • S senger1985

          @der-eine ich weiß, der Post ist schon "etwas" älter, aber könntest du mir sagen, wie du die Kalenderansicht, in die VIS bekommen hast?

          D Offline
          D Offline
          der-eine
          wrote on last edited by
          #29

          @senger1985 die hab ich selbst zusammen gebaut. Verwende ich aber nicht mehr da ich vom Design auf MDUI CSS umgestellt habe.

          Meine VIS

          S 1 Reply Last reply
          0
          • D der-eine

            @senger1985 die hab ich selbst zusammen gebaut. Verwende ich aber nicht mehr da ich vom Design auf MDUI CSS umgestellt habe.

            Meine VIS

            S Offline
            S Offline
            senger1985
            wrote on last edited by
            #30

            @der-eine hast du zufällig noch das Script, denn ich suche sowas, in der Art.
            Ich brauchte einfach nur eine Monatsansicht, ohne Termine, die den aktuellen Monat anzeigt und ggf. den aktuellen Tag markiert.

            D 1 Reply Last reply
            0
            • S senger1985

              @der-eine hast du zufällig noch das Script, denn ich suche sowas, in der Art.
              Ich brauchte einfach nur eine Monatsansicht, ohne Termine, die den aktuellen Monat anzeigt und ggf. den aktuellen Tag markiert.

              D Offline
              D Offline
              der-eine
              wrote on last edited by
              #31

              @senger1985 hierfür gibt es kein Skript. Ein Skript das mir meine Termin auf die 30 Tage einteilt hätte ich selber gesucht.

              S liv-in-skyL 2 Replies Last reply
              0
              • D der-eine

                @senger1985 hierfür gibt es kein Skript. Ein Skript das mir meine Termin auf die 30 Tage einteilt hätte ich selber gesucht.

                S Offline
                S Offline
                senger1985
                wrote on last edited by
                #32

                @der-eine okay, trotzdem danke.

                D 1 Reply Last reply
                0
                • S senger1985

                  @der-eine okay, trotzdem danke.

                  D Offline
                  D Offline
                  der-eine
                  wrote on last edited by
                  #33

                  @senger1985 Bitte. Hast Du Dir mal die Anzeige der Termin im MDUI CSS angeschaut? Mir gefällt die ganz gut vor allem mit der Möglichkeit nach Terminen zu suchen oder nur bestimmte Kalender einzublenden.

                  5FDE9054-50E9-4A91-92A5-4BC44C2905D0.png

                  S 1 Reply Last reply
                  0
                  • D der-eine

                    @senger1985 Bitte. Hast Du Dir mal die Anzeige der Termin im MDUI CSS angeschaut? Mir gefällt die ganz gut vor allem mit der Möglichkeit nach Terminen zu suchen oder nur bestimmte Kalender einzublenden.

                    5FDE9054-50E9-4A91-92A5-4BC44C2905D0.png

                    S Offline
                    S Offline
                    senger1985
                    wrote on last edited by
                    #34

                    @der-eine nein, habe ich mir noch nicht angeschaut, da mir gerade eine Idee in den Kopf geschossen kam und ich jetzt gucken möchte, ob ich sie so umsetzen kann

                    1 Reply Last reply
                    0
                    • D der-eine

                      @senger1985 hierfür gibt es kein Skript. Ein Skript das mir meine Termin auf die 30 Tage einteilt hätte ich selber gesucht.

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      wrote on last edited by
                      #35

                      @der-eine nicht so schön wie das m,it dem material design

                      aber eine liste mit ical gäbe es auch hier:

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

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      D 1 Reply Last reply
                      0
                      • liv-in-skyL liv-in-sky

                        @der-eine nicht so schön wie das m,it dem material design

                        aber eine liste mit ical gäbe es auch hier:

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

                        D Offline
                        D Offline
                        der-eine
                        wrote on last edited by
                        #36

                        @liv-in-sky danke Dir. Bin mit dem MDUI CSS zufrieden. Früher wäre es interessant gewesen die Termin so aufzuteilen wie im ersten Post beschrieben.

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          senger1985
                          wrote on last edited by
                          #37

                          Ich wollte mal mein Fortschritt mitteilen, einen "einfachen" Kalender, in der Vis anzuzeigen.

                          Es muss ein JS erstellt werden und ein eigener Datenpunkt, den man dann in der Vis, mittels "basic-HTML"-Widget ausgeben kann.

                          schedule('0,6,21 * * *', async function () {
                          var d = new Date();
                          var dm = d.getMonth() + 1;
                          var dj = d.getYear();
                          if(dj < 999) dj+=1900;
                          Kalender(dm,dj);
                          
                          function Kalender(Monat,Jahr) {
                          Monatsname = new Array
                          ("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli",
                          "August","September","Oktober","November","Dezember");
                          Tag = new Array ("Mo","Di","Mi","Do","Fr","Sa","So");
                          
                          var KSchrArt = "Verdana,Arial"; /* Schriftart Kalenderkopf */
                          var KSchrGroesse = 3;           /* Schriftgroesse 1-7 Kalenderkopf */
                          var KSchrFarbe = getState("vis-inventwo.0.CSS.Text").val;     /* Schriftfarbe Kalenderkopf */
                          var Khgrund = getState("vis-inventwo.0.CSS.Button").val;        /* Hintergrundfarbe Kalenderkopf */
                          var TSchrArt = "Verdana,Arial"; /* Schriftart Tagesanzeige */
                          var TSchrGroesse = 3;           /* Schriftgroesse 1-7 Tagesanzeige */
                          var TSchrFarbe = getState("vis-inventwo.0.CSS.Active").val;     /* Schriftfarbe Tagesanzeige */
                          var Thgrund = getState("vis-inventwo.0.CSS.Button").val;       /* Hintergrundfarbe Tagesanzeige */
                          var SoFarbe = "#E00000";        /* Schriftfarbe f. Sonntage */
                          var Ahgrund = getState("vis-inventwo.0.CSS.Active").val;         /* Hintergrundfarbe f. heutigen Tag */
                          var ASchrFarbe = getState("vis-inventwo.0.CSS.Button").val;         /* Schriftfarbe f. heutigen Tag */
                          
                          var jetzt = new Date();
                          var DieserMonat = jetzt.getMonth() + 1;
                          var DiesesJahr = jetzt.getYear();
                          if(DiesesJahr < 999) DiesesJahr+=1900;
                          var DieserTag = jetzt.getDate();
                          var Zeit = new Date(Jahr,Monat-1,1);
                          var Start = Zeit.getDay();
                          if(Start > 0) Start--;
                          else Start = 6;
                          var Stop = 31;
                          if(Monat==4 ||Monat==6 || Monat==9 || Monat==11 ) --Stop;
                          if(Monat==2) {
                          Stop = Stop - 3;
                          if(Jahr%4==0) Stop++;
                          if(Jahr%100==0) Stop--;
                          if(Jahr%400==0) Stop++;
                          }
                          
                          kalender = '<table border="1" cellpadding="1" cellspacing="1">';
                          var Monatskopf = Monatsname[Monat-1] + " " + Jahr;
                          SchreibeKopf(Monatskopf,Khgrund,KSchrFarbe,KSchrGroesse,KSchrArt);
                          var Tageszahl = 1;
                          for(var i=0;i<=5;i++) {
                           kalender +="<tr>";
                           for(var j=0;j<=5;j++) {
                             if((i==0)&&(j < Start))
                              SchreibeZelle("&#160;",Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt);
                             else {
                               if(Tageszahl > Stop)
                                 SchreibeZelle("&#160;",Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt);
                               else {
                                 if((Jahr==DiesesJahr)&&(Monat==DieserMonat)&&(Tageszahl==DieserTag))
                                  SchreibeZelle(Tageszahl,Ahgrund,ASchrFarbe,TSchrFarbe,TSchrGroesse,TSchrArt);
                                 else
                                  SchreibeZelle(Tageszahl,Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt);
                                 Tageszahl++;
                                 }
                               }
                             }
                             if(Tageszahl > Stop)
                               SchreibeZelle("&#160;",Thgrund,SoFarbe,TSchrGroesse,TSchrArt);
                             else {
                               if((Jahr==DiesesJahr)&&(Monat==DieserMonat)&&(Tageszahl==DieserTag))
                                 SchreibeZelle(Tageszahl,Ahgrund,ASchrFarbe,SoFarbe,TSchrGroesse,TSchrArt);
                               else
                                 SchreibeZelle(Tageszahl,Thgrund,SoFarbe,TSchrGroesse,TSchrArt);
                               Tageszahl++;
                             }
                             kalender += "<\/tr>";
                           }
                          kalender += "<\/table>";
                          }
                          
                          function SchreibeKopf(Monatstitel,HgFarbe,SchrFarbe,SchrGroesse,SchrArt) {
                          kalender += "<tr>";
                          kalender += '<td align="center" colspan="7" valign="middle" bgcolor="'+HgFarbe+'">';
                          kalender += '<font size="'+SchrGroesse+'" color="'+SchrFarbe+'" face="'+SchrArt+'"><b>';
                          kalender += (Monatstitel);
                          kalender += "<\/b><\/font><\/td><\/tr>";
                          kalender += "<tr>";
                          for(var i=0;i<=6;i++)
                           SchreibeZelle(Tag[i],HgFarbe,SchrFarbe,SchrGroesse,SchrArt);
                          kalender += "<\/tr>";
                          }
                          
                          function SchreibeZelle(Inhalt,HgFarbe,SchrFarbe,SchrGroesse,SchrArt) {
                          kalender += '<td align="center" valign="middle" bgcolor="'+HgFarbe+'">';
                          kalender += '<font size="'+SchrGroesse+'" color="'+SchrFarbe+'" face="'+SchrArt+'"><b>';
                          kalender += (Inhalt);
                          kalender += "<\/b><\/font><\/td>";
                          }
                          
                          setState("0_userdata.0.Vis_Kalender", kalender);
                          });
                          
                          D 1 Reply Last reply
                          1
                          • S senger1985

                            Ich wollte mal mein Fortschritt mitteilen, einen "einfachen" Kalender, in der Vis anzuzeigen.

                            Es muss ein JS erstellt werden und ein eigener Datenpunkt, den man dann in der Vis, mittels "basic-HTML"-Widget ausgeben kann.

                            schedule('0,6,21 * * *', async function () {
                            var d = new Date();
                            var dm = d.getMonth() + 1;
                            var dj = d.getYear();
                            if(dj < 999) dj+=1900;
                            Kalender(dm,dj);
                            
                            function Kalender(Monat,Jahr) {
                            Monatsname = new Array
                            ("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli",
                            "August","September","Oktober","November","Dezember");
                            Tag = new Array ("Mo","Di","Mi","Do","Fr","Sa","So");
                            
                            var KSchrArt = "Verdana,Arial"; /* Schriftart Kalenderkopf */
                            var KSchrGroesse = 3;           /* Schriftgroesse 1-7 Kalenderkopf */
                            var KSchrFarbe = getState("vis-inventwo.0.CSS.Text").val;     /* Schriftfarbe Kalenderkopf */
                            var Khgrund = getState("vis-inventwo.0.CSS.Button").val;        /* Hintergrundfarbe Kalenderkopf */
                            var TSchrArt = "Verdana,Arial"; /* Schriftart Tagesanzeige */
                            var TSchrGroesse = 3;           /* Schriftgroesse 1-7 Tagesanzeige */
                            var TSchrFarbe = getState("vis-inventwo.0.CSS.Active").val;     /* Schriftfarbe Tagesanzeige */
                            var Thgrund = getState("vis-inventwo.0.CSS.Button").val;       /* Hintergrundfarbe Tagesanzeige */
                            var SoFarbe = "#E00000";        /* Schriftfarbe f. Sonntage */
                            var Ahgrund = getState("vis-inventwo.0.CSS.Active").val;         /* Hintergrundfarbe f. heutigen Tag */
                            var ASchrFarbe = getState("vis-inventwo.0.CSS.Button").val;         /* Schriftfarbe f. heutigen Tag */
                            
                            var jetzt = new Date();
                            var DieserMonat = jetzt.getMonth() + 1;
                            var DiesesJahr = jetzt.getYear();
                            if(DiesesJahr < 999) DiesesJahr+=1900;
                            var DieserTag = jetzt.getDate();
                            var Zeit = new Date(Jahr,Monat-1,1);
                            var Start = Zeit.getDay();
                            if(Start > 0) Start--;
                            else Start = 6;
                            var Stop = 31;
                            if(Monat==4 ||Monat==6 || Monat==9 || Monat==11 ) --Stop;
                            if(Monat==2) {
                            Stop = Stop - 3;
                            if(Jahr%4==0) Stop++;
                            if(Jahr%100==0) Stop--;
                            if(Jahr%400==0) Stop++;
                            }
                            
                            kalender = '<table border="1" cellpadding="1" cellspacing="1">';
                            var Monatskopf = Monatsname[Monat-1] + " " + Jahr;
                            SchreibeKopf(Monatskopf,Khgrund,KSchrFarbe,KSchrGroesse,KSchrArt);
                            var Tageszahl = 1;
                            for(var i=0;i<=5;i++) {
                             kalender +="<tr>";
                             for(var j=0;j<=5;j++) {
                               if((i==0)&&(j < Start))
                                SchreibeZelle("&#160;",Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt);
                               else {
                                 if(Tageszahl > Stop)
                                   SchreibeZelle("&#160;",Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt);
                                 else {
                                   if((Jahr==DiesesJahr)&&(Monat==DieserMonat)&&(Tageszahl==DieserTag))
                                    SchreibeZelle(Tageszahl,Ahgrund,ASchrFarbe,TSchrFarbe,TSchrGroesse,TSchrArt);
                                   else
                                    SchreibeZelle(Tageszahl,Thgrund,TSchrFarbe,TSchrGroesse,TSchrArt);
                                   Tageszahl++;
                                   }
                                 }
                               }
                               if(Tageszahl > Stop)
                                 SchreibeZelle("&#160;",Thgrund,SoFarbe,TSchrGroesse,TSchrArt);
                               else {
                                 if((Jahr==DiesesJahr)&&(Monat==DieserMonat)&&(Tageszahl==DieserTag))
                                   SchreibeZelle(Tageszahl,Ahgrund,ASchrFarbe,SoFarbe,TSchrGroesse,TSchrArt);
                                 else
                                   SchreibeZelle(Tageszahl,Thgrund,SoFarbe,TSchrGroesse,TSchrArt);
                                 Tageszahl++;
                               }
                               kalender += "<\/tr>";
                             }
                            kalender += "<\/table>";
                            }
                            
                            function SchreibeKopf(Monatstitel,HgFarbe,SchrFarbe,SchrGroesse,SchrArt) {
                            kalender += "<tr>";
                            kalender += '<td align="center" colspan="7" valign="middle" bgcolor="'+HgFarbe+'">';
                            kalender += '<font size="'+SchrGroesse+'" color="'+SchrFarbe+'" face="'+SchrArt+'"><b>';
                            kalender += (Monatstitel);
                            kalender += "<\/b><\/font><\/td><\/tr>";
                            kalender += "<tr>";
                            for(var i=0;i<=6;i++)
                             SchreibeZelle(Tag[i],HgFarbe,SchrFarbe,SchrGroesse,SchrArt);
                            kalender += "<\/tr>";
                            }
                            
                            function SchreibeZelle(Inhalt,HgFarbe,SchrFarbe,SchrGroesse,SchrArt) {
                            kalender += '<td align="center" valign="middle" bgcolor="'+HgFarbe+'">';
                            kalender += '<font size="'+SchrGroesse+'" color="'+SchrFarbe+'" face="'+SchrArt+'"><b>';
                            kalender += (Inhalt);
                            kalender += "<\/b><\/font><\/td>";
                            }
                            
                            setState("0_userdata.0.Vis_Kalender", kalender);
                            });
                            
                            D Offline
                            D Offline
                            der-eine
                            wrote on last edited by
                            #38

                            @senger1985 gibts dazu auch ein Bild aus deiner VIS? Danke fürs teilen. :+1:

                            S 1 Reply Last reply
                            0
                            • D der-eine

                              @senger1985 gibts dazu auch ein Bild aus deiner VIS? Danke fürs teilen. :+1:

                              S Offline
                              S Offline
                              senger1985
                              wrote on last edited by
                              #39

                              @der-eine kal.PNG
                              Natürlich

                              Eingeblendet, über ein PopUp.

                              Da ich immer nur mal wieder, den Wochentag, eines bestimmten Datums wissen möchte, reicht mir diese Ansicht vollkommen aus.

                              1 Reply Last reply
                              1
                              • A adarof

                                Hallo
                                Könnt Ihr mir mal bitte die Einstellungen bei Google bzgl. Freigabe von Eurem Kalender schicken?
                                Habt Ihr das hier vielleicht freigegeben?
                                ![Bild Text](KalenderFreigabefürVis.png Bild Link)
                                Ich bin mit dem richtigen Login im Chrome eingelogged bei Google und kann, wenn ich den Link direkt im Browser eingebe, auch auf den Kalender zugreifen. Wenn ich das per iFrame im Vis einbinde, kommt aber besagte Fehlermeldung.

                                Gruss

                                M Offline
                                M Offline
                                marsmännchen
                                wrote on last edited by
                                #40

                                @adarof
                                Hallo, hast du vielleicht hinbekommen den IFrame zu implementieren?
                                Bei Windows funktionierts mal wieder, Raspberry/chromium nicht.
                                MfG
                                Patrick

                                Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                                Wago PFC200 mit Dali Lichtsteuerung.

                                A 1 Reply Last reply
                                0
                                • M marsmännchen

                                  @adarof
                                  Hallo, hast du vielleicht hinbekommen den IFrame zu implementieren?
                                  Bei Windows funktionierts mal wieder, Raspberry/chromium nicht.
                                  MfG
                                  Patrick

                                  A Offline
                                  A Offline
                                  adarof
                                  wrote on last edited by
                                  #41

                                  @marsmännchen Nein, ich hab das aufgegeben. Falls Du noch eine Idee hast ... sehr gern

                                  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

                                  319

                                  Online

                                  32.7k

                                  Users

                                  82.3k

                                  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