Skip to content

Sync your Wyze Scale data to your Garmin connect

Notifications You must be signed in to change notification settings

ebressler/wyze_garmin_sync

 
 

Repository files navigation

Wyze Connect Sync


Stars Version Commits Since Latest Release Latest Release Date Open Issues Closed Issues

PayPal Buymeacoffee


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

Authentication

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

Install through docker compose

Docker Docker Docker Docker

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

Legacy install

Requirements

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.

Installation

Installation of Wyze SDK

$ pip install wyze_sdk

Installation of Garmin-uploader

$ pip install garmin-uploader

Installation of the script shell

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/

Run the 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

Setup with Cron

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

"Buy Me A Coffee"

About

Sync your Wyze Scale data to your Garmin connect

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.1%
  • Shell 11.5%
  • Dockerfile 2.4%