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

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

iCal Monatsansicht VIS

Geplant Angeheftet Gesperrt Verschoben JavaScript
41 Beiträge 12 Kommentatoren 8.1k Aufrufe 14 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.
  • A Offline
    A Offline
    adarof
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #32

              @der-eine okay, trotzdem danke.

              D 1 Antwort Letzte Antwort
              0
              • S senger1985

                @der-eine okay, trotzdem danke.

                D Offline
                D Offline
                der-eine
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        senger1985
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #38

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

                          S 1 Antwort Letzte Antwort
                          0
                          • D der-eine

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

                            S Offline
                            S Offline
                            senger1985
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #41

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

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


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                377

                                Online

                                32.4k

                                Benutzer

                                81.5k

                                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