Get weight from Nokia Health and update to Garmin Connect or Smashrun.
Download / clone the repository.
Satisfy the following requirements:
Register an application with Nokia Health and obtain a consumer key and secret.
On first run you need to set-up your Nokia Health consumer key and secret:
./nokia-weight-sync.py -k CONSUMER_KEY -s CONSUMER_SECRET setup nokia
Follow the instructions on the screen and verify the application.
Register one or more destination services:
Garmin Connect: register your Garmin Connect credentials and sync your last measurement (provide GC password when asked):
./nokia-weight-sync.py -k user@example.com setup garmin
Smashrun (implicit flow, recommended): for user level authentication simply copy the access token (no registration, no refresh after expiry):
./nokia-weight-sync.py setup smashrun
Smashrun (code flow): register Smashrun API application keys and follow the authorization process to obtain your users refresh_token (registration required, refresh after expiry):
./nokia-weight-sync.py -k CLIENT_ID -s CLIENT_SECRET setup smashrun_code
Verify that the relevant sections for the services are added to config.ini
.
Synchronize (new) measurements:
./nokia-weight-sync.py sync garmin
./nokia-weight-sync.py sync smashrun
Important Nokia Health API, Smashrun API, and Garmin Connect credentials are stored in config.ini
. If this file is compromised your Garmin Connect account, personal health data from Nokia Health, and activity data from Smashrun are at risk.
See ./nokia-weight-sync.py --help
for more information.
nokia-weight-sync includes components the following open-source projects:
fit.py
from ikasamah/withings-garmin, MIT License (c) 2013 Masayuki Hamasaki, adapted for Python 3.garmin.py
from jaroslawhartman/withings-garmin-v2, MIT License (c) 2013 Masayuki Hamasaki, adapted for Python 3.nokia.py
from python-nokia, MIT License (c) 2012 Maxime Bouroumeau-Fuseau, 2017 ORCAS, unmodified.sessioncache.py
from cpfair/tapiriik, Apache License 2.0, unmodified.smashrun.py
from campbellr/smashrun-client, Apache License 2.0, several fixes.Please open an issue for support.
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.