Hi,
in der ersten Version löste die count- Funktion alle 60 (60000 ms)Sekunden aus und 60 Sekunden sind gleich 1 Minute, wenn sie 30 mal ausgelöst hat haben wir 30 Minuten.
in der zweiten Version löst die count -Funktion jede Sekunde aus das bedeutet, wenn sie 60 mal ausgelöst hat ist eine Minute abgelaufen.
Wenn du 10 Minuten willst löst du sie wieder 60000 ms aus und stellst auf 10.
hier noch mal das angepasste Script auf 10 Mintuen, wenn deine Steckdose ausgeschaltet wird stoppt der countdown
falls der countdown runtergezählt ist bevor die steckdose aus ist stoppt er auch.
Code
createState("countdown",10);
createState("countDownEnable",false);
on({id: 'sonoff.0.shelly_4.POWER', val: true},(obj)=>{
setState("countDownEnable",true);
});
on({id: 'sonoff.0.shelly_4.POWER', val: false},(obj)=>{
setState("countDownEnable",false);
});
on({id: 'javascript.1.countDownEnable',val : true},(obj)=>{
count();
});
on({id: 'javascript.1.countDownEnable',val : false},(obj)=>{
setState('countdown', 10);
});
function count(){
setTimeout(()=>{
let currentTimer = getState('countdown').val || 10;
if(currentTimer > 1 && getState("countDownEnable").val)
{
setState('countdown',currentTimer-1);
count();
}
else{
setState('javascript.1.countDownEnable',false);
}
},60000);
};
Alles anzeigen