Skip to content

Commit 7faf122

Browse files
committed
Update readme about Xiaomi scales
1 parent cc4d3ac commit 7faf122

File tree

2 files changed

+90
-21
lines changed

2 files changed

+90
-21
lines changed

README.md

Lines changed: 90 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

118157
Tested 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
393462
sync_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:
474543
Or 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

assets/scaleconnect.png

11.1 KB
Loading

0 commit comments

Comments
 (0)