Feature Request Custom data field / CGM Data
Not plannedI am not sure what is the official way to enter a feature request but I would really like to ask for one. It has been asked at https://support.hammerhead.io/hc/en-us/community/posts/4414700476315-Side-Load-Blood-Glucose-apps- already but maybe it was overseen.
Garmin has the connect IQ SDK which is very nice, maybe too much for hammerhead to do, but I would really like to have the possibility to have a custom data field that can display data scraped from some URL or a different app.
The actual requirement for me and fellow diabetics would be to display the Blood glucose values on the unit like it can be done via the xdrip+/spike data field on garmin via connect IQ.
I managed to side load xdrip+ on the karoo so the values are already available on the karoo unit and could be extracted by connecting to an http url. No need for Hammerhead to get involved in FDA approval or some such as long as you just offer a possibility to extract data from a web url (of course, incorporating our own code would be even better, but probably too difficult to be worth the hassle).
Is there any chance? Not sure what other custom data fields would be interesting (runtime of bike lights maybe?) but the CGM data would be good for all diabetics and I also know from athletes that have no illness of this type who want to track their blood glucose with Dexcom sensors or similar hardware so they get warned before they get hypoglycaemia
-
o.k. I do understand that you can only do so much with your time, but please consider that roughly 10% of the worlds population are diabetics and CGM Data is essential for those to be able to do longer workouts. I needed to stop competitive triathlon when I got the disease and there was no CGM available back then.
I will then need to go back to my garmin edge 1030 which has this feature. It is a pity since Karoo software has come a long way since I got it and I like some of the things much better then the garmin version.
For me it would be sufficcient to just display somenumbers scraped from a text website via http(s)
-
I have asked for a CGM data field on the Karoo several times. This response is more than I got, as depressing as it is.
I have been an insulin dependent diabetic for over 53 years and an avid cyclist for over 50 years.
It's discouraging that incorporating the best technology ever developed for diabetic control with the best exercise available for blood sugar control ranks so low on Hammerhead's priority scheme.
Your competition did it. So can you.
Please reprioritize and elevate this data request. -
This seems like an incredible feature that would differentiate across all brands. They could sponsor the famous all type 1 diabetic cycling team https://www.teamnovonordisk.com/
In the meantime guys, I'm wondering if you can sideload the app?
Once you are in the app, if you long hold the bottom right corner you can switch apps.
I did this for Gaia GPS as I needed to be able to look at the Land Owner and Trail Forks overlays when in a bind.
Let me know if you need any help. I did this on OS X.
-
Actually, Karoo does have an SDK like Garmin Connect IQ. It is available here:
https://github.com/hammerheadnav/karoo-sdk
So anyone with knowledge can create their own extensions
-
Several people in this discussion said they would like ot have it, but only one of them upvoted it. Why?
@Don Myers: thanks for this link, I will look into it. Looks promising at first glance.
@Jim Neilson: Yes, xdrip+ complains that it needs google services, but this is only neccessary for some follower functionality according to the developers. It works fine without google services for everything I need it to do. Recent dev versions also support chosing the primary or alternate channel for dexcom via preferences so it can also run in parallel with xdrip+ on the phone. I tried it and it works with a somewhat recent Dexcom G5 Transmitter. Could not get it to work with my old 80XXXX with the custom rechargeable Battery, though.
The only problem is that you cannot have your BG without switching the app which makes it hardly usable. For us T1D BG values are much more important than Heart Rate so it would be good to keep it visible at all times.
-
This is now resolved !!!
Any Diabetic Hammerhead Karoo Users...
We now have a Nightscout CGM Blood Glucose data field !!!A massive thanks to valterc for his help on this one too !!!
Instructions at
https://github.com/haspden/INFLITE-TYPE-ONE-Hammerhead-CGMDownload the latest release at
https://github.com/haspden/INFLITE-TYPE-ONE-Hammerhead-CGM/releases -
Thanks for sharing this!
Do I understand this correctly, that it pulls data from nightscout so it needs an active internet connection in order to display the data? No direct grabbing from xdrip+ like the garmin CIQ datafield does which would also work in areas which bad/no cell phone coverage?
-
The supersapian app itself not directly.
However you could grab data from the Abbott freestyle libre sensor itself with a range of options. including but not limited to, Xdrip, Xdrip4ios, Spike etc.
More info available at
https://nightscout.github.io/uploader/uploaders/ -
as there is a companion app on the phone, would it be possible to grab only certain app data from the phone and show it on the karoo 2 ?
I have a medtronics pump 780G with GL4, i cannot use nightscoot. but i have notifications (discreet) on the phone so i guess it can be push to the karoo2 companion then to the karro 2 somehow ?! -
This has not "been resolved" as spammed in a number of threads.
Displaying info from a nightscout server is not the "solution" to the karoo displaying data which is already on the device!
In fact it introduces extra steps, complexity and the need for an internet connection.
Xdrip supplies BS data on the device via http url.
All karoo need to do is allow that to be displayed.
-
Have you tried using: http://<phone IP address here>:17580 as the address? - this assumes you're using a hotspot hosted by your phone, and that you can determine the IP address of the phone (which your phone might tell you somehow, otherwise if you can see the address of the Karoo, e.g. on the Karoo itself, it should be possible to guess the phone's address as it's likely to sit at one or other end of the IP numbering space.)
[Just a random thought, as I don't have a Karoo device to test with. I was simply browsing the support forums to see whether there was now a viable alternative to my Garmin 530 + ConnectIQ field + XDrip+ using the Karoo (3) - I realise the app mentioned in this thread won't work with that device currently, but it's open source so viable at least.]
-
Gareth, you're assuming that you can use xdrip to read the data, but many devices such as Medtronic can't be read directly using xdrip+ and you'll need to use a bridge.
Simon, if using xdrip you can run http://127.0.0.1:17580 (assuming local web broadcast is turned on).
I'm happy to work on this again. What I propose is an app which can pull from all of the following sources
LocalhostThis would support xdrip and similar apps putting out a JSON on http://127.0.0.1:17580. You can then either read directly from a sensor, or pull from web-based sources supporting on and offline methods.
Nightscout APIs (/api/v2/entries/sgv.json & /api/v2/status.json)
So that no additional uploaders are required considering most users already have an uploader reading and uploading data anyway. This would also then support iPhone and Medtronic, CAMAPS users nicely who don't have as much flexibility.
Supporting both token and API secret-based authentication.
Enhance-d : The Diabetes and Exercise App
Later I could add in support to pull from Enhance-d (https://www.enhance-d.com/app/download) which then opens things up much wider to additional data sources in time.Is there anything I'm missing?
----- ----- ----- ----- -----
Follow me on Enhance-d at https://app.enhance-d.com/user/diabeat_this -
Hi Henry,
My assumption of what Gareth wanted was for the data in/collected by XDrip+ on his phone to be made available on the Karoo (which is I guess what most people would want, rather than needing to pass control of the sensor to a locally running XDrip+ install on the Karoo while riding or needing to have a constant internet connection from both devices to allow follower mode, etc.)
I may have misunderstood what you meant above, but unless there's a bridge app á la Garmin Connect (and part of the app actually runs on the phone rather than the Karoo), I'm surprised that an app running on the Karoo can see the phone's localhost directly.
Edit: Without (yet) having tested it appears that this is exactly what happens (presumably a result of the PAN connection between Karoo and Phone - I guess), which is great - just wanted to add an edit to clarify this.
I must admit I've not done much digging into the platform though so while surprised, it would be a pleasant surprise :)
-
I wasn't assuming anything.
In fact, the majority of pump users in the UK are not eligible for closed loop that would involve the medtronic CGM. Dexcom and Libre are the predominant BS devices and both can be linked to xdrip+ directly. In fact, as long as xdrip+ is displaying a value, it will push it out on it's local android and web services.
The only problem here is ingesting that data (which may be either from a phone connected to a karoo or the karoo itself) in a useful manner.
It may be that this is possible, but all manufacturers of popular units, garmin, wahoo and karoo do very little to show if such features are available and google brings you to pages like this - which suggest you need a nightscout cloud install and therefore an inet connection to make it work.
The real issue here is that to find out if a solution is possible, karoo support are not useful, so you would need to purchase a unit, test it and hope for the best.
Perhaps karoo could look at their forums and respond to allow informed purchasing decisions? -
I use a Garmin (watch and headunit) at the moment and there's no need for an internet connection to make XDrip+ supply data to the Garmin device when using a libre(2+) sensor.
My setup is this:
* Juggluco (reads the sensor, sends an Android Intent)
* XDrip+ (receives the Android intent, adds the data to its localhost webserver which emulates a NightScout site)
* Garmin Connect/Watchface/Data Field receives the data and displays it. A given Connect IQ "plugin" is split across the phone and device. On the phone it runs in the ConnectIQ app and reads the locahost webserver, then this is passed to the display widget on the device.
FWIW these are the widgets I use for my watch and headunit respectively:
https://apps.garmin.com/en-US/apps/8fab3746-f56f-4b41-b3c7-5f4aaeaed6c9
https://apps.garmin.com/apps/5a3e2cda-12f0-4afd-88ed-000e67a68d84
It would be very useful if the Karoo SDK allowed a way of linking code running on the phone to that on the Karoo itself (e.g. in the companion app, or some new app to run phone-side code) via a low power Bluetooth connection, rather than requiring a wifi connection. I see there is a post about this already with no solution: https://support.hammerhead.io/hc/en-us/community/posts/35550714149531-How-to-bond-phone-to-Karoo-via-BLE
In the meantime I've bought a Karoo (new/3 however the confusing naming works :)) so will have a crack at making something to in the first instance pass across data from the phone via a Wifi hotspot and ultimately over a Bluetooth connection, which I hope Hammerhead/SRAM will see fit to make available (as it would benefit many more apps than just this fairly specific one :)).
P.S. FWIW you don't need XDrip+ in the above situation as Juggluco can run its own localhost webserver, however, I far prefer the interface on XDrip+ and the ability to calibrate the CGM data (which always reads low for me) and log carbs and insulin for a rough projection of future BG (all of which I would also like to see and plan to make available on my headunit)
-
Meanwhile other manufacturers do connect directly to CGM sensors - e.g. on the Apple Watch you can have the Dexcom Values without the need of a phone for the communication. I do not know if there is an approval by FDA or other coutries regulation bodies, but I assume it is then done by Dexcom itself for their App+Sensor combination.
I would dump Karoo and Android and switch to apple only for that reason if it would work reliably. It currently doesn't, however as many users report. I wanted to try Henry Aspdens Approach but it wasn't working on my karoo. Bought a karoo2 later but never got around to trying it again due to no time. Just using the garmin was much easier.
The garmin does have issues because you can only make one connection every 5 minutes and also the sensor only wakes up every 5 minutes, so if you do not get that perfectly sychronised you have a long delay between values. And every now and then it loses a value and it takes a long time to get synced again.
So I would really be interested in a solution, but only a local one since I do not have any network connection in my karoo.
-
Do you not use the Companion App?
There are ways to run e.g. the XDrip+ collector on Android smartwatches but these are also flaky, which is afaiu down to power saving on these battery-constrained devices.
I would be happy with a comms method that uses the same pipeline that the Companion App and Karoo software use to transfer e.g. phone notifications and location tracking data, and deal with the less thorny (but still not forthcoming) problem of trying to get CMG manufacturer apps that are already running on your phone to add a method of sharing their data locally (whether via a localhost/same-device webserver or Android Intent.)
It would make life better in general if all of the CGM manufacturers by default broadcast new readings locally on the (phone) device to be picked up and used my whatever piece of software you want - whether that they does logging, future BG prediction, or passes it via the Companion App (or indeed Garmin's Connect IQ) to a headunit.
Re the sensors, with 1 min updates on the new Libres (2, 2+, 3) and the ability to read the 1min data using Juggluco/Xdrip+ the value on my Garmin headunit is generally less out of date than previously, though it still sometimes drops out/misses an update. Strangely my (Garmin Fenix) watch is usually up to date in these cases.
-
Hey guys, so I've rebuilt the app for testing now...
Main features- Can pull from a local broadcast on the device (if running xDrip+ on the device)
- Can pull from Nightscout (when has wifi / hotspot connection)
- Can pull from Phone's Local Broadcast (when has wifi / hotspot connection). This will also work in areas of no mobile data as it's all local
Details are available here
https://github.com/haspden/Enhance_d_Club_Glucose_Karoo/releases/latest
Let me know if this does what you need -
I could successfully install it on my Karoo 2 who sits here for over 2 years and was never used. I had problems getting xdrip+ to work because bluetooth was disabled and could not be enabled manually (I think that was possible with earlier releases of karoo 1 OS). I managed to get it to work with pairing a BT headset - as soon as I switch off the headset it seems to disable BT again. Does anybody know how to force enable Bluetooth on the Karoo 2? Does it at least work if I pair my powermeter or HR Strap via BT instead of ANT+?
And after enabling the "local webserver needed for fitbit ionic" I could use the app and successfully enable a datafield.
Many thanks to @Henry Aspden for this great piece of software!
I do have a problem with it, however - I can only select single values to display each of which uses up a precious datafield. I would really need at least the BG value, the change in BG since last measurement and the number of minutes since last BG received. A trend arrow or +/- would also be appreciated.
Best would be what I have now on the Garmin and it looks like this (second field from the top):

This gives me percentage of current basal profile from pump, IOB, COB, Number of minutes since last value, current BG (colored if out of range) difference of BG since last measurement all in one data field. It also shows a BT symbol if the connection to the garmin app is lost I could do without the AAPS Data but the lower three values would really be good to have in one data field.
Is this possible?
-
Sorry it's taken a while - delayed delivery and then needed to be sure, but I'm afraid it's not working for me.
http://127.0.0.1:17580/sgv.json works in a webbrowser on the device, so the webserver is running in XDrip+, but whether I select "Local Web Broadcast (xDrip+)" or "Hotspot Device (Auto-Detect IP)" (and connect the Karoo to the phone hotspot), it always says "Error" in the app launched from the Extensions menu, or "no sensor" when riding.
The latter seems a bit weird (assuming it's auto-detected the correct IP address) as it should simply work (unless there's some added "helpful" protection that prevents accessing plain http sites), I'll do some more digging.
Any suggestions also appreciated :)
-
I have just entered beta testing with an app I developed which adds CGM fields (right now just for Dexcom) to the Karoo. It has 22 different fields, audio and visual messages for glucose level changes, FIT file logging, full language support, and is customizable (and follows standard Karoo settings, e.g. light/dark, field alignment) where appropriate. If you want to join the beta test, take a look at glucoroo.com and send me a message through the "contact" page.
-
@Brennan Carley. Thank you for sharing. Day 1 getting karoo yesterday. Tried Enhanced-d apk. Similar result to others above. Downloaded Glucoroo tonight. Couldnt get CGM account linked to Glucoroo. I am sure its me on this with Dexcom G7 having Dexcom share, follow etc. I tried the Nightscout option through the phone Gluroo app. It has worked with Glucoroo datafields displayed. Will test tomorrow out on the road.
Please sign in to leave a comment.
Comments
33 comments