[sleeplogalarm] First files

master
storm64 2022-09-12 23:09:33 +02:00
parent 674ef0aa13
commit f627b860da
6 changed files with 120 additions and 0 deletions

View File

@ -0,0 +1 @@
0.01: New App!

View File

@ -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)

BIN
apps/sleeplogalarm/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 B

View File

@ -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"}
]
}

View File

@ -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();
})

View File

@ -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