lswiderski / mi-scale-exporter

Mobile App to export data from Mi Body Composition Scale and upload it to Garmin Connect Cloud
Apache License 2.0
128 stars 11 forks source link
android csharp garmin garmin-api garmin-connect maui maui-app miscale xamarin xamarin-forms xiaomi xiaomi-scale xiaomi-smart-home

mi-scale-exporter

Mobile App to export data from Mi Body Composition Scale (works with Mi Scale too) and upload it to Garmin Connect Cloud. It also allows you to upload manually entered body composition data to the Garmin cloud.

Tested on Oneplus 5T (Android 10) and Mi Body Composition Scale (XMTZC02HM)

Download

Google Play MiScale Exporter

iOS/iPadOS version

Check out this web project: https://github.com/lswiderski/WebBodyComposition

Instruction

Diagram of the flow with Web Proxy

sequenceDiagram
    participant Mobile App
    participant Mi Body Composition Scale
    participant API Endpoint Proxy
    participant Garmin Cloud
    Mobile App->>Mi Body Composition Scale: Connect and get data
    Mi Body Composition Scale-->>Mobile App: Weight and Impedance data
    loop
        Mobile App->>Mobile App: Calculate Body Composition
    end
    Mobile App->>API Endpoint Proxy: Body Composition data
    API Endpoint Proxy->>Garmin Cloud: Body Composition data
    Garmin Cloud-->>API Endpoint Proxy: Result
    API Endpoint Proxy-->>Mobile App: Result

API Endpoint used in the app (source)

https://frog01-20364.wykr.es

Diagram of the flow with direct send to Garmin Cloud

sequenceDiagram
    participant Mobile App
    participant Mi Body Composition Scale
    participant Garmin Cloud
    Mobile App->>Mi Body Composition Scale: Connect and get data
    Mi Body Composition Scale-->>Mobile App: Weight and Impedance data
    loop
        Mobile App->>Mobile App: Calculate Body Composition
    end
    Mobile App->>Garmin Cloud: Body Composition data
    Garmin Cloud-->>Mobile App: Result

Stack

Images

xiaomi settings

required user data

settings

measure

calculated body composition

garmin result

Inspiration

If you like my work, you can buy me a coffee

Buy Me A Coffee