Skip to content

Feature: Using Nightscout as CGM data source #1134

@Andrei0105

Description

@Andrei0105

Some CGMs don't support connecting to Loop and the easiest way to do this is to upload their data to Nightscout and retrieve it from there.
This was already discussed in #84, but this does not consider CGMs that are not compatible with xDrip+.
It also seems that this was possible in Loop v1.4.0 (#535, #492) but it's not possible currently.

I created a pull request (LoopKit/dexcom-share-client-swift#9) in https://github.com/LoopKit/dexcom-share-client-swift that allows the user to use his own Dexcom share server. This can be used with https://github.com/dabear/NightscoutShareServer to retrieve data from Nightscout.

How to use this feature as of now:

  • Set up a Nightscout site for your CGM
  • Follow the instructions in https://github.com/dabear/NightscoutShareServer to set up a Nightscout Share Server
    NOTE: NightscoutShareServer is no longer supported by the original author. You can get the last working version from here: https://github.com/Andrei0105/NightscoutShareServer, but this is not currently being maintained (although I plan to in the future).
  • Fork https://github.com/Andrei0105/dexcom-share-client-swift https://github.com/LoopKit/dexcom-share-client-swift and follow the instructions in ShareClient/ShareClient.swift: uncomment line 44 in ShareClient/ShareClient.swift, add the URL of your Nightscout share server and uncomment lines 34 and 35 in ShareClientUI/ShareService+UI.swift
  • Fork both https://github.com/LoopKit/G4ShareSpy and https://github.com/LoopKit/CGMBLEKit
  • In both the above repositories update the Cartfile the following way: change github "LoopKit/dexcom-share-client-swift" ~> 1.2 to github "yourgithubusername/dexcom-share-client-swift" "master", where yourgithubusername is the username of the github user you used to fork the repos
  • Delete the Cartfile.resolved files
  • Back in the Loop folder, in the Cartfile change the lines github "LoopKit/CGMBLEKit" ~> 3.2 and github "LoopKit/G4ShareSpy" ~> 1.1 to github "yourgithubusername/CGMBLEKit" "master" and github "yourgithubusername/G4ShareSpy" "master"
  • Also change the line github "LoopKit/dexcom-share-client-swift" == 1.2 in Cartfile to github "yourgithubusername/dexcom-share-client-swift" "master"
  • Delete the Cartfile.resolved file from the Loop folder
  • Build the Loop app. Now the option to select a custom share server should appear in Add CGM -> Dexcom Share

What is this useful for:
I have the Medtronic Guardian Connect standalone CGM which connects directly to my iPhone and data is retrieved from the Carelink portal and uploaded to Nightscout. The CGM can't be connected in any other way so this is the only solution to use it with Loop. I'm assuming there are more systems that can be used this way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions