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. [gelöst] Einfacher Countdown in VIS von festem Datum gesucht

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    588

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

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

[gelöst] Einfacher Countdown in VIS von festem Datum gesucht

Scheduled Pinned Locked Moved JavaScript
javascript
72 Posts 6 Posters 9.9k Views 9 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.
  • liv-in-skyL liv-in-sky

    @Camuri gehts damit

    script-im-txt.txt

    C Offline
    C Offline
    Camuri
    wrote on last edited by
    #57

    @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

    @Camuri gehts damit

    script-im-txt.txt

    Funktioniert danke :D

    42e236de282e9249738bb68fd9f9c9db.png

    1 Reply Last reply
    0
    • liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      wrote on last edited by
      #58

      1445small--robots-winzig.png

      yeah

      sorry - was ein blöder fehler

      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

      1 Reply Last reply
      1
      • liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        wrote on last edited by
        #59

        es gibt eine neue version

        neues format bei datumseingabe: folgendes ist möglich:

        • 9.4.2019 10:00
        • 9.4.2019
        • 9 May 2019 10:00 - (Monat 3 Buchstaben engl. Abkürzung)
        • 9 May 2019 - (Monat 3 Buchstaben engl. Abkürzung)

        zwischen datum und uhrzeit nur ein "leerzeichen"

        DatumCountdownScript.txt

        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

        1 Reply Last reply
        0
        • P Offline
          P Offline
          pix
          wrote on last edited by pix
          #60

          Hallo,

          ist zwar schon zwei Monate alt, aber ich bin gerade auf einem Umweg auf diesen Thread gestossen. Habe eine ähnliche Lösung. Vielleicht will jemand das lieber so haben:

          Bildschirmfoto 2019-05-17 um 19.45.52.jpg

          /* Termin
          Skript zählt bis Termin runter
          http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/
          
          Monate zu berechnen macht keinen Sinn, da Monate unterschiedliche Längen haben.
          Es müssten dann konkret die Monate, die vergehen werden addiert werden (Schaltjahre)
          
          26.01.2016 erstellt von Pix
          01.11.2018 Code optimiert anch erneutem Einbau in VIS
          */
          
          const instanz = "javascript.0";
          const logging = true;
          const fC = false;
          
          // ab hier nix mehr ändern
          
          const idTerminDatum =       instanz + ".Countdown.Termin.Datum",
                idTerminDatumString = instanz + ".Countdown.Termin.Datum.String",
                idTerminName =        instanz + ".Countdown.Termin.Name",
                idTotal =             instanz + ".Countdown.Termin.Rest.Total",
                idTage =              instanz + ".Countdown.Termin.Rest.Tage",
                idWochen =            instanz + ".Countdown.Termin.Rest.Wochen",
                idWochenRestTage =    instanz + ".Countdown.Termin.Rest.WochenResttage";
          
          createState(idTerminDatum, "9/4/2016", fC, {
              name: "Termin Datum",
              desc: "Datum des Termins (als Objekt)",
              type: "string",
              role: "date"
          });
          createState(idTerminDatumString, "3.12.2016", fC, {
              name: "Termin Datum (als String)",
              desc: "Datum des Termins als Zeichenkette",
              type: "string",
              role: "text"
          });
          createState(idTerminName, "Name des Termins", fC, {
              name: "Termin Name",
              desc: "Bezeichnung des Termins",
              type: "string",
              role : "text"
          });
          createState(idTotal, 0, fC, {
              name: "Millisekunden bis zum Termin",
              desc: "Restliche Millisekunden bis zum Datum des Termins",
              type: "number",
              unit: "ms",
              role: "level"
          });
          createState(idTage, 0, fC, {
              name: "Tage bis zum Termin",
              desc: "Restliche Tage bis zum Datum des Termins",
              type: "number",
              unit: "Tage",
              role: "level"
          });
          createState(idWochen, 0, fC, {
              name: "Wochen bis zum Termin",
              desc: "Restliche ganze Wochen bis zum Datum des Termins",
              type: "number",
              unit: "Wochen",
              role: "level"
          });
          createState(idWochenRestTage, 0, fC, {
              name: "Tage nach glatten Wochen bis zum Termin",
              desc: "Restliche Tage bei mehreren Wochen bis zum Datum des Termins",
              type: "number",
              unit: "Tage",
              role: "level"
          });
          
          
          let deadline;
          
          function getTimeRemaining(endtime){
            let t = Date.parse(endtime) - Date.parse(new Date());
            let seconds = Math.floor( (t/1000) % 60 );
            let minutes = Math.floor( (t/1000/60) % 60 );
            let hours = Math.floor( (t/(1000*60*60)) % 24 );
            let days = Math.floor( t/(1000*60*60*24) );
            let weeks = Math.floor( t/(1000*60*60*24*7) );
            return {
              "total": t,
              "days": days,
              "hours": hours,
              "minutes": minutes,
              "seconds": seconds,
              "weeks" : weeks,
              "weeks_days": days - (weeks*7)
            };
          }
          
          function restzeit() {
              if (!deadline) deadline = new Date(getState(idTerminDatum).val);
              setState(idTerminDatumString, formatDate(deadline));
              setState(idTage, getTimeRemaining(deadline).days);
              setState(idWochen, getTimeRemaining(deadline).weeks);
              setState(idTotal, getTimeRemaining(deadline).total);
              setState(idWochenRestTage, getTimeRemaining(deadline).weeks_days);
              if (logging) log(getTimeRemaining(deadline).days + " Resttage (" + getTimeRemaining(deadline).weeks + " Wochen) bis zum " + formatDate(deadline) + " (" + getState(idTerminName).val + ")"); 
          }
          
          // Mitternacht
          schedule("56 14 * * *", function() {
              restzeit();
          });
          
          // Bei Terminänderung
          on(idTerminDatum, function (obj) {
              deadline = new Date(obj.state.val);
              restzeit();
          });
          
          // Scriptstart
          //restzeit();
          

          Datenpunkte:

          Bildschirmfoto 2019-05-17 um 19.48.59.jpg

          Gruß
          Pix

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          liv-in-skyL ChaotC 2 Replies Last reply
          0
          • P pix

            Hallo,

            ist zwar schon zwei Monate alt, aber ich bin gerade auf einem Umweg auf diesen Thread gestossen. Habe eine ähnliche Lösung. Vielleicht will jemand das lieber so haben:

            Bildschirmfoto 2019-05-17 um 19.45.52.jpg

            /* Termin
            Skript zählt bis Termin runter
            http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/
            
            Monate zu berechnen macht keinen Sinn, da Monate unterschiedliche Längen haben.
            Es müssten dann konkret die Monate, die vergehen werden addiert werden (Schaltjahre)
            
            26.01.2016 erstellt von Pix
            01.11.2018 Code optimiert anch erneutem Einbau in VIS
            */
            
            const instanz = "javascript.0";
            const logging = true;
            const fC = false;
            
            // ab hier nix mehr ändern
            
            const idTerminDatum =       instanz + ".Countdown.Termin.Datum",
                  idTerminDatumString = instanz + ".Countdown.Termin.Datum.String",
                  idTerminName =        instanz + ".Countdown.Termin.Name",
                  idTotal =             instanz + ".Countdown.Termin.Rest.Total",
                  idTage =              instanz + ".Countdown.Termin.Rest.Tage",
                  idWochen =            instanz + ".Countdown.Termin.Rest.Wochen",
                  idWochenRestTage =    instanz + ".Countdown.Termin.Rest.WochenResttage";
            
            createState(idTerminDatum, "9/4/2016", fC, {
                name: "Termin Datum",
                desc: "Datum des Termins (als Objekt)",
                type: "string",
                role: "date"
            });
            createState(idTerminDatumString, "3.12.2016", fC, {
                name: "Termin Datum (als String)",
                desc: "Datum des Termins als Zeichenkette",
                type: "string",
                role: "text"
            });
            createState(idTerminName, "Name des Termins", fC, {
                name: "Termin Name",
                desc: "Bezeichnung des Termins",
                type: "string",
                role : "text"
            });
            createState(idTotal, 0, fC, {
                name: "Millisekunden bis zum Termin",
                desc: "Restliche Millisekunden bis zum Datum des Termins",
                type: "number",
                unit: "ms",
                role: "level"
            });
            createState(idTage, 0, fC, {
                name: "Tage bis zum Termin",
                desc: "Restliche Tage bis zum Datum des Termins",
                type: "number",
                unit: "Tage",
                role: "level"
            });
            createState(idWochen, 0, fC, {
                name: "Wochen bis zum Termin",
                desc: "Restliche ganze Wochen bis zum Datum des Termins",
                type: "number",
                unit: "Wochen",
                role: "level"
            });
            createState(idWochenRestTage, 0, fC, {
                name: "Tage nach glatten Wochen bis zum Termin",
                desc: "Restliche Tage bei mehreren Wochen bis zum Datum des Termins",
                type: "number",
                unit: "Tage",
                role: "level"
            });
            
            
            let deadline;
            
            function getTimeRemaining(endtime){
              let t = Date.parse(endtime) - Date.parse(new Date());
              let seconds = Math.floor( (t/1000) % 60 );
              let minutes = Math.floor( (t/1000/60) % 60 );
              let hours = Math.floor( (t/(1000*60*60)) % 24 );
              let days = Math.floor( t/(1000*60*60*24) );
              let weeks = Math.floor( t/(1000*60*60*24*7) );
              return {
                "total": t,
                "days": days,
                "hours": hours,
                "minutes": minutes,
                "seconds": seconds,
                "weeks" : weeks,
                "weeks_days": days - (weeks*7)
              };
            }
            
            function restzeit() {
                if (!deadline) deadline = new Date(getState(idTerminDatum).val);
                setState(idTerminDatumString, formatDate(deadline));
                setState(idTage, getTimeRemaining(deadline).days);
                setState(idWochen, getTimeRemaining(deadline).weeks);
                setState(idTotal, getTimeRemaining(deadline).total);
                setState(idWochenRestTage, getTimeRemaining(deadline).weeks_days);
                if (logging) log(getTimeRemaining(deadline).days + " Resttage (" + getTimeRemaining(deadline).weeks + " Wochen) bis zum " + formatDate(deadline) + " (" + getState(idTerminName).val + ")"); 
            }
            
            // Mitternacht
            schedule("56 14 * * *", function() {
                restzeit();
            });
            
            // Bei Terminänderung
            on(idTerminDatum, function (obj) {
                deadline = new Date(obj.state.val);
                restzeit();
            });
            
            // Scriptstart
            //restzeit();
            

            Datenpunkte:

            Bildschirmfoto 2019-05-17 um 19.48.59.jpg

            Gruß
            Pix

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

            @pix

            hallo @pix - das ursprüngliche script ist von dir - ich habe es nur abgeändert

            ist schon wieder eine zeit her aber ich glaube, ich habe den sommer winterzeit unterschied eingefügt

            wie auch immer - in meinem script /erster post) steht noch dein name drin - hoffe das stört dich nicht

            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

            1 Reply Last reply
            0
            • P Offline
              P Offline
              pix
              wrote on last edited by
              #62

              Oh, hab ich gar nicht gesehn :-D Alles gut, schönes Wochenende

              ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

              1 Reply Last reply
              0
              • P pix

                Hallo,

                ist zwar schon zwei Monate alt, aber ich bin gerade auf einem Umweg auf diesen Thread gestossen. Habe eine ähnliche Lösung. Vielleicht will jemand das lieber so haben:

                Bildschirmfoto 2019-05-17 um 19.45.52.jpg

                /* Termin
                Skript zählt bis Termin runter
                http://www.sitepoint.com/build-javascript-countdown-timer-no-dependencies/
                
                Monate zu berechnen macht keinen Sinn, da Monate unterschiedliche Längen haben.
                Es müssten dann konkret die Monate, die vergehen werden addiert werden (Schaltjahre)
                
                26.01.2016 erstellt von Pix
                01.11.2018 Code optimiert anch erneutem Einbau in VIS
                */
                
                const instanz = "javascript.0";
                const logging = true;
                const fC = false;
                
                // ab hier nix mehr ändern
                
                const idTerminDatum =       instanz + ".Countdown.Termin.Datum",
                      idTerminDatumString = instanz + ".Countdown.Termin.Datum.String",
                      idTerminName =        instanz + ".Countdown.Termin.Name",
                      idTotal =             instanz + ".Countdown.Termin.Rest.Total",
                      idTage =              instanz + ".Countdown.Termin.Rest.Tage",
                      idWochen =            instanz + ".Countdown.Termin.Rest.Wochen",
                      idWochenRestTage =    instanz + ".Countdown.Termin.Rest.WochenResttage";
                
                createState(idTerminDatum, "9/4/2016", fC, {
                    name: "Termin Datum",
                    desc: "Datum des Termins (als Objekt)",
                    type: "string",
                    role: "date"
                });
                createState(idTerminDatumString, "3.12.2016", fC, {
                    name: "Termin Datum (als String)",
                    desc: "Datum des Termins als Zeichenkette",
                    type: "string",
                    role: "text"
                });
                createState(idTerminName, "Name des Termins", fC, {
                    name: "Termin Name",
                    desc: "Bezeichnung des Termins",
                    type: "string",
                    role : "text"
                });
                createState(idTotal, 0, fC, {
                    name: "Millisekunden bis zum Termin",
                    desc: "Restliche Millisekunden bis zum Datum des Termins",
                    type: "number",
                    unit: "ms",
                    role: "level"
                });
                createState(idTage, 0, fC, {
                    name: "Tage bis zum Termin",
                    desc: "Restliche Tage bis zum Datum des Termins",
                    type: "number",
                    unit: "Tage",
                    role: "level"
                });
                createState(idWochen, 0, fC, {
                    name: "Wochen bis zum Termin",
                    desc: "Restliche ganze Wochen bis zum Datum des Termins",
                    type: "number",
                    unit: "Wochen",
                    role: "level"
                });
                createState(idWochenRestTage, 0, fC, {
                    name: "Tage nach glatten Wochen bis zum Termin",
                    desc: "Restliche Tage bei mehreren Wochen bis zum Datum des Termins",
                    type: "number",
                    unit: "Tage",
                    role: "level"
                });
                
                
                let deadline;
                
                function getTimeRemaining(endtime){
                  let t = Date.parse(endtime) - Date.parse(new Date());
                  let seconds = Math.floor( (t/1000) % 60 );
                  let minutes = Math.floor( (t/1000/60) % 60 );
                  let hours = Math.floor( (t/(1000*60*60)) % 24 );
                  let days = Math.floor( t/(1000*60*60*24) );
                  let weeks = Math.floor( t/(1000*60*60*24*7) );
                  return {
                    "total": t,
                    "days": days,
                    "hours": hours,
                    "minutes": minutes,
                    "seconds": seconds,
                    "weeks" : weeks,
                    "weeks_days": days - (weeks*7)
                  };
                }
                
                function restzeit() {
                    if (!deadline) deadline = new Date(getState(idTerminDatum).val);
                    setState(idTerminDatumString, formatDate(deadline));
                    setState(idTage, getTimeRemaining(deadline).days);
                    setState(idWochen, getTimeRemaining(deadline).weeks);
                    setState(idTotal, getTimeRemaining(deadline).total);
                    setState(idWochenRestTage, getTimeRemaining(deadline).weeks_days);
                    if (logging) log(getTimeRemaining(deadline).days + " Resttage (" + getTimeRemaining(deadline).weeks + " Wochen) bis zum " + formatDate(deadline) + " (" + getState(idTerminName).val + ")"); 
                }
                
                // Mitternacht
                schedule("56 14 * * *", function() {
                    restzeit();
                });
                
                // Bei Terminänderung
                on(idTerminDatum, function (obj) {
                    deadline = new Date(obj.state.val);
                    restzeit();
                });
                
                // Scriptstart
                //restzeit();
                

                Datenpunkte:

                Bildschirmfoto 2019-05-17 um 19.48.59.jpg

                Gruß
                Pix

                ChaotC Offline
                ChaotC Offline
                Chaot
                wrote on last edited by
                #63

                @pix Danke dir.
                Hast du eventuell noch das Widget als Export?
                Mir ist noch nicht ganz klar wo ich den Termin schreiben soll.
                Wenn ich den string ändere wird nichts gezählt und was anderes kann ich scheinbar nicht verändern.

                ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                1 Reply Last reply
                0
                • ChaotC Offline
                  ChaotC Offline
                  Chaot
                  wrote on last edited by
                  #64

                  Lass mich mal bischen weiterspinnen:

                  Ich nehme aus dem Kalender die Geburtstage der Familienmitglieder (eigenen Kalender anlegen) und zähle dann bis zum nächsten Geburtstag.
                  Ist der Termin vorbei wird der nächste anstehende Termin genommen und gezählt.
                  Ist sowas umsetzbar?

                  P.S. Ich habe meinen Fehler gefunden.

                  ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                  liv-in-skyL 1 Reply Last reply
                  0
                  • ChaotC Chaot

                    Lass mich mal bischen weiterspinnen:

                    Ich nehme aus dem Kalender die Geburtstage der Familienmitglieder (eigenen Kalender anlegen) und zähle dann bis zum nächsten Geburtstag.
                    Ist der Termin vorbei wird der nächste anstehende Termin genommen und gezählt.
                    Ist sowas umsetzbar?

                    P.S. Ich habe meinen Fehler gefunden.

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

                    @Chaot

                    ich weiß nicht , welches script du jetzt meinst - das von diesem thread oder ein anderes ?

                    aber egal - mit dem script hier wäre das sicher möglich, die schwierigkeit liegt beim auslesen eines z.b goolgle-kalender termins. dieses script hier braucht ein bestimmtes format im datumsfeld, dann fängt es an zu zählen

                    mit dem ical adapter gibt es vielleicht diese möglichkeit - es gibt das berühmte müll-script - da wird ja auch der termin für die nächste müllentleerung ausgelesen - allerdings weiß ich nicht, ob der ical-adapter ein jahr im voraus einlesen kann (z.b geburtstag)

                    vielleicht schau ich mir das morgen mal an, aber versprechen kann ich nichts

                    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

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

                      @Chaot

                      ich weiß nicht , welches script du jetzt meinst - das von diesem thread oder ein anderes ?

                      aber egal - mit dem script hier wäre das sicher möglich, die schwierigkeit liegt beim auslesen eines z.b goolgle-kalender termins. dieses script hier braucht ein bestimmtes format im datumsfeld, dann fängt es an zu zählen

                      mit dem ical adapter gibt es vielleicht diese möglichkeit - es gibt das berühmte müll-script - da wird ja auch der termin für die nächste müllentleerung ausgelesen - allerdings weiß ich nicht, ob der ical-adapter ein jahr im voraus einlesen kann (z.b geburtstag)

                      vielleicht schau ich mir das morgen mal an, aber versprechen kann ich nichts

                      ChaotC Offline
                      ChaotC Offline
                      Chaot
                      wrote on last edited by
                      #66

                      @liv-in-sky Der muss ja kein Jahr im Voraus lesen.
                      Im Grunde reicht ja nur der nächste kommende Termin.
                      Mit dem Müllkalender hast du mich da auf eine Idee gebracht. Das werde ich mir mal anschauen ob man daraus was verwenden kann.

                      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                      liv-in-skyL 3 Replies Last reply
                      0
                      • ChaotC Chaot

                        @liv-in-sky Der muss ja kein Jahr im Voraus lesen.
                        Im Grunde reicht ja nur der nächste kommende Termin.
                        Mit dem Müllkalender hast du mich da auf eine Idee gebracht. Das werde ich mir mal anschauen ob man daraus was verwenden kann.

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

                        @Chaot

                        schreib doch bitte zurück, wenn du da weiter bist - würd mich interessieren. ich wollte das schon die ganze zeit machen, weil ich einen wichtigen 6 wöchigen termin habe - bislang habe ich es immer mit hand eingetragen

                        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

                        1 Reply Last reply
                        0
                        • liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          wrote on last edited by liv-in-sky
                          #68

                          @Chaot

                          habe es hinbekommen

                          ich habe eine neue ical instanz angelegt - in dieser den wert definiert, den ich suche z.b. "papier tonne" - wichtig: gleichzeitig habe ich einen filter gesetzt, der nur diesen wert (whitelist) findet. ich habe mal 30 tage als abruf eingestellt - das reicht mir - ical durchsucht die nächsten 30 tage nach einem bestimmten wort und setzt es auf true am tag 30.

                          noch habe ich etwas getrickst, da ich es nicht schaffe die whitelist zu filtern auf einen bestimmten wert - ich kann nur nach einer bestimmten "location" eine whitelist erzeugen - im googlekalender muss also auch die location angegeben werden, welche die selbe ist wie der kalender-eintrags-name ->muss ich noch herausfinden!)
                          gelöst - siehe nächster post

                          danach folgendes sript

                          Image 6.png

                          <xml xmlns="http://www.w3.org/1999/xhtml">
                          <variables>
                          <variable type="" id="AL5#nOqf?4Wh:eZKJq}A">i</variable>
                          </variables>
                          <block type="on" id="=KB95PW.H0QfBPFi4sV" x="-312" y="-137"> <field name="OID">ical.0.events.4.PAPIERTONNE</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="control" id="sx%sHW/kP.aF;tjby/~;"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Countdown.Termin.Datum</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="N;K:A$!9$8_uIv=#kGsc"> <mutation name="etwas tun"> <arg name="i"></arg> </mutation> <value name="ARG0"> <block type="convert_tostring" id="}NBT];(s+uXuO#z=FiD."> <value name="VALUE"> <block type="get_value" id="?}[v,-QV{dczpnW|a=qd"> <field name="ATTR">val</field> <field name="OID">ical.2.data.html</field> </block> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="debug" id="*PNNpC{,BksSkZNIbFBW" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Y[_%*fy%#h+;sK10#9,h"> <field name="TEXT">test</field> </shadow> <block type="procedures_callcustomreturn" id="ln}CUn[3gugT:ll=({bK"> <mutation name="etwas tun"> <arg name="i"></arg> </mutation> <value name="ARG0"> <block type="get_value" id="iqvW;DWJ96@lF}Dl@h`">
                          <field name="ATTR">val</field>
                          <field name="OID">ical.2.data.html</field>
                          </block>
                          </value>
                          </block>
                          </value>
                          </block>
                          </next>
                          </block>
                          <block type="procedures_defcustomreturn" id=".4jhH[;Isgq*k0Elo0tw" x="-88" y="-112">
                          <mutation statements="false">
                          <arg name="i" varid="AL5#nOqf?4Wh:eZKJq}A"></arg>
                          </mutation>
                          <field name="NAME">etwas tun</field>
                          <field name="SCRIPT">DQovL2NvbnNvbGUubG9nKGkpOw0KdmFyIHN0ciA9IGkucmVwbGFjZSgnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogd2hpdGUiPjxzcGFuIGNsYXNzPSJpY2FsTm9ybWFsIGlDYWwtY2FsZW5kYXIxIj4nLCAnJyk7DQpzdHIgPSBzdHIuc3Vic3RyKDAsIDE2KTsNCg0KY29uc29sZS5sb2coc3RyKTsNCg0KDQpyZXR1cm4gc3RyOw==</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          </xml>

                          dieses script nutzt dann das script von diesem thread hier um es zu brerechnen und anzuzeigen

                          Image 7.png

                          weißt du wie man einen filter im ical adapter richtig macht ?
                          https://forum.iobroker.net/topic/22555/ical-adapter-whitelist-filter-ezeugen

                          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

                          1 Reply Last reply
                          0
                          • ChaotC Chaot

                            @liv-in-sky Der muss ja kein Jahr im Voraus lesen.
                            Im Grunde reicht ja nur der nächste kommende Termin.
                            Mit dem Müllkalender hast du mich da auf eine Idee gebracht. Das werde ich mir mal anschauen ob man daraus was verwenden kann.

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

                            @Chaot

                            falls interesse
                            whitelist filter in ical adapter geht so

                            /^(SUMMARY:(?!Papiertonne).*)$/
                            

                            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

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

                              @Chaot

                              falls interesse
                              whitelist filter in ical adapter geht so

                              /^(SUMMARY:(?!Papiertonne).*)$/
                              
                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              wrote on last edited by
                              #70

                              @liv-in-sky sagte in [gelöst] Einfacher Countdown in VIS von festem Datum gesucht:

                              @Chaot

                              falls interesse
                              whitelist filter in ical adapter geht so

                              /^(SUMMARY:(?!Papiertonne).*)$/
                              

                              SORRY WAR ZU VORSCHNELL - geht nicht !!

                              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

                              1 Reply Last reply
                              0
                              • ChaotC Chaot

                                @liv-in-sky Der muss ja kein Jahr im Voraus lesen.
                                Im Grunde reicht ja nur der nächste kommende Termin.
                                Mit dem Müllkalender hast du mich da auf eine Idee gebracht. Das werde ich mir mal anschauen ob man daraus was verwenden kann.

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

                                @Chaot

                                siehe hier:https://forum.iobroker.net/topic/22574/vorlage-zeit-herunterzählen-bis-googletermin-eintritt

                                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

                                1 Reply Last reply
                                0
                                • jackblacksonJ Offline
                                  jackblacksonJ Offline
                                  jackblackson
                                  wrote on last edited by
                                  #72

                                  Falls wer interesse hat, ich habe hierfür einen Adapter programmiert. Ist erst noch in der Testphase, aber ich wäre sehr gespannt über euer Feedback. Link zum Post

                                  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

                                  737

                                  Online

                                  32.7k

                                  Users

                                  82.6k

                                  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