NEWS
Timer, Countdown
-
-
@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); }; ; });@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; }); -
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 -
@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); }; ; }); -
@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); }; ; });@michihorn sagte:
Das war mein Ansatz:
Es wird die Zeitdifferenz zwischen Skriptstart und aktueller Zeit berechnet.
-
@michihorn sagte:
Das war mein Ansatz:
Es wird die Zeitdifferenz zwischen Skriptstart und aktueller Zeit berechnet.
@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); } }); -
@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); }; ; });@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; });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden