[sleeplogalarm] First files
parent
674ef0aa13
commit
f627b860da
|
|
@ -0,0 +1 @@
|
||||||
|
0.01: New App!
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Sleep Log Alarm
|
||||||
|
|
||||||
|
This widget searches for active alarms and raises the alarm event up to the defined time earlier, if in a light sleep phase.
|
||||||
|
|
||||||
|
---
|
||||||
|
### App Usage
|
||||||
|
---
|
||||||
|
|
||||||
|
#### Inside the settings: !!! dummy entries !!!
|
||||||
|
- __Thresholds__ submenu
|
||||||
|
Changes take effect from now on, not retrospective!
|
||||||
|
- __Max Awake__ | maximal awake duration
|
||||||
|
_10min_ / _20min_ / ... / __60min__ / ... / _120min_
|
||||||
|
- __Min Consecutive__ | minimal consecutive sleep duration
|
||||||
|
_10min_ / _20min_ / ... / __30min__ / ... / _120min_
|
||||||
|
- __Deep Sleep__ | deep sleep threshold
|
||||||
|
_30_ / _31_ / ... / __100__ / ... / _200_
|
||||||
|
- __Light Sleep__ | light sleep threshold
|
||||||
|
_100_ / _110_ / ... / __200__ / ... / _400_
|
||||||
|
- __Reset to Default__ | reset to bold values above
|
||||||
|
- __BreakToD__ | time of day to break view
|
||||||
|
_0:00_ / _1:00_ / ... / __12:00__ / ... / _23:00_
|
||||||
|
- __App Timeout__ | app specific lock timeout
|
||||||
|
__0s__ / _10s_ / ... / _120s_
|
||||||
|
- __Enabled__ | completely en-/disables the background service
|
||||||
|
__on__ / _off_
|
||||||
|
|
||||||
|
---
|
||||||
|
### Worth Mentioning
|
||||||
|
---
|
||||||
|
|
||||||
|
#### To do list
|
||||||
|
- widget.js
|
||||||
|
- settings.js
|
||||||
|
- README.md
|
||||||
|
|
||||||
|
#### Requests, Bugs and Feedback
|
||||||
|
Please leave requests and bug reports by raising an issue at [github.com/storm64/BangleApps](https://github.com/storm64/BangleApps) (or send me a [mail](mailto:banglejs@storm64.de)).
|
||||||
|
|
||||||
|
#### Creator
|
||||||
|
Storm64 ([Mail](mailto:banglejs@storm64.de), [github](https://github.com/storm64))
|
||||||
|
|
||||||
|
#### Attributions
|
||||||
|
The app icon is downloaded from [https://icons8.com](https://icons8.com).
|
||||||
|
|
||||||
|
#### License
|
||||||
|
[MIT License](LICENSE)
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 698 B |
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"id":"sleeplogalarm",
|
||||||
|
"name":"Sleep Log Alarm",
|
||||||
|
"shortName": "SleepLogAlarm",
|
||||||
|
"version": "0.01",
|
||||||
|
"description": "Enhance your morning and let your alarms wake you up when you are in light sleep.",
|
||||||
|
"icon": "app.png",
|
||||||
|
"type": "widget",
|
||||||
|
"tags": "tool,widget",
|
||||||
|
"supports": ["BANGLEJS2"],
|
||||||
|
"readme": "README.md",
|
||||||
|
"storage": [
|
||||||
|
{"name": "sleeplogalarm.wid.js", "url": "widget.js"},
|
||||||
|
{"name": "sleeplogalarm.settings.js", "url": "settings.js"}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
(function(back) {
|
||||||
|
// define settings filename
|
||||||
|
var filename = "sleeplogalarm.json";
|
||||||
|
|
||||||
|
// define default vaules
|
||||||
|
var defaults = {
|
||||||
|
};
|
||||||
|
|
||||||
|
// assign loaded settings to default values
|
||||||
|
var settings = Object.assign(defaults, require("Storage").readJSON(filename, true) || {});
|
||||||
|
|
||||||
|
// write change to storage
|
||||||
|
function writeSetting() {
|
||||||
|
require("Storage").writeJSON(filename, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// show main menu
|
||||||
|
function showMain(selected) {
|
||||||
|
// set menu
|
||||||
|
var mainMenu = {
|
||||||
|
"": {
|
||||||
|
title: "Sleep Log Alarm",
|
||||||
|
selected: selected
|
||||||
|
},
|
||||||
|
/*LANG*/"< Back": () => back(),
|
||||||
|
/*LANG*/"up to": {
|
||||||
|
value: settings.earlier,
|
||||||
|
step: 10,
|
||||||
|
min: 10,
|
||||||
|
max: 120,
|
||||||
|
wrap: true,
|
||||||
|
noList: true,
|
||||||
|
format: v => v + "min earlier",
|
||||||
|
onchange: v => {
|
||||||
|
settings.earlier = v;
|
||||||
|
writeSetting();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*LANG*/"Enabled": {
|
||||||
|
value: settings.enabled,
|
||||||
|
onchange: v => {
|
||||||
|
settings.enabled = v;
|
||||||
|
writeSetting();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var menu = E.showMenu(mainMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
// draw main menu
|
||||||
|
showMain();
|
||||||
|
})
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
// sleeplog.status values:
|
||||||
|
// undefined = service stopped, 0 = unknown, 1 = not worn, 2 = awake, 3 = light sleep, 4 = deep sleep
|
||||||
|
// sleeplog.consecutive values:
|
||||||
|
// undefined = service stopped, 0 = unknown, 1 = no consecutive sleep, 2 = consecutive sleep
|
||||||
Loading…
Reference in New Issue