InfiniTime icon indicating copy to clipboard operation
InfiniTime copied to clipboard

Add "Find my phone" app.

Open vchigrin opened this issue 1 year ago • 23 comments

This change set adds implementation of client for BLE "Immediate alert service", allowing companion apps get notifications from PineTime watch when requested by user.

Fixes: #343

vchigrin avatar Apr 25 '24 21:04 vchigrin

This pull request is result of joint work of @jmlich and @vchigrin, most of the code is written by Jozef (personal contributions can be found by commit history).

vchigrin avatar Apr 25 '24 21:04 vchigrin

That is how that app looks like photo_2024-04-25_23-57-58 After user presses "Mild" or "High" button phone starts ringing and vibrating. User can stop this either by pressing "None" button on the PineTime, or by pressing button in GadgetBridge companion app on the phone.

To make this work some changes in GadgetBridge application were required, I suppose to upstream this after ensuring that this functionality will be accepted in InfiniTime.

vchigrin avatar Apr 25 '24 21:04 vchigrin

Build checks have not completed. Possible reasons for this are:

  1. The checks need to be approved by a maintainer
  2. The branch has conflicts
  3. The firmware build has failed

github-actions[bot] avatar Apr 25 '24 21:04 github-actions[bot]

Corresponding PR to GadgetBridge https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3746

vchigrin avatar May 01 '24 15:05 vchigrin

And reverse? Find my watch? Make PineTime blink display and vibrate? Don't know what this would take. Just a logical follow up 😁

NitroNils avatar May 02 '24 20:05 NitroNils

Find my watch already works. It is Alert Notification Service. In Amazfish -> Settings -> Debug page -> Phone Call. Also Immediate Alert Service is implemented and shows None/Mild/High levels, but this is not right to find watch.

jmlich avatar May 04 '24 06:05 jmlich

Sorry if its offtopic, but is it also possible to have something like a signal strength indicator so you can see how close the device is and triangulate it? Doing a ring with an app could be broken by do not disturb.

crazycrystals avatar May 06 '24 02:05 crazycrystals

The signal strength or more precisely RSSI (Received Signal Strength Indication) is specified/measured in BLE and Nimble can provide the value. I am not sure if it is reasonable reachable in the code.

jmlich avatar May 06 '24 06:05 jmlich

Dear maintainers, I kindly ask to look at this PR in the next few months. There is a risk for me to lose access to GitHub in September due to US sanctions package published in June. I am not 100% sure in this scenario - official statements a bit vague and I don't know how GitHub lawyers will interpret them. But, as they say, "hope for the best but prepare for the worst".

vchigrin avatar Jul 05 '24 12:07 vchigrin

Previous attempt: https://github.com/InfiniTimeOrg/InfiniTime/pull/1193

devnoname120 avatar Aug 10 '24 23:08 devnoname120

FYI here are some notes about the limitations of the Immediate alert service standard: https://github.com/InfiniTimeOrg/InfiniTime/pull/1193#issuecomment-1656976536

devnoname120 avatar Aug 10 '24 23:08 devnoname120