1
0
Fork 0

fix bug for quiet time

master
Weiming 2021-03-30 10:05:53 -04:00
parent 1701e79f0c
commit d923201c79
2 changed files with 20 additions and 24 deletions

View File

@ -1,8 +1,19 @@
(function() { (function() {
var setting = require('Storage').readJSON('hourstrike.json',1)||[]; var setting = require('Storage').readJSON('hourstrike.json',1)||[];
var cur = new Date(); var t = new Date();
var cur_sec = cur.getMinutes()*60+cur.getSeconds(); var t_min_sec = t.getMinutes()*60+t.getSeconds();
var notify_sec = setting.interval>0?setting.interval-cur_sec%setting.interval:-1; var wait_msec = setting.interval>0?(setting.interval-t_min_sec%setting.interval)*1000:-1;
if (notify_sec>0) setTimeout(function() {load("hourstrike.js");}, notify_sec*1000); if (wait_msec>0) {
t.setMilliseconds(t.getMilliseconds()+wait_msec);
var t_hour = t.getHours();
if (t_hour<setting.start||t_hour>setting.end) {
var strike = new Date(t);
strike.setHours(setting.start);
if (t_hour>setting.end) {
strike.setDate(strike.getDate()+1);
}
wait_msec += strike-t;
}
setTimeout(function() {load("hourstrike.js");}, wait_msec);
}
})(); })();

View File

@ -1,27 +1,12 @@
clearInterval(); clearInterval();
var setting = require('Storage').readJSON('hourstrike.json',1)||[]; var setting = require('Storage').readJSON('hourstrike.json',1)||[];
var cur = new Date();
var cur_hour = cur.getHours();
var cur_min = cur.getMinutes();
var cur_sec = cur.getSeconds();
var wait_sec;
if (cur_hour<setting.start) {
wait_sec = ((setting.start-1-cur_hour)*60+59-cur_min)*60+60-cur_sec;
} else if (cur_hour>setting.end) {
wait_sec = ((23-cur_hour+setting.start)*60+59-cur_min)*60+60-cur_sec;
} else {
wait_sec = 0;
}
function notify_func () { function notify_func () {
Bangle.buzz(200, setting.vlevel) Bangle.buzz(200, setting.vlevel||0.5)
.then(() => new Promise(resolve => setTimeout(resolve,200))) .then(() => new Promise(resolve => setTimeout(resolve,200)))
.then(() => Bangle.buzz(200, setting.vlevel)); .then(() => Bangle.buzz(200, setting.vlevel||0.5));
} }
setTimeout(notify_func, wait_sec*1000); notify_func;
setTimeout(load, wait_sec*1000+800); setTimeout(load, 800);