Merge pull request #2102 from aaronrolls/master

Updated to version 0.02
master
Gordon Williams 2022-09-05 10:44:42 +01:00 committed by GitHub
commit 7ba3ae3f08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 8 deletions

2
apps/chimer/ChangeLog Normal file
View File

@ -0,0 +1,2 @@
0.01: Initial Creation
0.02: Fixed some sleep bugs. Added a sleep mode toggle

View File

@ -1,12 +1,13 @@
{ {
"id": "chimer", "id": "chimer",
"name": "Chimer", "name": "Chimer",
"version": "0.01", "version": "0.02",
"description": "A fork of Hour Chime that adds extra features such as: \n - Buzz or beep on every 60, 30 or 15 minutes. \n - Reapeat Chime up to 3 times \n - Set hours to disable chime", "description": "A fork of Hour Chime that adds extra features such as: \n - Buzz or beep on every 60, 30 or 15 minutes. \n - Reapeat Chime up to 3 times \n - Set hours to disable chime",
"icon": "widget.png", "icon": "widget.png",
"type": "widget", "type": "widget",
"tags": "widget", "tags": "widget",
"supports": ["BANGLEJS", "BANGLEJS2"], "supports": ["BANGLEJS", "BANGLEJS2"],
"readme": "README.MD",
"storage": [ "storage": [
{ "name": "chimer.wid.js", "url": "widget.js" }, { "name": "chimer.wid.js", "url": "widget.js" },
{ "name": "chimer.settings.js", "url": "settings.js" } { "name": "chimer.settings.js", "url": "settings.js" }

View File

@ -36,14 +36,21 @@
Repetition: { Repetition: {
value: settings.repeat, value: settings.repeat,
min: 1, min: 1,
max: 3, max: 5,
format: (v) => v, format: (v) => v,
onchange: (v) => { onchange: (v) => {
settings.repeat = v; settings.repeat = v;
writeSettings(settings); writeSettings(settings);
}, },
}, },
"Start Hour": { "Sleep Mode": {
value: !!settings.sleep,
onchange: (v) => {
settings.sleep = v;
writeSettings(settings);
},
},
"Sleep Start": {
value: settings.start, value: settings.start,
min: 0, min: 0,
max: 23, max: 23,
@ -53,7 +60,7 @@
writeSettings(settings); writeSettings(settings);
}, },
}, },
"End Hour": { "Sleep End": {
value: settings.end, value: settings.end,
min: 0, min: 0,
max: 23, max: 23,
@ -71,6 +78,7 @@
type: 1, type: 1,
freq: 0, freq: 0,
repeat: 1, repeat: 1,
sleep: true,
start: 6, start: 6,
end: 22, end: 22,
}; };

View File

@ -7,6 +7,7 @@
type: 1, type: 1,
freq: 0, freq: 0,
repeat: 1, repeat: 1,
sleep: true,
start: 6, start: 6,
end: 22, end: 22,
}; };
@ -32,7 +33,7 @@
} else { } else {
return; return;
} }
sleep(100); sleep(150);
} }
} }
@ -44,7 +45,11 @@
m = now.getMinutes(), m = now.getMinutes(),
s = now.getSeconds(), s = now.getSeconds(),
ms = now.getMilliseconds(); ms = now.getMilliseconds();
if (h > settings.end || h < settings.start) { if (
(settings.sleep && h > settings.end) ||
(settings.sleep && h >= settings.end && m !== 0) ||
(settings.sleep && h < settings.start)
) {
var mLeft = 60 - m, var mLeft = 60 - m,
sLeft = mLeft * 60 - s, sLeft = mLeft * 60 - s,
msLeft = sLeft * 1000 - ms; msLeft = sLeft * 1000 - ms;
@ -52,7 +57,8 @@
return; return;
} }
if (settings.freq === 1) { if (settings.freq === 1) {
if ((m !== lastMinute && m === 0) || m === 30) chime(); if ((m !== lastMinute && m === 0) || (m !== lastMinute && m === 30))
chime();
lastHour = h; lastHour = h;
lastMinute = m; lastMinute = m;
// check again in 30 minutes // check again in 30 minutes
@ -70,7 +76,12 @@
} }
setTimeout(check, msLeft); setTimeout(check, msLeft);
} else if (settings.freq === 2) { } else if (settings.freq === 2) {
if ((m !== lastMinute && m === 0) || m === 15 || m === 30 || m === 45) if (
(m !== lastMinute && m === 0) ||
(m !== lastMinute && m === 15) ||
(m !== lastMinute && m === 30) ||
(m !== lastMinute && m === 45)
)
chime(); chime();
lastHour = h; lastHour = h;
lastMinute = m; lastMinute = m;