首页
/ 深入解析craibo/ha_strava:将Strava运动数据接入Home Assistant

深入解析craibo/ha_strava:将Strava运动数据接入Home Assistant

2025-07-01 12:53:12作者:滑思眉Philip

项目概述

craibo/ha_strava是一个非官方的Home Assistant集成组件,它能够将Strava运动平台的活动数据无缝接入智能家居系统。通过这个集成,用户可以在Home Assistant中直接查看和管理自己的运动数据,为智能家居自动化提供更多可能性。

核心功能

1. 活动数据集成

  • 支持获取最多10条最近的Strava活动记录
  • 自动同步Run(跑步)、Ride(骑行)和Swim(游泳)三类运动的统计数据
    • 最近4周数据
    • 年度累计数据(YTD)
    • 历史总数据(All-Time)

2. 多媒体支持

  • 内置相机实体功能,可将Strava活动照片以轮播形式展示
  • 支持展示活动路线图和相关图片

3. 单位系统兼容

  • 同时支持公制(metric)和英制(imperial)单位系统
  • 可自动匹配Home Assistant的默认单位设置

4. 实时数据更新

  • 当Strava上的活动数据发生变化时,Home Assistant中的对应数据会自动更新
  • 无需手动刷新,保持数据一致性

技术实现细节

传感器实体架构

每个Strava活动在Home Assistant中都会创建一个虚拟设备实体(最多10个),每个设备实体下包含13个传感器子实体,完整覆盖运动数据的各个方面:

  1. 基本信息类传感器

    • 运动类型(Sport type)
    • 活动日期与标题(Date & Title)
    • 地理位置(Location)
    • 起始坐标(Start geo co-ordinates)
    • 活动链接(Link to Strava activity)
    • 通勤标记(Commute)
    • 隐私标记(Private)
  2. 运动数据类传感器

    • 总耗时(Elapsed Time)
    • 运动时间(Moving Time)
    • 配速(Pace)
    • 速度(Speed)
    • 距离(Distance)
    • 平均心率(Heart Rate Average)
    • 最大心率(Heart Rate Max)
    • 卡路里(Calories)
    • 平均步频(Cadence Average)
    • 海拔提升(Elevation Gain)
    • 功率(Power)
  3. 社交互动类传感器

    • 点赞数(Kudos)
    • 成就数(Trophies)

安装指南

前置条件

  1. 远程访问配置

    • Home Assistant实例必须配置外部访问URL
    • 使用Nabu Casa服务的用户可直接使用提供的云URL
  2. Strava API申请

    • 访问Strava设置中的API应用页面
    • 创建应用并获取Client-ID和Client-Secret
    • 关键设置:授权回调域必须设为my.home-assistant.io

安装步骤

  1. 通过HACS添加自定义集成仓库
  2. 下载并安装ha_strava集成
  3. 重启Home Assistant服务
  4. 在集成页面添加Strava集成
  5. 输入API凭证完成授权

配置与自定义

1. 活动数量调整

  • 默认显示最近2条活动
  • 可在集成配置中调整(1-10条)
  • 修改后需要等待数据同步完成

2. 单位系统设置

提供三种距离单位配置选项:

  • Default:跟随Home Assistant全局设置
  • Metric:使用公里/米(km/m)
  • Imperial:使用英里/英尺(mi/ft)

注意:修改单位系统后需要重启Home Assistant才能完全生效。

3. 地理位置服务增强

  • 集成默认使用geocode.xyz服务解析活动位置
  • 频繁出现"Unknown Area"时建议申请免费API key
  • 在集成配置中输入API key可减少服务限制

应用场景建议

1. 自动化触发

  • 当完成特定类型运动时触发家庭场景
  • 根据运动数据调整智能设备状态(如运动后自动调节空调)

2. 数据可视化

  • 在仪表盘展示运动统计数据图表
  • 创建运动成就通知面板

3. 健康管理

  • 将运动数据与其他健康设备数据关联分析
  • 设置运动目标达成提醒

注意事项

  1. 由于API限制,部分统计数据在修改单位系统后可能需要重新积累
  2. 地理位置解析服务有频率限制,建议使用自己的API key
  3. 活动照片显示依赖Strava中的媒体数据
  4. 心率等部分数据需要运动设备支持并正确同步到Strava

项目背景

该项目最初由codingcyclist开发,后经madmic1314维护,现在由craibo主导开发。社区开发者共同贡献了多项功能改进,使其成为Home Assistant生态中最完善的Strava集成解决方案之一。

通过craibo/ha_strava集成,运动爱好者可以轻松将Strava数据融入智能家居系统,创造更加个性化和健康导向的居家体验。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
595
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K