Script written in JavaScript (Node) that uploads CGM readings from LibreLink Up to Nightscout

Overview

Nightscout LibreLink Up Uploader/Sidecar

Simple Script written in JavaScript (Node) that uploads CGM readings from LibreLink Up to Nightscout. The upload happens every minute and should work with at least Freestyle Libre 2 and Libre 3 CGM sensors.

Configuration

The script takes the following environment variables

Variable Description Example
LINK_UP_USERNAME LibreLink Up Login Email [email protected]
LINK_UP_PASSWORD LibreLink Up Login Password mypassword
NIGHTSCOUT_URL Hostname of the Nightscout instance (without https://) nightscout.yourdomain.com
NIGHTSCOUT_API_TOKEN Nightscout access token librelinku-123456789abcde

Usage

There are different options for using this script.

Variant 1: Local

The installation process can be startetd by running npm install in the root directory.

To start the process simply create a bash script with the set environment variables (start.sh):

#!/bin/bash
export LINK_UP_USERNAME="[email protected]"
export LINK_UP_PASSWORD="mypassword"
export NIGHTSCOUT_URL="nightscout.yourdomain.com"
export NIGHTSCOUT_API_TOKEN="librelinku-123456789abcde"

npm start

Execute the script and check the console output.

Variant 2: Docker

The easiest way to use this is to use the latest docker image:

docker run -e LINK_UP_USERNAME="[email protected]" \
            -e LINK_UP_PASSWORD="mypassword" \
            -e NIGHTSCOUT_URL="nightscout.yourdomain.com" \
            -e NIGHTSCOUT_API_TOKEN="librelinku-123456789abcde" timoschlueter/nightscout-librelink-up

Variant 3: Docker Compose

If you are already using a dockerized Nightscout instance, this image can be easily added to your existing docker-compose file:

version: '3.7'

services:
  nightscout-libre-link:
    image: timoschlueter/nightscout-librelink-up
    container_name: nightscout-libre-link
    environment:
      LINK_UP_USERNAME: "[email protected]"
      LINK_UP_PASSWORD: "mypassword"
      NIGHTSCOUT_URL: "nightscout.yourdomain.com"
      NIGHTSCOUT_API_TOKEN: "librelinku-123456789abcde"

ToDo

  • Enable multiple readings: Currently the script takes the first persons glucose data that the configured account has been given access to via LibreLink Up. This should either be configurable or automatically get every persons measurements
  • Integration into Nightscout: I have not yet looked into the plugin architecture of Nightscout. Maybe this should be converted into a plugin.
Comments
  • Stuck at LibreLink Up

    Stuck at LibreLink Up

    @timoschlueter I have a working nightscout with both heroku and azure, but cannot upload values from Libreview using your program. When I try to use this, via heroku it is saying that the free dynos are no longer supported. I would be fine paying for the eco subscription, but I don't see a way to change the web or worker resources. Is it possible to 1.) change the resources for the subscription or 2.) integrate this as a plugin directly with Nightscout? I am so close to making this work and I believe this will be the last step. Thanks in advance.

    opened by tamashi84 11
  • Back-filling missed data

    Back-filling missed data

    I have been using this software for a few days to stream Libre 3 data to Nightscout, and it is great. Thank you!

    I have noticed a few times that when my son is away from his phone for an extended period (and therefore data is not flowing), that when he returns that this code will fill in some, but not all of the missing data. Both the LibreLink and XDip+ apps seem to fill in all of the missed data. The most items that I have seen this code fill in is 4 ("Upload of 4 measurements to Nightscout"). I am in the USA and using US endpoints.

    I am wondering if the /graph API endpoint may need an additional parameter passed to request more data (further back into time) when data has been missed for a while?

    opened by hightowe 9
  • Docker container for Raspberry Pi

    Docker container for Raspberry Pi

    Hi Timo,

    do you think it is possible to create the Docker container for arm64 in addition to the amd64 platform? Then you could run the whole thing very energy-efficiently on a Raspberry Pi.

    Many greets Dirk

    enhancement 
    opened by cubybox 8
  • invalid or expired jwt

    invalid or expired jwt

    Hi Timo,

    after the last update from llu on 2022-03-31 the jwt returned by login is rejected in the connections request. I've added a lot of logging to figure out what's going on. Here is the current log file:

    2022-04-02T08:42:30.830694+00:00 app[worker.1]: [info]: renew token
    2022-04-02T08:42:31.267897+00:00 app[worker.1]: [info]: responseData {"status":4,"data":{"step":{"type":"tou","componentName":"AcceptDocument","props":{"reaccept":true,"titleKey":"Common.termsOfUse","type":"tou"}},"user":{"accountType":"pat","country":"DE","uiLanguage":"de-DE"},"authTicket":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyODVlZGU0LTBjZWYtMTFlYy1hZTQ1LTAyNDJhYzExMDAwNSIsImZpcnN0TmFtZSI6IkrDtnJnIiwibGFzdE5hbWUiOiJTY2jDtm1lciIsImNvdW50cnkiOiJERSIsInJlZ2lvbiI6ImV1Iiwicm9sZSI6InBhdGllbnQiLCJlbWFpbCI6ImpvZXJnQGpvZXJnLXNjaG9lbWVyLmRlIiwiYyI6MSwicyI6ImxsdS5pb3MiLCJleHAiOjE2NDg4OTI1NTF9.jB4HwFyxf5OpEOH94bB9R78GKb334SB1oaiGIGDZWmw","expires":1648892551,"duration":3600000}}}
    2022-04-02T08:42:31.269625+00:00 app[worker.1]: [info]: Logged in to LibreLink Up
    2022-04-02T08:42:31.269700+00:00 app[worker.1]: [info]: getLibreLinkUpConnection: headers: {"User-Agent":"FreeStyle LibreLink Up Nightscout Uploader","Content-Type":"application/json","version":"4.1.1","product":"llu.ios","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyODVlZGU0LTBjZWYtMTFlYy1hZTQ1LTAyNDJhYzExMDAwNSIsImZpcnN0TmFtZSI6IkrDtnJnIiwibGFzdE5hbWUiOiJTY2jDtm1lciIsImNvdW50cnkiOiJERSIsInJlZ2lvbiI6ImV1Iiwicm9sZSI6InBhdGllbnQiLCJlbWFpbCI6ImpvZXJnQGpvZXJnLXNjaG9lbWVyLmRlIiwiYyI6MSwicyI6ImxsdS5pb3MiLCJleHAiOjE2NDg4OTI1NTF9.jB4HwFyxf5OpEOH94bB9R78GKb334SB1oaiGIGDZWmw"}
    2022-04-02T08:42:31.578051+00:00 app[worker.1]: [error]: {"message":"invalid or expired jwt"}
    

    Any ideas?

    Kind regards Jörg

    opened by Joerg-Schoemer 8
  • No Data is being uploaded to Nightscout

    No Data is being uploaded to Nightscout

    After setting everything up, this log appears, no data is being uploaded to Nightscout.

    Has anybody got an Idea what to do?

    2022-08-31T08:10:01.281280+00:00 app[worker.1]: [info]: -> The following connection will be used: Fabian Birkert (Patient-ID: 3cd57fc6-***********-8126-02d09c370615)
    2022-08-31T08:10:06.514459+00:00 app[worker.1]: [error]: {"status":401,"message":"Unauthorized","description":"Invalid/Missing"}
    2022-08-31T08:10:06.514621+00:00 app[worker.1]: [info]: Upload of 139 measurements to NightScout succeeded
    
    opened by Birkertf 6
  • Nighscout Port 443/80

    Nighscout Port 443/80

    Is it possible to change the port numbers of the nightscout connection ? I have nightscout running locally on a synology nas in docker port 80 and 443 are occupied by the nginx server 1337 is the port i use for web interface is it possible to use other ports to upload the data ? i am new to this so forgive me, as i dont not fully understand everything. my ultimate goal is to obtain the glucose data in home assistant so at night i can make some automations.

    Gr.

    opened by Dabbadoeber 5
  • Current Measurement doesnt show in nightscout

    Current Measurement doesnt show in nightscout

    I have configured an instance of nightscout and this uploader since 2 weeks now. For the first week everything ran fine. The uploader was pushing the current measurement and the backfilled data to nightscout every minute.

    After the first week I noticed during one day. that the dots would not appear every minute anymore. The uploader was still logging that it was pushing ~141 Measurements to Nightscout without fail. Nightscout would also not throw any errors but I can only see a dot every five minutes which should just be the backlogged data. Tha nightscout database shows the same.

    This porblem was not solved by deleting the docker images of the uploader and nightscout and pulling new ones.

    My Graph now looks like this: Uploading 2022-03-21 06_44_14-97 +1 →.png…

    I also have a simple ui script using the exact same code thatjust displays the number every minute which is running fine. So my asumption is that nightscout is not correctly saving the data. Do you have any idea if there is a limit of how many uploads a nightscout instance can handle at one time and the uploaded measurements get cut of with only the last few saving?

    Many Thanks

    opened by Lirycs228 5
  • TypeError: Cannot read properties of null (reading 'FactoryTimestamp')

    TypeError: Cannot read properties of null (reading 'FactoryTimestamp')

    Hi, I have the following issue, right after starting the docker-container. It seems to be connected to nightscout and the librelink cloud correctly.

    The error might occure because I have no recent blood glucose values in the libre cloud. (But I plan using it in the future, since I have to switch from libre2 to libre3).

    nightscout-libre-link_1  | 
    nightscout-libre-link_1  | > [email protected] start
    nightscout-libre-link_1  | > node index.js
    nightscout-libre-link_1  | 
    nightscout-libre-link_1  | 2022-03-18T17:41:04.531Z [info]: Started
    nightscout-libre-link_1  | 2022-03-18T17:42:07.692Z [info]: Logged in to LibreLink Up
    nightscout-libre-link_1  | 2022-03-18T17:42:15.168Z [info]: Found 1 LibreLink Up connection.
    nightscout-libre-link_1  | 2022-03-18T17:42:15.169Z [info]: -> The following connection will be used: XXX (Patient-ID: XXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXXXX)
    nightscout-libre-link_1  | 2022-03-18T17:36:15.329Z [info]: Received blood glucose measurement                     
    nightscout-libre-link_1  | /usr/src/app/index.js:186                                                               
    nightscout-libre-link_1  |     const measurementDate = getUtcDateFromString(glucoseMeasurement.FactoryTimestamp);  
    nightscout-libre-link_1  |                                                                     ^                   
    nightscout-libre-link_1  |                                                                                         
    nightscout-libre-link_1  | TypeError: Cannot read properties of null (reading 'FactoryTimestamp')                  
    nightscout-libre-link_1  |     at uploadToNightscout (/usr/src/app/index.js:186:69)                                
    nightscout-libre-link_1  |     at getGlucoseMeasurement (/usr/src/app/index.js:116:9)                              
    nightscout-libre-link_1  |     at processTicksAndRejections (node:internal/process/task_queues:96:5)               
    nightscout-libre-link_1  |                                                                                         
    nightscout-libre-link_1  | Node.js v17.7.1
    
    bug 
    opened by dassystem 5
  • Nightscout upload failed

    Nightscout upload failed

    [ image deleted as it had sensitive info ] Nightscout upload fails. Just bought a server from https://www.t1pal.com/ and entered upload url and upload secret and it just fails. Any suggestions? Api secret and host value seems to be fine.

    opened by AidasK 4
  • Cannot read properties of undefined (reading 'dateString')

    Cannot read properties of undefined (reading 'dateString')

    Hi,

    after setting up Nightscout via Heroku (successfully). I tried to set up libre link up, also via Heroku. But unfortunatily I receive always the following error.

    2022-05-01T18:20:00.514429+00:00 app[worker.1]: [info]: no authTicket.expires 2022-05-01T18:20:00.514465+00:00 app[worker.1]: [info]: renew token 2022-05-01T18:20:01.164961+00:00 app[worker.1]: [info]: Logged in to LibreLink Up 2022-05-01T18:20:01.672330+00:00 app[worker.1]: [info]: Found 1 LibreLink Up connection. 2022-05-01T18:20:01.672344+00:00 app[worker.1]: [info]: -> The following connection will be used: XXXXXX (Patient-ID: ) 2022-05-01T18:20:02.254026+00:00 app[worker.1]: [info]: Received blood glucose measurement items 2022-05-01T18:20:02.394919+00:00 app[worker.1]: [error]: Error getting glucose measurements Cannot read properties of undefined (reading 'dateString')

    opened by convay89 4
  • Nightscout token in SHA1 really necessary?

    Nightscout token in SHA1 really necessary?

    I want to analyze the SHA1 requirement of the Nightscout token. Some users are confused about the hashing of the token. In my instance, I don't hash the token and the plugin still works. Maybe we should update the documentation again. The SHA1 requirement was introduces in PR https://github.com/timoschlueter/nightscout-librelink-up/pull/21. @HansKre since I don't use Heroku: is the hashing something that is necessary on Heroku deployments? It does not seem to be required on local/docker deployments.

    documentation question 
    opened by timoschlueter 4
  • Process exited with status 0

    Process exited with status 0

    hello I am getting the values at 11 minute intervals. I couldn't understand the errors it gave. it gives this error every time a value is loaded..What should I do?

    log:

    2022-12-27T20:52:38.840149+00:00 heroku[worker.1]: Process exited with status 0 2022-12-27T20:52:38.885052+00:00 heroku[worker.1]: State changed from up to crashed 2022-12-27T21:03:33.880472+00:00 heroku[worker.1]: State changed from crashed to starting 2022-12-27T21:03:36.811904+00:00 heroku[worker.1]: Starting process with command npm start 2022-12-27T21:03:37.433165+00:00 heroku[worker.1]: State changed from starting to up 2022-12-27T21:03:39.490209+00:00 app[worker.1]: 2022-12-27T21:03:39.490231+00:00 app[worker.1]: > [email protected] start 2022-12-27T21:03:39.490231+00:00 app[worker.1]: > node index.js 2022-12-27T21:03:39.490232+00:00 app[worker.1]: 2022-12-27T21:03:39.635782+00:00 app[worker.1]: [info]: no authTicket.expires 2022-12-27T21:03:39.636195+00:00 app[worker.1]: [info]: renew token 2022-12-27T21:03:40.309196+00:00 app[worker.1]: [info]: Logged in to LibreLink Up 2022-12-27T21:03:40.708399+00:00 app[worker.1]: [info]: Found 1 LibreLink Up connection.

    opened by sfgul 2
  • [error]: {

    [error]: {"message":"invalid or expired jwt"}

    I haven't collected data from libreview for about a month. I redeployed from 1.9.0 to 1.9.1 and it's still the same - AuthFailureError . I assume this happened after updating librelinkup to 4.5.0.

    Log from rail.app:

    [email protected] start node index.js [info]: Starting cron schedule: */5 * * * * [info]: no authTicket.expires [info]: renew token [info]: Logged in to LibreLink Up [error]: {"message":"invalid or expired jwt"} [error]: getting libreLinkUpConnection: Cannot read properties of undefined (reading 'data')

    opened by JotaMyke 12
  • High delta

    High delta

    If you compare the delta going up and down ( 5min) its alot higher when you compare with a libre 1 (miaomiao, xdrip4ios) the abbot libre 3 app is compensating down this afterwords a bit in the logged curve,

    Is there a way to apply some average filter on the libre 3 bg values before sending it to nightscout

    I think they use something like that in Xdrip4ios.

    to prevent the curve to overreach actual bg that leads to sharp turns when changing directions

    it will also help againt sudden compression drops and even them out a bit

    If your looping it will also be easier for loop to regulate a more stable curve and not give to much and then take away basal all the time

    It could be an optional feature

    opened by Samhagberth 2
  • Plan B to Heroku

    Plan B to Heroku

    If anyone is still looking for Plan B to Heroku, I have been using Azure for a little while now since it is back and both the NightScout website and this wonderful write app from Libre to NightScout works seamlessly.

    Follow the same steps as migrating nightscout website from the link below and replace where necessary with librelink-up configurations https://nightscout.github.io/vendors/azure/migrate/

    opened by Chapagain43 1
  • last glucose dosnt read

    last glucose dosnt read

    Hello, I notice that the last glucose measure, the value of NOW, don't appear, the postbox glucose measures take 20 minutes of delay. It is right?

    Thanks.

    opened by Oscarperez-1980 1
  • Upload to NightScout failed

    Upload to NightScout failed

    Hello, Sute I am doing something bad, but I dont know... If someone can help me.....

    yml of the nightscout-librelink-up is:

    version: '3.3' #version: '3.3'

    services: nightscout-libre-link: image: timoschlueter/nightscout-librelink-up container_name: nightscout-libre-link environment: LINK_UP_USERNAME: "USERNAME_LIBRELINK_UP" LINK_UP_PASSWORD: "PASSWORD_LIBRELINK_UP" NIGHTSCOUT_DISABLE_HTTPS: "true" LINK_UP_TIME_INTERVAL: "1" LINK_UP_REGION: "EU" NIGHTSCOUT_URL: "192.168.0.116" -> LOCAL IP NIGHTSCOUT_API_TOKEN: "123456789123456789" LOG_LEVEL: "info"

    ############ ############ ############ ############

    the yml of the /nightscout-docker from the web: nightscout-docker

    broker: image: 'prologic/mosquitto:latest' ports: - '1883:1883' database: image: 'tutum/mongodb:latest' environment: - MONGODB_PASS=123456789123456789

    Uncomment if you want to expose the MongoDB port directly

    If you're using the API interface (highly recommended) then you can

    safely leave this commented out

    ports: - '27017:27017'

    nightscout: image: 'nightscout/cgm-remote-monitor-development:latest' environment: - API_SECRET=123456789123456789 - 'MONGO_CONNECTION=mongodb://admin:123456789123456789@database/admin' - 'MQTT_MONITOR=mqtt://123456789123456789@broker' - PORT=1337 links: - broker - database ports: - '1337:1337'

    ############ ############ ############

    The log is:

    [info]: Starting cron schedule: */5 * * * * [info]: no authTicket.expires [info]: renew token [info]: Logged in to LibreLink Up [info]: Found 1 LibreLink Up connection. [info]: -> The following connection will be used: NAMEXXXx (Patient-ID: XXXXXXXX) [error]: self-signed certificate [info]: Trying to upload 44 glucose measurement items to Nightscout [error]: self-signed certificate [error]: Upload to NightScout failed

    opened by akitamostodos 13
Releases(v2.1.0)
  • v2.1.0(Dec 30, 2022)

    What's Changed

    • Feature: Add tests by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/86

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v2.0.1...v2.1.0

    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Dec 29, 2022)

    What's Changed

    • Fix for Heroku Deployments by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/85

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v2.0.0...v2.0.1

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Dec 29, 2022)

    What's Changed

    • Feature: Migrate to typescript by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/84

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.9.1...v2.0.0

    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Dec 22, 2022)

    What's Changed

    • Bugfix for Heroku deployments by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/81
      • closes #74
      • closes #79

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.9.0...v1.9.1

    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Oct 4, 2022)

    What's Changed

    "Single shot" mode

    When setting the environment variable "SINGLE_SHOT" to true the builtin scheduler will be disabled and the script runs just once and exits after completion. This is very useful if you want to use your own scheduler.

    Disabling of HTTPS for Nightscout

    Until now, the https:// prefix was hard-coded into the URL of the Nightscout instance. Although HTTPS encryption is very important and should be the default, there are deployments where disabling this it me required. A very good use-case for disabling HTTPS has been provided in #68. The new environment variable NIGHTSCOUT_DISABLE_HTTPS allows this behavior to be enabled.

    Minor improvements

    • The script no longer tries to upload 0 measurements to Nightscout
    • Updated to the lastest winston dependency

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.8.2...v1.9.0

    Source code(tar.gz)
    Source code(zip)
  • v1.8.2(Aug 28, 2022)

    What's Changed

    • Removed unused moment.js dependency by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/63

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.8.1...v1.8.2

    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Jul 14, 2022)

    What's Changed

    • Bugfix for German users by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/55
      • Attention: If you are living in Germany, set the LINK_UP_REGION environment variable to DE

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.8.0...v1.8.1

    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Jul 5, 2022)

    What's Changed

    • Added LINK_UP_REGION ENV variable to set the region of the service by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/52

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.7.2...v1.8.0

    Source code(tar.gz)
    Source code(zip)
  • v1.7.2(Jun 14, 2022)

    What's Changed

    • Add support for older ARM based devices (Raspberry Pi 3 etc.)

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.7.1...v1.7.2

    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Jun 14, 2022)

    What's Changed

    • Fixes crash due to node-cron 3.0.1 dependency (see: https://github.com/node-cron/node-cron/issues/355)

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.7.0...v1.7.1

    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Jun 14, 2022)

    What's Changed

    • Add support for ARM platfoms by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/47 (Fixes #45)

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.6.2...v1.7.0

    Source code(tar.gz)
    Source code(zip)
  • v1.6.2(May 10, 2022)

    What's Changed

    • Feature: increase fault tolerance by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/42
      • Closes #38 and #40

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.6.1...v1.6.2

    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Apr 7, 2022)

    What's Changed

    • Add LINK_UP_TIME_INTERVAL to environment by @Joerg-Schoemer in https://github.com/timoschlueter/nightscout-librelink-up/pull/36

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.6.0...v1.6.1

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Apr 6, 2022)

    What's Changed

    • made it nightguard ready by @Joerg-Schoemer in https://github.com/timoschlueter/nightscout-librelink-up/pull/34
    • Log-Level can be configured via ENV variables (also by @Joerg-Schoemer)

    New Contributors

    • @Joerg-Schoemer made their first contribution in https://github.com/timoschlueter/nightscout-librelink-up/pull/34

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.5.0...v1.6.0

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Feb 28, 2022)

    What's Changed

    • Added support for multiple patients. by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/25

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.4.2...v1.5.0

    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Feb 21, 2022)

    What's Changed

    • Missed updating Dockerfile in version 1.4.1.

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.4.1...v1.4.2

    Source code(tar.gz)
    Source code(zip)
  • v1.4.1(Feb 21, 2022)

    What's Changed

    • Release 1.4.0 by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/18
    • Bump follow-redirects from 1.14.7 to 1.14.9 by @dependabot in https://github.com/timoschlueter/nightscout-librelink-up/pull/22
    • Fix docu. by @HansKre in https://github.com/timoschlueter/nightscout-librelink-up/pull/21

    New Contributors

    • @HansKre made their first contribution in https://github.com/timoschlueter/nightscout-librelink-up/pull/21

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.4.0...v1.4.1

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Jan 24, 2022)

    What's Changed

    • Adds support for mmol/L units. fixes #16 by @timoschlueter in https://github.com/timoschlueter/nightscout-librelink-up/pull/17

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.3.0...v1.4.0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Jan 20, 2022)

    What's Changed

    • add Heroku support by @ninelore in https://github.com/timoschlueter/nightscout-librelink-up/pull/13

    New Contributors

    • @ninelore made their first contribution in https://github.com/timoschlueter/nightscout-librelink-up/pull/13

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.2.2...v1.3.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.2(Jan 17, 2022)

    What's Changed

    • Bump follow-redirects from 1.14.6 to 1.14.7 by @dependabot in https://github.com/timoschlueter/nightscout-librelink-up/pull/11

    New Contributors

    • @dependabot made their first contribution in https://github.com/timoschlueter/nightscout-librelink-up/pull/11

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.2.1...v1.2.2

    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Jan 14, 2022)

    What's Changed

    • Indentation fix by @sebdei in https://github.com/timoschlueter/nightscout-librelink-up/pull/9

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.2.0...v1.2.1

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Jan 12, 2022)

    What's Changed

    • Trend Arrows by @sebdei in https://github.com/timoschlueter/nightscout-librelink-up/pull/7

    New Contributors

    • @sebdei made their first contribution in https://github.com/timoschlueter/nightscout-librelink-up/pull/7

    Full Changelog: https://github.com/timoschlueter/nightscout-librelink-up/compare/v1.1.0...v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Dec 31, 2021)

    • Graph-Data from the LibreLink Up app is used to backfill missing measurements if there is a connection error
    • The app now uses the measurement timestamp from LibreLink instead of the upload timestamp
    • Optimized the logging (switched to winston)
    • Optimised the http requests (switched to axios)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Dec 30, 2021)

