Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Timer, Countdown

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Timer, Countdown

Geplant Angeheftet Gesperrt Verschoben Gelöst JavaScript
javascript
7 Beiträge 3 Kommentatoren 627 Aufrufe 3 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.
  • M Online
    M Online
    michihorn
    schrieb am zuletzt editiert von
    #1

    Hallo
    gibt es hier evtl. schon ein Script das folgendes kann:
    Habe in zwei Datenpunkten Stunde=23 und Minute=15 eine Triggeruhrzeit.
    Ich möchte nun von der Aktuellen Uhrzeit aus, wissen wie lange es noch bis zur Triggerzeit dauert.
    Gruß
    Michael

    crunchipC 1 Antwort Letzte Antwort
    0
    • M michihorn

      @crunchip Dankeschön, ich bin kein Freund von Blocky.
      Mein Script soll ganz simpel die noch verbleibenden Stunden, Minuten, Sekunden von Jetzt ab, bis zu der Zeit in den Datenpunkten "Stunde" und "Minute" berechnen.

      Das war mein Ansatz:

      // Countdown bis zum Rolladen Runterfahren
      
      createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen", def: ''});
      
      var R_stunde=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
      var R_minute=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
      var timer;
      var startStamp = Date.now();
      var newStamp =  R_stunde + ":" + R_minute;
      log (newStamp)
       schedule("*/1 * * * *", function () {
      function updateClock() {
          let newStamp = Date.now();
          let diff = Math.round((newStamp - startStamp)/1000);
          let d = Math.floor(diff/(24*60*60));
          diff = diff-d*24*60*60;
          let h = Math.floor(diff/(60*60));
          diff = diff-h*60*60;
          let m = Math.floor(diff/(60));
          diff = diff-m*60;
          let s = diff;
          let restzeit = (d+" Tage, "+h+" Stunden, "+m+" Minuten, "+s+" Sekunden");
          log(restzeit);
          setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
      };
      ;
      });
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #6

      @michihorn
      Versuche es mal so:

      // Countdown bis zum Rolladen Runterfahren
      
      createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{type: 'string', read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen"'});
       
      var R_stunde = getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
      var R_minute = getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
      var R_time = 60 * R_stunde + R_minute;
      
      schedule("* * * * *", function () {
          let now = new Date();
          now = 60 * now.getHours() + now.getMinutes();
          let diff = (R_time - now);
          if(diff < 0) diff = 0;
          let h = Math.floor(diff / 60);
          let m = diff - h * 60;
          let restzeit = (h + " Stunden, " + m + " Minuten");
          log(restzeit);
          setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
      });
      
      on('javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde', function(dp) {
          R_stunde = dp.state.val;
          R_time = 60 * R_stunde + R_minute;
      });
      
      on('javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute', function(dp) {
          R_minute = dp.state.val;
          R_time = 60 * R_stunde + R_minute;
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      1
      • M michihorn

        Hallo
        gibt es hier evtl. schon ein Script das folgendes kann:
        Habe in zwei Datenpunkten Stunde=23 und Minute=15 eine Triggeruhrzeit.
        Ich möchte nun von der Aktuellen Uhrzeit aus, wissen wie lange es noch bis zur Triggerzeit dauert.
        Gruß
        Michael

        crunchipC Abwesend
        crunchipC Abwesend
        crunchip
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #2

        @michihorn sowas in der Art?
        https://forum.iobroker.net/topic/22532/vorlage-blockly-script-für-stoppuhr-laufzeiten-aufzeichen

        umgestiegen von Proxmox auf Unraid

        M 1 Antwort Letzte Antwort
        0
        • crunchipC crunchip

          @michihorn sowas in der Art?
          https://forum.iobroker.net/topic/22532/vorlage-blockly-script-für-stoppuhr-laufzeiten-aufzeichen

          M Online
          M Online
          michihorn
          schrieb am zuletzt editiert von
          #3

          @crunchip Dankeschön, ich bin kein Freund von Blocky.
          Mein Script soll ganz simpel die noch verbleibenden Stunden, Minuten, Sekunden von Jetzt ab, bis zu der Zeit in den Datenpunkten "Stunde" und "Minute" berechnen.

          Das war mein Ansatz:

          // Countdown bis zum Rolladen Runterfahren
          
          createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen", def: ''});
          
          var R_stunde=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
          var R_minute=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
          var timer;
          var startStamp = Date.now();
          var newStamp =  R_stunde + ":" + R_minute;
          log (newStamp)
           schedule("*/1 * * * *", function () {
          function updateClock() {
              let newStamp = Date.now();
              let diff = Math.round((newStamp - startStamp)/1000);
              let d = Math.floor(diff/(24*60*60));
              diff = diff-d*24*60*60;
              let h = Math.floor(diff/(60*60));
              diff = diff-h*60*60;
              let m = Math.floor(diff/(60));
              diff = diff-m*60;
              let s = diff;
              let restzeit = (d+" Tage, "+h+" Stunden, "+m+" Minuten, "+s+" Sekunden");
              log(restzeit);
              setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
          };
          ;
          });
          
          paul53P 2 Antworten Letzte Antwort
          0
          • M michihorn

            @crunchip Dankeschön, ich bin kein Freund von Blocky.
            Mein Script soll ganz simpel die noch verbleibenden Stunden, Minuten, Sekunden von Jetzt ab, bis zu der Zeit in den Datenpunkten "Stunde" und "Minute" berechnen.

            Das war mein Ansatz:

            // Countdown bis zum Rolladen Runterfahren
            
            createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen", def: ''});
            
            var R_stunde=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
            var R_minute=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
            var timer;
            var startStamp = Date.now();
            var newStamp =  R_stunde + ":" + R_minute;
            log (newStamp)
             schedule("*/1 * * * *", function () {
            function updateClock() {
                let newStamp = Date.now();
                let diff = Math.round((newStamp - startStamp)/1000);
                let d = Math.floor(diff/(24*60*60));
                diff = diff-d*24*60*60;
                let h = Math.floor(diff/(60*60));
                diff = diff-h*60*60;
                let m = Math.floor(diff/(60));
                diff = diff-m*60;
                let s = diff;
                let restzeit = (d+" Tage, "+h+" Stunden, "+m+" Minuten, "+s+" Sekunden");
                log(restzeit);
                setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
            };
            ;
            });
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #4

            @michihorn sagte:

            Das war mein Ansatz:

            Es wird die Zeitdifferenz zwischen Skriptstart und aktueller Zeit berechnet.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            M 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @michihorn sagte:

              Das war mein Ansatz:

              Es wird die Zeitdifferenz zwischen Skriptstart und aktueller Zeit berechnet.

              M Online
              M Online
              michihorn
              schrieb am zuletzt editiert von
              #5

              @paul53
              Hab es nochmal überarbeitet:
              Es trotzdem nichts im Datenpunkt "Restlaufzeit" angezeigt.

              // Countdown bis zum Rolladen Runterfahren
              
              createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen", def: ''});
              
              var R_stunde=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
              var R_minute=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
              
               schedule("*/1 * * * *", function () {
              function updateClock() {
                  let Endzeit =  R_stunde + ":" + R_minute;
                  let startZeit = Date.now();
                  let diff = Math.round((Endzeit - startZeit)/1000);
                  let d = Math.floor(diff/(24*60*60));
                  diff = diff-d*24*60*60;
                  let h = Math.floor(diff/(60*60));
                  diff = diff-h*60*60;
                  let m = Math.floor(diff/(60));
                  diff = diff-m*60;
                  let s = diff;
                  let restzeit = (d+" Tage, "+h+" Stunden, "+m+" Minuten, "+s+" Sekunden");
                  log(restzeit);
                  setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
              }
              });
              
              1 Antwort Letzte Antwort
              0
              • M michihorn

                @crunchip Dankeschön, ich bin kein Freund von Blocky.
                Mein Script soll ganz simpel die noch verbleibenden Stunden, Minuten, Sekunden von Jetzt ab, bis zu der Zeit in den Datenpunkten "Stunde" und "Minute" berechnen.

                Das war mein Ansatz:

                // Countdown bis zum Rolladen Runterfahren
                
                createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen", def: ''});
                
                var R_stunde=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
                var R_minute=getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
                var timer;
                var startStamp = Date.now();
                var newStamp =  R_stunde + ":" + R_minute;
                log (newStamp)
                 schedule("*/1 * * * *", function () {
                function updateClock() {
                    let newStamp = Date.now();
                    let diff = Math.round((newStamp - startStamp)/1000);
                    let d = Math.floor(diff/(24*60*60));
                    diff = diff-d*24*60*60;
                    let h = Math.floor(diff/(60*60));
                    diff = diff-h*60*60;
                    let m = Math.floor(diff/(60));
                    diff = diff-m*60;
                    let s = diff;
                    let restzeit = (d+" Tage, "+h+" Stunden, "+m+" Minuten, "+s+" Sekunden");
                    log(restzeit);
                    setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
                };
                ;
                });
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #6

                @michihorn
                Versuche es mal so:

                // Countdown bis zum Rolladen Runterfahren
                
                createState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit",{type: 'string', read: true,write: true,desc: "Countdown bis zum Schließen der Rolladen"'});
                 
                var R_stunde = getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde").val;
                var R_minute = getState("javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute").val;
                var R_time = 60 * R_stunde + R_minute;
                
                schedule("* * * * *", function () {
                    let now = new Date();
                    now = 60 * now.getHours() + now.getMinutes();
                    let diff = (R_time - now);
                    if(diff < 0) diff = 0;
                    let h = Math.floor(diff / 60);
                    let m = diff - h * 60;
                    let restzeit = (h + " Stunden, " + m + " Minuten");
                    log(restzeit);
                    setState("javascript.0.Rolladen.Zeitsteuerung.EINS.Restzeit", restzeit, true);
                });
                
                on('javascript.0.Rolladen.Zeitsteuerung.EINS.R_stunde', function(dp) {
                    R_stunde = dp.state.val;
                    R_time = 60 * R_stunde + R_minute;
                });
                
                on('javascript.0.Rolladen.Zeitsteuerung.EINS.R_minute', function(dp) {
                    R_minute = dp.state.val;
                    R_time = 60 * R_stunde + R_minute;
                });
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                1
                • M Online
                  M Online
                  michihorn
                  schrieb am zuletzt editiert von
                  #7

                  Danke Paul super!!!!!

                  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

                  743

                  Online

                  32.5k

                  Benutzer

                  81.7k

                  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