espruino / BangleApps

Bangle.js App Loader (and Apps)
https://banglejs.com/apps
MIT License
492 stars 1.15k forks source link

[Feature request] Improve interfacing of alarms between Gadgetbridge and Bangle.js #2795

Open thyttan opened 1 year ago

thyttan commented 1 year ago

Sync alarms from the scheduler library on the bangle so they show up in the device alarms for the bangle device in Gadgetbridge. And vice versa?

How should creating and deleting alarms via Gadgetbridge and on the bangle impact each other? When connected and when disconnected?

BUG: Currently adding an alarm via gadgetbridge and selecting all 7 days of the week sets an alarm on the bangle, but only to be run once - not all days. fixed with https://github.com/espruino/BangleApps/pull/3178

This issue is duplicated on BangleApps repo on github and on Gadgetbridge repo on codeberg.

Also reference https://github.com/espruino/BangleApps/pull/2782 introducing setting alarms and timers via the Bangle.js App Loader. Given that pull request I don't think this issue is time sensitive, punintended.

I think this would be a a nice quality of life improvement though. After I have gotten some feedback on this I'll probably try to tweak this.

thyttan commented 1 year ago

How should creating and deleting alarms via Gadgetbridge and on the bangle impact each other? When connected and when disconnected?

An example from Huami devices:

  1. GB requests the current alarms state from the watch on connection
  2. Changes done in GB while the device is disconnected are lost when connecting to the watch because of (1)
  3. When an alarm is changed on the watch, a notification is sent to GB if connected to the watch, so the UI in GB gets updated

Would the bangle support 1 (requesting alarms from watch) and/or 3 (notify GB that changes to the alarms were performed on the watch?

Originally posted by @joserebelo in https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3152#issuecomment-928510

gfwilliams commented 1 year ago

That sounds reasonably doable - it seems like we do something a bit similar for the calendar at the moment, so could use that way of doing things - I think we make the Bangle responsible for sending current timers on connect