Owner
Timo Schlüter
Software Developer. Currently in love with TypeScript, React and NativeScript
Timo Schlüter
API of my readings, developed in Nest.js, MongoDB, Nginx and Dockerized

My Readings step by step for configuration with docker OBS: required docker and docker-compose cp -r .env.sample .env docker-compose up example what t

William Koller 30 Jul 1, 2022
A new way to share your readings with friends. Hope you like it!

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Gardenia Georgia 4 Sep 9, 2022
🍎 A simple application which enables you to sync readings from your Withings scale to a Notion page.

weight-logger weight-logger is a simple application which enables you to sync readings from your Withings scale to a Notion page. Preview Installation

Juri Adams 2 Jan 14, 2022
Responsive tabs-to-accordion script without jQuery, written using pure JavaScript

vanilla-tabs Responsive tabs-to-accordion script without jQuery, written using pure JavaScript Author Dmytro Kudleichuk LinkedIn GitHub Online Demo Se

Dmitriy Kudleichuk 7 Dec 20, 2022
Script to fetch all NFT owners using moralis API. This script output is a data.txt file containing all owner addresses of a given NFT and their balances.

?? Moralis NFT Snapshot Moralis NFT API will only return 500 itens at a time when its is called. For that reason, a simple logic is needed to fetch al

