diff --git a/apps/chimer/metadata.json b/apps/chimer/metadata.json index 6fdb64b73..d4a3e0169 100644 --- a/apps/chimer/metadata.json +++ b/apps/chimer/metadata.json @@ -2,7 +2,7 @@ "id": "chimer", "name": "Chimer", "version": "0.01", - "description": "A fork of Hour Chime. Buzz or beep on every 60, 30 or 15 minutes. 9", + "description": "A fork of Hour Chime. Buzz or beep on every 60, 30 or 15 minutes. 11", "icon": "widget.png", "type": "widget", "tags": "widget", diff --git a/apps/chimer/settings.js b/apps/chimer/settings.js index 76685ac6b..ea0be10af 100644 --- a/apps/chimer/settings.js +++ b/apps/chimer/settings.js @@ -42,6 +42,24 @@ var showMainMenu = () => { settings.repeat = v; writeSettings(settings); } + }, + "Start Hour": { + value: settings.repeat, + min: 1, max: 24, + format: v => v, + onchange: v => { + settings.start = v; + writeSettings(settings); + } + }, + "End Hour": { + value: settings.repeat, + min: 1, max: 24, + format: v => v, + onchange: v => { + settings.end = v; + writeSettings(settings); + } } }); }; @@ -52,6 +70,8 @@ var showMainMenu = () => { type: 1, freq: 0, repeat: 1, + start: 6, + end: 22, }; return settings; }; diff --git a/apps/chimer/widget.js b/apps/chimer/widget.js index 3e9c7aa04..9cd03a483 100644 --- a/apps/chimer/widget.js +++ b/apps/chimer/widget.js @@ -7,6 +7,8 @@ type: 1, freq: 2, repeat: 1, + start: 6, + end: 22, }; return settings; }; @@ -39,6 +41,11 @@ function sleep(milliseconds) { const now = new Date(), h = now.getHours(), m = now.getMinutes(), s = now.getSeconds(), ms = now.getMilliseconds(); + if (h > settings.end || h < settings.start){ + var mLeft = 60-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; + setTimeout(check, msLeft); + return; + } if (settings.freq === 1){ if (m===0 || m===30) chime(); lastHour = h;