Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. iCal Monatsansicht VIS

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    iCal Monatsansicht VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      senger1985 @der-eine last edited by

      @der-eine okay, trotzdem danke.

      D 1 Reply Last reply Reply Quote 0
      • D
        der-eine @senger1985 last edited by

        @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 Reply Quote 0
        • S
          senger1985 @der-eine last edited by

          @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 Reply Quote 0
          • liv-in-sky
            liv-in-sky @der-eine last edited by

            @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 1 Reply Last reply Reply Quote 0
            • D
              der-eine @liv-in-sky last edited by

              @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 Reply Quote 0
              • S
                senger1985 last edited by

                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 Reply Quote 1
                • D
                  der-eine @senger1985 last edited by

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

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    senger1985 @der-eine last edited by

                    @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 Reply Quote 1
                    • M
                      marsmännchen @adarof last edited by

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

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        adarof @marsmännchen last edited by

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

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        821
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        12
                        41
                        6568
                        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