网淘吧来吧,欢迎您!

Fitbit Analytics

2026-03-31 新闻来源:网淘吧 围观:14
电脑广告
手机广告

Fitbit 数据分析

快速开始

# Set Fitbit API credentials
export FITBIT_CLIENT_ID="your_client_id"
export FITBIT_CLIENT_SECRET="your_client_secret"
export FITBIT_ACCESS_TOKEN="your_access_token"
export FITBIT_REFRESH_TOKEN="your_refresh_token"

# Generate morning briefing with Active Zone Minutes
python scripts/fitbit_briefing.py

# Fetch daily steps
python scripts/fitbit_api.py steps --days 7

# Get heart rate data
python scripts/fitbit_api.py heartrate --days 7

# Sleep summary
python scripts/fitbit_api.py sleep --days 7

# Generate weekly health report
python scripts/fitbit_api.py report --type weekly

# Get activity summary
python scripts/fitbit_api.py summary --days 7

何时使用

在以下情况下使用此技能:

  • 获取 Fitbit 指标(步数、卡路里、心率、睡眠)
  • 分析随时间变化的活动趋势
  • 为不活动或异常心率设置提醒
  • 生成每日/每周健康报告

核心工作流程

1. 每日简报

# Generate morning health briefing (includes Active Zone Minutes)
python scripts/fitbit_briefing.py                    # Today's briefing
python scripts/fitbit_briefing.py --date 2026-01-20  # Specific date
python scripts/fitbit_briefing.py --format brief     # 3-line summary
python scripts/fitbit_briefing.py --format json      # JSON output

# Example output includes:
# - Yesterday's activities (logged exercises)
# - Yesterday's Active Zone Minutes (total, Fat Burn, Cardio, Peak)
# - Today's activity summary (steps, calories, floors, distance)
# - Heart rate (resting, average, zones)
# - Sleep (duration, efficiency, awake episodes)
# - Trends vs 7-day average

示例 JSON 输出:

Fitbit Analytics

{
  "date": "2026-01-21",
  "steps_today": 8543,
  "calories_today": 2340,
  "distance_today": 6.8,
  "floors_today": 12,
  "active_minutes": 47,
  "resting_hr": 58,
  "avg_hr": 72,
  "sleep_hours": 7.2,
  "sleep_efficiency": 89,
  "awake_minutes": 12,
  "yesterday_activities": [
    {"name": "Run", "duration": 35, "calories": 320}
  ],
  "yesterday_azm": {
    "activeZoneMinutes": 61,
    "fatBurnActiveZoneMinutes": 39,
    "cardioActiveZoneMinutes": 22
  }
}

注意:心脏负荷数据无法通过 Fitbit API 获取——它是 Fitbit Premium 功能,仅在移动应用中可见。

2. 数据获取(命令行界面)

# Available commands:
python scripts/fitbit_api.py steps --days 7
python scripts/fitbit_api.py calories --days 7
python scripts/fitbit_api.py heartrate --days 7
python scripts/fitbit_api.py sleep --days 7
python scripts/fitbit_api.py summary --days 7
python scripts/fitbit_api.py report --type weekly

3. 数据获取(Python API)

export PYTHONPATH="{baseDir}/scripts"
python - <<'PY'
from fitbit_api import FitbitClient

client = FitbitClient()  # Uses env vars for credentials

# Fetch data (requires start_date and end_date)
steps_data = client.get_steps(start_date="2026-01-01", end_date="2026-01-16")
hr_data = client.get_heartrate(start_date="2026-01-01", end_date="2026-01-16")
sleep_data = client.get_sleep(start_date="2026-01-01", end_date="2026-01-16")
activity_summary = client.get_activity_summary(start_date="2026-01-01", end_date="2026-01-16")
PY

4. 分析

export PYTHONPATH="{baseDir}/scripts"
python - <<'PY'
from fitbit_api import FitbitAnalyzer

analyzer = FitbitAnalyzer(steps_data, hr_data)
summary = analyzer.summary()
print(summary)  # Returns: avg_steps, avg_resting_hr, step_trend
PY

5. 提醒

python {baseDir}/scripts/alerts.py --days 7 --steps 8000 --sleep 7

脚本

  • scripts/fitbit_api.py- Fitbit Web API 封装、命令行界面和分析
  • scripts/fitbit_briefing.py- 晨间简报命令行界面(支持文本/简报/JSON格式输出)
  • 脚本/警报.py- 基于阈值的通知

可用的API方法

方法描述
获取步数(起始时间, 结束时间)每日步数统计
获取卡路里(起始时间, 结束时间)每日消耗卡路里
获取距离(起始时间, 结束时间)每日运动距离
获取活动摘要(起始时间, 结束时间)活动摘要
获取心率(起始时间, 结束时间)心率数据
获取睡眠(起始时间, 结束时间)睡眠数据
获取睡眠阶段(起始时间, 结束时间)详细睡眠阶段
获取血氧(起始时间, 结束时间)血氧水平
获取体重(起始时间, 结束时间)体重测量
get_active_zone_minutes(开始时间, 结束时间)活跃区间分钟数 (AZM) 细分

参考资料

  • references/api.md- Fitbit Web API 文档
  • references/metrics.md- 指标定义与解释

身份验证

Fitbit API 需要 OAuth 2.0 身份验证:

  1. 在此创建应用:https://dev.fitbit.com/apps
  2. 获取 client_id 和 client_secret
  3. 完成 OAuth 流程以获取 access_token 和 refresh_token
  4. 设置环境变量或传递给脚本

环境

必需:

  • FITBIT_CLIENT_ID
  • FITBIT_CLIENT_SECRET
  • FITBIT_ACCESS_TOKEN
  • FITBIT_REFRESH_TOKEN

自动化(定时任务)

Cron任务是在OpenClaw的网关中配置的,而不是在这个代码仓库中。请将这些设置添加到你的OpenClaw配置中:

每日晨间简报(上午8:00)

openclaw cron add \
  --name "Morning Fitbit Health Report" \
  --cron "0 8 * * *" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --wake next-heartbeat \
  --deliver \
  --channel telegram \
  --target "<YOUR_TELEGRAM_CHAT_ID>" \
  --message "python3 /path/to/your/scripts/fitbit_briefing.py --format text"

注意:替换/path/to/your/为你的实际路径,并替换<YOUR_TELEGRAM_CHAT_ID>为你的Telegram频道/群组ID。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Outlook-email 下一篇:Moltbook Curator

相关文章

您是本站第349313名访客 今日有175篇新文章/评论