Sync the Wyze scale with Garmin connect
The python script collect the data from your Wyze account and create the .fit file to be uploaded to Garmin. The script shell allows you to leverage Garmin-uploader, and Wyze_SDK to automatically upload the last measurement you took on your Wyze smart scale to Garmin Connect.
The solution has been updated to support 2FA and now auto-discover the scale. Additionally in order to improve portability and have a more plug and play solution you can now enjoy a docker version
Login/Pass/TOTP is not working anymore Wyze requires an API key and id to log in Visit the Wyze developer API portal to generate an API ID/KEY: https://developer-api-console.wyze.com/#/apikey/view
Docker image is now available for amd64, arm64 and arm.
Download the docker-compose.yml and add your credentials:
version: "3.9"
services:
wyzegarminconnect:
image: svanhoutte/wyzegarminconnect:latest
restart: unless-stopped
network_mode: "host"
environment:
WYZE_EMAIL: "wyze username"
WYZE_PASSWORD: "wyze password"
WYZE_KEY_ID: "ID"
WYZE_API_KEY: "KEY"
Garmin_username: "garmin username"
Garmin_password: "garmin password"
volumes:
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
The volumes are mounted to sync logs in the containers and the host.
Then do the docker compose up
This requires Python 3.8 and above. If you're unsure how to check what version of Python you're on, you can check it using the following:
Note: You may need to use
python3
before your commands to ensure you use the correct Python path. e.g.python3 --version
python --version
-- or --
python3 --version
You ll need also a linux environment most of the recent distribution should work.
$ pip install wyze_sdk
$ pip install garmin-uploader
First clone the repository
git clone https://github.com/svanhoutte/wyze_garmin_sync.git
Edit the script shell connect_sync.legacy.sh to enter your credentials.
WYZE_EMAIL=
WYZE_PASSWORD=
WYZE_TOTP=
WYZE_KEY_ID=
WYZE_API_KEY=
Garmin_username=
Garmin_password=
cd ~/path_to_your_script/
In your working directory run connect_sync.legacy.sh and if all goes well you should be able to see your data in garmin connect
Will run the script every 10 min to get if a new measurment has been made on the scale.
*/10 * * * * path_to_script/connect_sync.legacy.sh 2>&1 | /usr/bin/logger -t garminsync