esturim.com
← Back to work

Eufy Sync

An open-source tool that sends Eufy scale measurements to Garmin Connect and Strava.

I was manually entering my weight into several training apps. I couldn't find a working tool on GitHub to handle those updates, so I started Eufy Sync.

I had fun working on it and kept adding the features I wanted. Other people found it helpful too, and I continue to develop and maintain it.

An account can belong to a household

An early version fetched all the measurements from a Eufy account together. On a shared account, that could send someone else's weight to the connected training app.

I added profile selection to setup. If the account has several profiles and none has been chosen, the sync stops and explains how to choose one. It adds a step before the first sync, so automatic updates don't depend on guessing whose data to send.

When no profile is selected, the check includes older measurements too. Someone who hasn't used the scale recently still needs to count as another person on the account.

When one connection fails

I separated delivery records by destination. If Garmin fails, Strava can still receive its update, and a later run can retry Garmin.

Eufy Sync today

The released tool runs through the terminal on macOS, Windows, and Linux. Garmin receives body-composition measurements; Strava receives current weight. Zwift weight sync is also available as an experimental, opt-in feature.