Phill Menezes 6 Jun 23, 2022
Script to synchronize between a Notion database and Google Calendar both ways. Uses Google App Script.

Yet Another Two Way Notion-Google Calendar Sync Script A script to sync events between Google calendar and a Notion database. Features! Google App Scr

kat 41 Jan 7, 2023
Node.js script to notify stake data with Notifi Network

Created by Timur Ruziev (participant of stakewars-iii) You can see my challenge report here: https://github.com/ruziev-dev/near-stakewars-iii Getting

Timur Ruziev 6 Sep 6, 2022
node.js script to scrape all top meme templates from https://imgflip.com/memetemplates

imgflip-scraper node.js script to scrape all top meme templates from https://imgflip.com/memetemplates Acknowledgements imgflip Run Locally Clone the

Abhishek Bhathela 3 Nov 12, 2022
A crawler that extracts data from a dynamic webpage. Written in node js.

??️ Gumo "Gumo" (蜘蛛) is Japanese for "spider". Overview ?? A web-crawler (get it?) and scraper that extracts data from a family of nested dynamic webp

Nuthalapai Venkata Krishna Chaitanya 22 Sep 13, 2022
Tool to automate making Reddit accounts, written in Node.

redgen Tool to automate making Reddit accounts, written in Node. installation & configuration NOTE: This program requires that you have a 2Captcha acc

