cmtjk / LinkUpConnect

15 stars 1 forks source link

LinkUpConnect

Download ⬇️

Displays your current blood glucose level fetched from LibreView as notification in status bar, lock screen, smartwatch (partially), and forward values to xDrip+ which enables calibration.

Info: LinkUpConnect is not suitable to transfer historical data, e.g. when no internet connection was available or LinkUpConnect was not running, to xDrip+ afterwards. While historical data is available, xDrip+'s LibreReceiver is not designed for this purpose and will distort the result when a lot of values are processed within a short period of time due to value smoothing (as far as I understand).

Could you implement a xDrip+ source for this purpose? Sure I could create a PR but people looking for this feature better wait for xDrip+'s upcoming Web Follower (you can already use it in nightly).

Attributions

Requirements

Note: It seems you have to install and log into the LibreLinkUp app once and accept the invitation but you can uninstall it afterwards. Otherwise no data is sent.

How it works

The application directly queries the LibreView API every 60 seconds (default) to get current blood glucose levels. Hence it requires an internet connection to work.

If enabled a notification will show your current blood glucose level, the trend arrow, the time passed since the last measurement and its timestamp.

If the time passed is more than 5 minutes it'll show an exclamation mark.

The notification is send to your smartwatch, too, but doesn't update. I think I can't change it because of device specific notification handling. WearOS watches might work but I don't have one.

xDrip+

You can also enable forwarding values to xDrip+.

Choose 'Libre2 (patched App)' as sensor because this app uses the same mechanism.

If you use xDrip+ for notifications, you can disable LinkUpConnect's notification.

Why it sometimes doesn't work

This is an very opinionated implementation with basic Android knowledge and it's only really tested on my Samsung Galaxy A53 (Android 12) and Huawei Watch GT 3.

This application has bugs. Expect crashes. But I use it on a daily basis and it works sufficiently. If there's something you want to be implemented or improved create an issue, PR, fork, or contact me.

I'll not implement more sophisticated features by now but I'm open to increase compatibility with older and newer devices and fix bugs of course. But expect to help me with information.

If something doesn't work remember to enable debug logging. Unfortunately, it's not persistent since I debug directly in Android Studio. So If you application crashes there's not much information. Maybe I'll improve this in the future.

Known issues