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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [gelöst] Einfacher Countdown in VIS von festem Datum gesucht

NEWS

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

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

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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
72 Beiträge 6 Kommentatoren 9.2k Aufrufe 9 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.
  • C Camuri

    habs jetzt auf einem anderen iobroker System probiert das Skript da zeigt es auch 12 Tage an

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #53

    @Camuri

    ich habe im moment keine idee ?

    • hast du in den einstellungen vom admin das datum DD.MM.YYYY?
    • lebst du auf dem mars oder einen anderen planeten ?
    • bei dir müßte ja der 29 juli oder so sein ?
    • was kommt den am: 8 Oct 2019 raus ?

    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

    C 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @Camuri

      ich habe im moment keine idee ?

      • hast du in den einstellungen vom admin das datum DD.MM.YYYY?
      • lebst du auf dem mars oder einen anderen planeten ?
      • bei dir müßte ja der 29 juli oder so sein ?
      • was kommt den am: 8 Oct 2019 raus ?
      C Offline
      C Offline
      Camuri
      schrieb am zuletzt editiert von
      #54

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

      @Camuri

      ich habe im moment keine idee ?

      • hast du in den einstellungen vom admin das datum DD.MM.YYYY?
      • lebst du auf dem mars oder einen anderen planeten ?
      • bei dir müßte ja der 29 juli oder so sein ?
      • was kommt den am: 8 Oct 2019 raus ?
      1. Admin hat bei beiden Iorbokern DD.MM.YYYY
      2. ich lebe auf der Erde :D
      3. das ist gut möglich
      4. 17 Tag(e) 4 Stunde(n) 33 Minute(n)

      wenn ich den 15.03.2020 eingebe kommt bei beiden Iobroker 31 Tag(e) 9 Stunde(n) 32 Minute(n)

      hast du vll beim Sterne rausmachen irgendwas verändert?

      1 Antwort Letzte Antwort
      0
      • liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #55

        @Camuri ja du hast recht - kopiere ich den spoiler in ein script bei mir - kommt das auch raus 12 tage

        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 Antwort Letzte Antwort
        0
        • liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #56

          @Camuri gehts damit

          script-im-txt.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

          C 1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @Camuri gehts damit

            script-im-txt.txt

            C Offline
            C Offline
            Camuri
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              1
              • liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • ChaotC Offline
                          ChaotC Offline
                          Chaot
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • jackblacksonJ Offline
                                          jackblacksonJ Offline
                                          jackblackson
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          448

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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