|
||
---|---|---|
.. | ||
ChangeLog | ||
README.md | ||
app-icon.js | ||
app.js | ||
app.png | ||
boot.js | ||
conf_20x20.png | ||
debug_20x20.png | ||
file_20x20.png | ||
lib.js | ||
metadata.json | ||
off_20x20.png | ||
screenshot1.png | ||
screenshot2.png | ||
screenshot3.png | ||
settings.js |
README.md
Sleep Log
This app logs and displays the following states:
- sleepling status: unknown, not worn, awake, light sleep, deep sleep
- consecutive sleep status: unknown, not consecutive, consecutive
It is using the built in movement calculation to decide your sleeping state. While charging it is assumed that you are not wearing the watch and if the status changes to deep sleep the internal heartrate sensor is used to detect if you are wearing the watch.
-+- -+-
-+- BETA Version -+-
-+- -+-
Introduction
I am proud to present the new sleeplog app: version 0.10 🎉 ✨ 🎊
Sorry that it took so long but hopefully most of the early bugs are sorted out and the app should be ready to be use and get tested!
I would love to hear about your impressions and like to know your choice of thresholds, to set the default values as optimized as possible.
The last piece of work is to rewrite the README.md to show how to use it and show the restrictions and possibilities. But here are some explanations how to use the app and settings:
-
On the app screen:
- swipe left & right to change the displayed day
- touch on the "title" (e.g.
Night to Fri 20/05/2022
) to enter a day selection prompt - touch on the info area (by default displaying consecutive and true sleeping) to change the displayed information
- touch on the wrench (upper right corner) to enter the settings
- exit the app with the UI back button widget on the upper left corner
-
Inside the settings:
- the threshold values are accessible through a submenu
- app timeout lets you specify a separate
lockTimeout
andbacklightTimeout
only for the sleeplog app - debug settings are available in a submenu down at the end:
- display log is not implemented yet
- options
Enable
andwrite File
should be self explaining - the
Duration
specifies how long data should be written into the .csv file - the .csv file loggs the following data (timestamps are in days since 30.12.1899 as used by office software):
timestamp, movement, status, consecutive, asleepSince, awakeSince, bpm, bpmConfidence
-
Timestamps and files:
- externally visible/usable timestamps (in
global.sleeplog
) are formatted as UNIX timestamps:
seconds since 1970-01-01 00:00 UTC - internally used and logged (to
sleeplog.log (StorageFile)
) is within the highest available resolution:
10 minutes since 1970-01-01 00:00 UTC (UNIX / (10 * 60 * 1000)
) - debug .csv file ID (
sleeplog_123456.csv
) has a hourly resolution: hours since 1970-01-01 00:00 UTC (UNIX / (60 * 60 * 1000)
) - logged timestamps inside the debug .csv file are formatted for office calculation software:
days since 1899-12-30 00:00 UTC (
UNIX / (24 * 60 * 60 * 1000) + 25569
) - every 14 days the
sleeplog.log (StorageFile)
is reduced and old entries are moved into separat files for each fortnight (sleeplog_1234.log
) but still accessible though the app:
fortnights since 1970-01-04 12:00 UTC (converted withrequire("sleeplog").msToFn(UNIX)
andrequire("sleeplog").fnToMs(fortnight)
)
- externally visible/usable timestamps (in
-
Logfiles from before 0.10:
timestamps and sleeping status of old logfiles are automatically converted on your first consecutive sleep or manually byrequire("sleeplog").convertOldLog()
-
View logged data: if you'd like to view your logged data in the IDE, you can access it with
require("sleeplog").printLog(since, until)
orrequire("sleeplog").readLog(since, until)
to view the raw data
since & until in UNIX timestamp, e.g.require("sleeplog").printLog(Date()-24*60*60*1000, Date())
for the last 24h
Temporarily removed logfiles from metadata.json to prevent removal on un-/reinstall:
"data": [
{"name": "sleeplog.log", "storageFile": true},
{"wildcard": "sleeplog_????.log"},
{"wildcard": "sleeplog_??????.csv"}
],
Worth Mentioning
To do list
- Edit/complete README.md.
- Update screenshots.
- Add display debugging log functionality.
- Add custom interface.html to view, down- and upload logged data via App Loader.
- Send the logged information to Gadgetbridge. (For now I have no idea how to achieve this, help is appreciated.)
Requests, Bugs and Feedback
Please leave requests and bug reports by raising an issue at github.com/storm64/BangleApps (or send me a mail).
Creator
Contributors
myxor (github)
Attributions
The app icon is downloaded from https://icons8.com.