Garmin Connect
/install garmin-connect
Garmin Connect Skill
Sync all your Garmin fitness data to Clawdbot:
- 🚶 Daily Activity: Steps, heart rate, calories, active minutes, distance
- 😴 Sleep: Duration, quality, deep/REM/light sleep breakdown
- 🏋️ Workouts: Recent activities with distance, duration, calories, heart rate
- ⏱️ Real-time sync: Every 5 minutes via cron
Quick Start
1. Install Dependencies
pip install -r requirements.txt
2. OAuth Authentication (One-time)
python3 scripts/garmin-auth.py [email protected] your-password
This saves your OAuth session to ~/.garth/session.json — fully local and secure.
3. Test Sync
python3 scripts/garmin-sync.py
You should see JSON output with today's stats.
4. Set Up 5-Minute Cron
Add to your crontab:
*/5 * * * * /home/user/garmin-connect-clawdbot/scripts/garmin-cron.sh
Or manually:
*/5 * * * * python3 /home/user/garmin-connect-clawdbot/scripts/garmin-sync.py ~/.clawdbot/.garmin-cache.json
5. Use in Clawdbot
Import and use in your scripts:
from scripts.garmin_formatter import format_all, get_as_dict
# Get all formatted data
print(format_all())
# Or get raw dict
data = get_as_dict()
print(f"Steps today: {data['summary']['steps']}")
Features
✅ OAuth-based (secure, no password storage) ✅ All metrics: activity, sleep, workouts ✅ Local caching (fast access) ✅ Cron-friendly (5-minute intervals) ✅ Easy Clawdbot integration ✅ Multi-user support
Data Captured
Daily Activity (summary)
steps: Daily step countheart_rate_resting: Resting heart rate (bpm)calories: Total calories burnedactive_minutes: Intensity minutesdistance_km: Distance traveled
Sleep (sleep)
duration_hours: Total sleep timeduration_minutes: Sleep in minutesquality_percent: Sleep quality score (0-100)deep_sleep_hours: Deep sleep durationrem_sleep_hours: REM sleep durationlight_sleep_hours: Light sleep durationawake_minutes: Time awake during sleep
Workouts (workouts)
For each recent workout:
type: Activity type (Running, Cycling, etc.)name: Activity namedistance_km: Distance traveledduration_minutes: Duration of activitycalories: Calories burnedheart_rate_avg: Average heart rateheart_rate_max: Max heart rate
Cache Location
By default, data is cached at: ~/.clawdbot/.garmin-cache.json
Customize with:
python3 scripts/garmin-sync.py /custom/path/cache.json
Files
| File | Purpose |
|---|---|
garmin-auth.py |
OAuth setup (run once) |
garmin-sync.py |
Main sync logic (run every 5 min) |
garmin-formatter.py |
Format data for display |
garmin-cron.sh |
Cron wrapper script |
requirements.txt |
Python dependencies |
Troubleshooting
OAuth authentication fails
- Check email/password
- Disable 2FA on Garmin account (or use app password)
- Garmin servers might be rate-limiting — wait 5 minutes
No data appears
- Sync your Garmin device with the Garmin Connect app
- Wait 2-3 minutes for data to sync
- Check that data appears in Garmin Connect web/app
- Then run
garmin-sync.pyagain
Permission denied on cron
chmod +x scripts/garmin-cron.sh
chmod +x scripts/garmin-sync.py
chmod +x scripts/garmin-auth.py
Cache file not found
Run garmin-sync.py at least once to create cache:
python3 scripts/garmin-sync.py
Usage Examples
from scripts.garmin_formatter import format_all, get_as_dict
# Get formatted output
print(format_all())
# Get raw data
data = get_as_dict()
if data:
print(f"Sleep: {data['sleep']['duration_hours']}h")
print(f"Steps: {data['summary']['steps']:,}")
License
MIT — Use, fork, modify freely.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install garmin-connect - 安装完成后,直接呼叫该 Skill 的名称或使用
/garmin-connect触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Garmin Connect 是什么?
Garmin Connect integration for Clawdbot: sync fitness data (steps, HR, calories, workouts, sleep) every 5 minutes using OAuth. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2343 次。
如何安装 Garmin Connect?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install garmin-connect」即可一键安装,无需额外配置。
Garmin Connect 是免费的吗?
是的,Garmin Connect 完全免费(开源免费),可自由下载、安装和使用。
Garmin Connect 支持哪些平台?
Garmin Connect 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Garmin Connect?
由 Rayleigh3105(@rayleigh3105)开发并维护,当前版本 v1.0.0。