Bridges Dexcom share2 to PredictBGL App and ManageBGL.com website
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
Procfile
README.md
app.json
index.js
package.json

README.md

share2predictbgl-bridge

Releases

The Share to PredictBGL bridge copies your CGM data from Dexcom web services to PredictBGL Apps/ManageBGL website via the PredictBGL Diabetes API. The bridge runs as node index.js and will loop forever, periodically querying Dexcom's Share web services for new CGM data. The bridge relays any new data to the PredictBGL website via the REST API.
The website then syncs the data live to all connected devices, such as the PredictBGL iOS and Android Apps.

Prerequisites

  • A working Dexcom Share receiver paired to an Apple or Android device that is successfully uploading data to Dexcom. You must be able to see the Dexcom data in the Dexcom Follow app for the bridge to work.
  • Your Dexcom Sharer username and password
  • A ManageBGL account, signup free at ManageBGL
  • iOS or Android Apps

Install Node and Node Package Manager (npm) - Mac/Unix

For normal setup, first install node.js on your computer.

Under Unix:

sudo apt-get update

sudo apt-get install nodejs

sudo apt-get install npm

Install Node and Node Package Manager (npm) - Windows

Go to https://nodejs.org/en/download/

Install libraries

In a new folder, run: git clone https://github.com/datamystic/share2predictbgl-bridge.git

To install pre-requisities, run
npm install request

To setup the bridge for your account, run these (one per line):
set API_SECRET=xxxx-xxxxxxxxxxxxxxxxxxxxxx
Get ManageBGL's API secret

set DEXCOM_ACCOUNT_NAME=xxxxx

set DEXCOM_PASSWORD=xxxxx

Note: if you use Mac/Linux, change SET to EXPORT ie export API_SECRET=xxxx-xxxxxxxxxxxxxxxxxxxxxx

export DEXCOM_ACCOUNT_NAME=xxxxx

export DEXCOM_PASSWORD=xxxxx

To start things rolling, run: node index.js

Required

Optional

  • maxCount (1) - The maximum number of records to fetch per update
  • minutes (1440) - The time window to search for new data per update (default is one day in minutes)
  • firstFetchCount (3) - Changes maxCount during the very first update only.
  • maxFailures (3) - The program will stop running after this many consecutively failed login attempts with a clear error message in the logs.
  • SHARE_INTERVAL (150000) - The time to wait between each update (default is 2.5 minutes in milliseconds)

Alternative

  • If this all sounds too complicated, get a ManageBGL.com account and it is all done for you.

More information

This code is based on and acknowledges the work by Ben West and Scott Hanselman]blog-post. This bridge logs in to Dexcom Share as the data publisher. It re-uses the token every 5 minutes to fetch the maxCount latest glucose records within the last specified minutes. This information is then sent to the user's specified PredictBGL account, making the data available to the beloved pebble watch and other equipment owned and operated by the receiver's owner. It will continue to re-use the same sessionID until it expires, at which point it should attempt to log in again. If it can log in again, it will continue to re-use the new token to fetch data, storing it into PredictBGL.

This project is not FDA approved, not recommended for therapy, and not recommended by Dexcom.