aria 3 Sep 1, 2022
A TOML parsing tool written in Rust for Node.js

@daydog/toml A TOML parsing tool written in Rust for Node.js Installation @daydog/toml is available via npm. npm install @daydog/toml Usage parse You

null 5 Jul 20, 2022
⚡️ Free, open-source and easy to setup tempmail written in Node.JS!

tempmail-js ⚡️ Free, open-source and easy to setup tempmail written in Node.JS! tempmail.js uses MongoDB to store it's data. Installation Installing t

vida 2 Nov 7, 2022
An open-source URL Shortener written in Node.js 🔗

What's this? Qurl.gq is an open-source URL Shortener written in Node.js ?? Contributing ideas Apply a custom font Add tests UI Improvements Sanitise u

RedstoneRadiant 7 Oct 7, 2022
Node 18's node:test, as a node module

node-core-test This is a user-land port of node:test, the experimental test runner introduced in Node.js 18. This module makes it available in Node.js

Julian Gruber 62 Dec 15, 2022
An opensource 360° media viewer written in JavaScript using Electron and Marzipano

open360viewer open360viewer is an opensource 360° media viewer. It is based on electron and marzipano. It currently supports opening equirectangular 3

null 4 Oct 9, 2022
Anagolay Network Javascript SDK written in Typescript

Anagolay Network Javascript SDK written in Typescript. This repo will contain the bindings to Anagolay Network with the sane defaults for pallet usage

Anagolay Network 4 Nov 26, 2022
A free and open-source Automatic Account Creator (AAC) written in Javascript Stack;

A free and open-source Automatic Account Creator (AAC) written in Javascript Stack. ????‍?? Techs Front-end Vue.js Vuex-module-decorators Vuetify.js N

null 24 Dec 17, 2022
A simple inefficient and buggy JSON parser written in JavaScript. Just a fun project

A simple inefficient and buggy JSON parser written in JavaScript This JSON parser isn't guaranteed to work properly. Its recommended to use builtin JS

Pranav Baburaj 2 Feb 20, 2022