@@ -4,7 +4,7 @@ Application for synchronizing smart scale data between different ecosystems.
44
55** Features:**
66
7- - Load data from [ Garmin] , [ Home Assistant] , [ Mi Fitness] , [ My TANITA] , [ Picooc] , [ Zepp Life] , [ CSV] , [ JSON]
7+ - Load data from [ Garmin] , [ Home Assistant] , [ Mi Fitness] , [ My TANITA] , [ Picooc] , [ Xiaomi Home ] , [ Zepp Life] , [ CSV] , [ JSON]
88- Save data to [ Garmin] , [ Home Assistant] , [ Zepp Life] , [ CSV] , [ JSON]
99- Support params: ` Weight ` , ` BMI ` , ` Body Fat ` , ` Body Water ` , ` Bone Mass ` , ` Metabolic Age ` , ` Muscle Mass ` , ` Physique Rating ` , ` ProteinMass ` , ` Visceral Fat ` , ` Basal Metabolism ` , ` Heart Rate ` , ` Skeletal Muscle Mass `
1010- Support multiple users data
@@ -16,6 +16,7 @@ Application for synchronizing smart scale data between different ecosystems.
1616[ Mi Fitness ] : https://play.google.com/store/apps/details?id=com.xiaomi.wearable
1717[ My TANITA ] : https://mytanita.eu/
1818[ Picooc ] : https://play.google.com/store/apps/details?id=com.picooc.international
19+ [ Xiaomi Home ] : https://play.google.com/store/apps/details?id=com.xiaomi.smarthome
1920[ Zepp Life ] : https://play.google.com/store/apps/details?id=com.xiaomi.hm.health
2021[ CSV ] : https://en.wikipedia.org/wiki/Comma-separated_values
2122[ JSON ] : https://en.wikipedia.org/wiki/JSON
@@ -31,7 +32,9 @@ Application for synchronizing smart scale data between different ecosystems.
3132 * [ Configuration] ( #configuration )
3233 * [ To: Garmin] ( #to-garmin )
3334 * [ From: Garmin] ( #from-garmin )
34- * [ From: Xiaomi Mi Fitness] ( #from-xiaomi-mi-fitness )
35+ * [ From: Xiaomi] ( #from-xiaomi )
36+ * [ From: Mi Fitness] ( #from-mi-fitness )
37+ * [ From: Xiaomi Home] ( #from-xiaomi-home )
3538 * [ From: Zepp Life] ( #from-zepp-life )
3639 * [ To: Zepp Life] ( #to-zepp-life )
3740 * [ From: My TANINA] ( #from-my-tanina )
@@ -76,8 +79,8 @@ sync_alex_zepp:
7679 expr :
7780 Weight : ' BodyFat == 0 || Date >= date("2024-11-25") ? 0 : Weight'
7881
79- sync_alex_xiaomi :
80- from :
xiaomi [email protected] xiaomi-password 82+ sync_alex_mifitness :
83+ from :
mifitness [email protected] xiaomi-password 8184 to :
garmin [email protected] garmin-password 8285 expr :
8386 Weight : ' BodyFat == 0 ? 0 : Weight'
@@ -113,19 +116,55 @@ sync_garmin:
113116 to : csv alex_garmin.csv
114117` ` `
115118
116- ### From: Xiaomi Mi Fitness
119+ ### From: Xiaomi
120+
121+ Xiaomi scales, depending on the model, are supported in different applications - [Mi Fitness], [Xiaomi Home], [Zepp Life].
122+
123+ **Mi Body Composition Scale 2** (` XMTZC05HM`)
124+
125+ - Supported in the **Zepp Life** app
126+ -
Get user data :
` from: zepp/xiaomi [email protected] xiaomi-password` 127+ -
Get other user data :
` from: zepp/xiaomi [email protected] xiaomi-password Yulia` 128+
129+ **Mi Body Composition Scale S400 CN** (`MJTZC01YM`, `yunmai.scales.ms103`)
130+
131+ - **China version**
132+ - Supported in the **Mi Fitness** app in China region
133+ -
Get user data :
` from: mifitness [email protected] xiaomi-password` 134+ -
Get scale data :
` from: mifitness [email protected] xiaomi-password yunmai.scales.ms103` 135+ - Supported in the **Mi Fitness** app in Euro region (ONLY via [Vevs mod](https://rumihome.ru/prilozheniya/mihome-vevs))
136+ -
Get user data :
` from: mifitness [email protected] ru` 137+ -
Get scale data :
` from: mifitness [email protected] xiaomi-password yunmai.scales.ms103` 138+ - Supported in the **Xiaomi Home** app
139+ -
Get scale data :
` from: xiaomihome [email protected] xiaomi-password cn yunmai.scales.ms103` 140+
141+ **Mi Body Composition Scale S400 EU** (`MJTZC01YM`, `yunmai.scales.ms104`)
142+
143+ - **Euro version**
144+ - Not supported in the **Mi Fitness** app
145+ - Supported in the **Xiaomi Home** app in Euro region
146+ -
Get scale data :
` from: xiaomihome [email protected] xiaomi-password ru yunmai.scales.ms104` 147+
148+ **Xiaomi 8-Electrode Body Composition Scale CN** (`XMTZC01YM`, `yunmai.scales.ms3001`)
149+
150+ - **China version**
151+ - Supported in the **Mi Fitness** app
152+ -
Get user data :
` from: mifitness [email protected] xiaomi-password` 153+ - Not supported in the **Xiaomi Home** app
154+
155+ # ## From: Mi Fitness
117156
118157Tested on scales :
119158
120- - Mi Body Composition Scale S400 ( MJTZC01YM) - getting other users data is supported.
121- - Xiaomi 8-Electrode Body Composition Scale ( XMTZC01YM) - getting other users data is not supported yet.
159+ - ** Mi Body Composition Scale S400 CN** (` MJTZC01YM`, `yunmai.scales.ms103` ) - getting other users data is supported.
160+ - ** Xiaomi 8-Electrode Body Composition Scale CN** (` XMTZC01YM`, `yunmai.scales.ms3001` ) - getting other users data is not supported yet.
122161
123162**Example.** Get data from all scales of the main user (China region):
124163
125164` ` ` yaml
126- sync_xiaomi :
127- from : xiaomi {username} {password}
128- to : csv alex_xiaomi .csv
165+ sync_mifitness :
166+ from: mifitness {username} {password}
167+ to: csv alex_mifitness .csv
129168` ` `
130169
131170**Example.** Get data from all scales of the main user (other region):
@@ -137,17 +176,17 @@ sync_xiaomi:
137176- ` us` (United States)
138177
139178` ` ` yaml
140- sync_xiaomi :
141- from: xiaomi {username} {password} {region}
142- to: csv alex_xiaomi_region .csv
179+ sync_mifitness :
180+ from: mifitness {username} {password} {region}
181+ to: csv alex_mifitness_region .csv
143182` ` `
144183
145184**Example.** Get the data of all users from specific scales:
146185
147186` ` ` yaml
148- sync_xiaomi :
149- from: xiaomi {username} {password} {scales model}
150- to: csv all_users_xiaomi .csv
187+ sync_mifitness :
188+ from: mifitness {username} {password} {scales model}
189+ to: csv all_users_mifitness .csv
151190` ` `
152191
153192- You can check scales model name from Mi Fitness app > Device > Scale > About device > Device model.
@@ -156,9 +195,39 @@ sync_xiaomi:
156195**Example:**
157196
158197` ` ` yaml
159- sync_yulia_xiaomi:
160- from: xiaomi [email protected] xiaomi-password yunmai.scales.ms103 161- to: csv yulia_xiaomi.csv
198+ sync_yulia_mifitness:
199+ from: mifitness [email protected] xiaomi-password yunmai.scales.ms103 200+ to: csv yulia_mifitness.csv
201+ expr:
202+ Weight: 'User == "Yulia" ? Weight : 0'
203+ ` ` `
204+
205+ # ## From: Xiaomi Home
206+
207+ Tested on scales :
208+
209+ - **Mi Body Composition Scale S400 EU** (`MJTZC01YM`, `yunmai.scales.ms104`) - getting other users data is supported.
210+
211+ **Example.** Get the data of all users from specific scales and region:
212+
213+ - ` de` (Europe)
214+ - ` i2` (India)
215+ - ` ru` (Russia)
216+ - ` sg` (Singapore)
217+ - ` us` (United States)
218+
219+ ` ` ` yaml
220+ sync_xiaomihome:
221+ from: xiaomihome {username} {password} {region} {scales model}
222+ to: csv all_users_xiaomihome.csv
223+ ` ` `
224+
225+ **Example:**
226+
227+ ` ` ` yaml
228+ sync_yulia_xiaomihome:
229+ from: xiaomihome [email protected] xiaomi-password ru yunmai.scales.ms104 230+ to: csv yulia_xiaomihome.csv
162231 expr:
163232 Weight: 'User == "Yulia" ? Weight : 0'
164233` ` `
@@ -391,7 +460,7 @@ Add to `scaleconnect.yaml`:
391460
392461` ` ` yaml
393462sync_hass:
394- from: xiaomi [email protected] xiaomi-password 463+ from: mifitness [email protected] xiaomi-password 395464 to: json/latest http://192.168.1.123:8123/api/webhook/594b7e73-1f0f-4c3c-aded-eeaee78a6790
396465` ` `
397466
@@ -474,7 +543,7 @@ sync_alex_zepp:
474543Or I bought a new **Xiaomi 8-Electrode Scale** in addition to the old one **Xiaomi S400**. Now the S400 shows a completely wrong fat percentage. But I want to leave the weights from ols scales because they have **skeletal muscle mass** data, and the new scales don't have this param. Also, I want to ignore weighing without fat information.
475544
476545` ` ` yaml
477- sync_alex_xiaomi :
546+ sync_alex_mifitness :
478547 expr:
479548 Weight: 'BodyFat == 0 ? 0 : Weight' # ignore weighing without fat information
480549 BodyFat: 'Date >= date("2025-04-01") && Source == "blt.3.1abcdefabcd00" ? 0 : BodyFat' # zero body fat from old scales
0 commit comments