• Overall, this is awesome! The Alarm ETA widget on Bangle.js is a nice way to see how much time I have left to sleep if I wake up early, too.

    However, after some more nights to test, the Bangle.js actigraph data feels like it's less meaningful vs. my phone next to my pillow. So far, Sleep as Android has not detected deep sleep, always triggering the smart wake up alarm at the earliest start time.

    My phone next to my pillow (2024-7-2):
    Sleep as Android graph detail showing sleep motion data with clearly defined peaks and valleys

    Wearing Bangle.js 2 (2024-7-9):
    Sleep as Android graph detail showing fairly flat motion data occasional brief peaks

    I wonder if there's a difference in how Bangle.js 2 reports accelerometer data..?

    At a glance, the accelsender code looks correct, as does the Gadgetbridge handling. If I understand correctly, Bangle.js 2 finds the maximum acceleration over a 1000 ms period (o.put("interval", 1000);), sends that to Gadgetbridge, which then finds the maximum acceleration over a 9999 ms period, sending it to Sleep as Android once it hits batch size.

About