尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

withings-sync作为数据源:导出Withings原始测量值JSON,无缝接入Home Assistant

withings-sync作为数据源:导出Withings原始测量值JSON,无缝接入Home Assistant withings-sync作为数据源导出Withings原始测量值JSON无缝接入Home Assistant【免费下载链接】withings-syncSynchronisation of Withings weight项目地址: https://gitcode.com/gh_mirrors/wi/withings-syncwithings-sync是一个开源的 Withings 数据同步工具它不仅能将 WithingsNokia Health Body体脂秤的体重数据同步到 Garmin Connect 和 TrainerRoad还能直接导出原始测量值 JSON 文件——这正是你把它当作Home Assistant 数据源的关键。读完本文你会掌握从安装、授权到定期导出 JSON 并接入 Home Assistant 的完整流程。withings-sync 是什么withings-sync 通过 Withings 官方 APIOAuth2拉取你所有的测量记录然后按你的需求分发到不同目的地同步目标说明对应源码Garmin Connect上传 FIT 文件体重、血压withings_sync/garmin.pyTrainerRoad更新骑行平台体重withings_sync/trainerroad.py原始 JSON 输出导出测量值文件可接入任意系统如 Home Assistantwithings_sync/sync.py核心逻辑集中在 withings_sync/sync.py对 Withings API 的封装认证、拉取测量值、解析身高/体重/体脂等位于 withings_sync/withings2.py。withings-sync 安装步骤pip 或 Docker 任选方式一pip 安装需要 Python 3.11依赖声明见 pyproject.tomlpip install withings-sync方式二Docker 部署官方提供了基于 Alpine supercronic容器内置定时调度的镜像构建方式参考 DockerfileDocker Compose 完整配置示例见 README.md 的 1.2 / 1.3 节。Kubernetes 用户可直接使用现成清单contrib/k8s-bootstrap.yaml首次授权 Pod和 contrib/k8s-job.yaml定时任务。获取Withings授权一次性绑定账号首次运行需要完成一次 OAuth2 授权一次性操作之后自动复用会话withings-sync终端会打印一个 Withings 授权链接用浏览器打开登录后页面会显示一个 Token30 秒内复制回终端粘贴授权成功后会话文件写入~/.withings_user.json后续运行自动刷新 Access Token。 Docker 环境建议用--config-folder /config把会话文件统一存到挂载目录方便备份与迁移。导出Withings原始测量值JSON这是接入 Home Assistant 的核心命令——把指定日期区间的测量值写成本地 JSON 文件并用--no-upload跳过 Garmin/TrainerRoad 上传--to-json与--no-upload参数定义见 withings_sync/sync.pywithings-sync --to-json --output weight --no-upload -f 2025-01-01 -t 2025-01-31生成的weight.json以测量时间戳为键组织数据每条记录包含体重、体脂率、肌肉量、水分、BMIkg/m²等字段并带有数值和单位JSON 生成逻辑见 withings_sync/sync.py。进阶导出 API 原始响应如果要做深度定制可加--dump-raw参数把 Withings API 的原始 JSON 完整落盘默认文件名带日期区间也可配合--output指定为BASENAME.withings_raw.json方便你映射任意传感器字段参数说明见 withings_sync/sync.py。无缝接入Home Assistant 的配置思路withings-sync 本身不内置 Home Assistant 集成但定时生成 JSON HA 读取文件的组合非常稳定推荐三步走定时生成 JSON在你的服务器/HA 宿主机上用 cron 定期执行上面的导出命令建议每天 8~10 次避免过于频繁触发授权刷新让 HA 能读到文件把 JSON 输出到 Home Assistant 可访问的路径如挂载目录或 HAOS 共享目录在 Home Assistant 中创建传感器用命令行传感器command_line sensor读取 JSON 并解析出体重、体脂等数值即可在看板中展示趋势曲线。# 示意Home Assistant 读取 withings-sync 导出的体重 JSON sensor: - platform: command_line name: Withings 体重 command: cat /config/withings/weight.json value_template: {{ value_json | first }} 若你的秤还测血压加--features BLOOD_PRESSURE参数即可把收缩压/舒张压/心率一并纳入同步范围同样可用于构建 HA 血压传感器。定时运行让数据自动保鲜pip 安装交给系统 cron如0 */3 * * * withings-sync --to-json --output weight --no-uploadDocker supercronic容器内置调度器无需宿主 cron示例见 README.md 1.3 节的entrypoint.shKubernetes直接kubectl apply现成的 CronJob 清单 contrib/k8s-job.yaml。使用技巧与常见问题场景建议登录频繁报错保持每天 8~10 次左右的同步频率即可会话文件管理用--config-folder 路径统一管理 Withings/Garmin 会话高级用户自定义 Withings 应用配置 withings_sync/config/withings_app.json默认已内置应用凭据一般无需修改调试输出--verbose查看 DEBUG 日志--silent静默运行 小结withings-sync 让 Withings 数据从封闭在 App 里变成一份可随时导出的 JSON 数据资产——同步 Garmin、喂给 Home Assistant甚至接入你自己的脚本一个工具全部搞定。【免费下载链接】withings-syncSynchronisation of Withings weight项目地址: https://gitcode.com/gh_mirrors/wi/withings-sync创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表