← 返回
数据分析 Key 中文

Concept2-logbook

Fetch and analyze Concept2 Logbook workout data via API with pulse zone analysis and trend tracking. Use when the user wants to retrieve rowing/skiing/biking...
通过API获取并分析Concept2 Logbook训练数据,支持心率区间分析与趋势追踪。适用于检索划船、滑雪、骑行等运动数据。
katla50
数据分析 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 500
下载
💾 9
安装
1
版本
#latest

概述

Concept2 Logbook API Skill

Fetch and analyze workout data from Concept2 Logbook with advanced pulse zone and trend analysis.

Quick Start

Use the provided script to fetch workouts:

python3 scripts/fetch_workouts.py --token <API_TOKEN> --from-date 2026-03-01 --format table

API Authentication

Requires a Concept2 API access token. Get one from:

https://log.concept2.com/developers/keys

Token must be passed with Authorization: Bearer header.

Main Endpoints

EndpointDescription
-----------------------
GET /api/users/meGet authenticated user info
GET /api/users/me/resultsGet workouts (paginated)
GET /api/users/me/results/{id}Get specific workout
GET /api/users/me/results/{id}/strokesGet stroke-level data

Query Parameters for Results

ParamTypeDescription
--------------------------
fromdateStart date (YYYY-MM-DD)
todateEnd date (YYYY-MM-DD)
typestringWorkout type: rower, skierg, bike, etc.
per_pageintegerResults per page (max 250)

Workout Types

TypeDescription
-------------------
JustRowFree rowing
FixedDistanceSplitsFixed distance with splits
FixedTimeSplitsFixed time with splits
FixedCalorieFixed calorie target
FixedWattMinuteFixed watt-minute target
FixedTimeIntervalTime-based intervals
FixedDistanceIntervalDistance-based intervals
FixedCalorieIntervalCalorie intervals
FixedWattMinuteIntervalWatt-minute intervals
VariableIntervalVariable intervals
VariableIntervalUndefinedRestVariable with undefined rest

Equipment Types

TypeDescription
-------------------
rowerRowErg
skiergSkiErg
bikeBikeErg
dynamicDynamic RowErg
slidesRowErg with slides
paddlePaddleErg
waterWaterRower
snowSnow (Nordic skiing)
rollerskiRoller skiing
multiergMultiErg

Script Usage

Basic Usage - Summary with Pulse Zones

# Auto-detect max HR from birthdate in profile
python3 scripts/fetch_workouts.py --token <TOKEN> --from-date 2026-03-01

# Specify max HR manually
python3 scripts/fetch_workouts.py --token <TOKEN> --max-hr 165 --from-date 2026-02-01

# Estimate max HR from age
python3 scripts/fetch_workouts.py --token <TOKEN> --age 59 --from-date 2026-02-01

Trend Analysis (8 weeks)

python3 scripts/fetch_workouts.py --token <TOKEN> --trends 8 --from-date 2026-01-01

Other Formats

# Simple table
python3 scripts/fetch_workouts.py --token <TOKEN> --format table

# JSON export
python3 scripts/fetch_workouts.py --token <TOKEN> --format json > workouts.json

# Filter by equipment type
python3 scripts/fetch_workouts.py --token <TOKEN> --type skierg

Pulse Zone Analysis (5-Zone Model)

Zones based on percentage of maximum HR:

ZoneNameRangePurpose
----------------------------
🟢 1Restitusjon0-60%Recovery, warmup
🔵 2Aerob kapasitet60-70%Base building
🟡 3Aerob effekt70-80%Tempo training
🟠 4Anaerob terskel80-90%Threshold/intervals
🔴 5Maks kapasitet90-100%VO2max/sprints

Max HR Calculation

  • Manual: --max-hr 165
  • From age: --age 59 (uses Tanaka formula: 208 - 0.7×age)
  • From profile: reads birthdate from user data

Trend Analysis

Weekly aggregation of:

  • Total distance
  • Total time
  • Number of workouts
  • Average pace
  • Improvement rate (pace change %)

Workout Quality Metrics

Pace Consistency

  • Calculated from split data if available
  • Standard deviation / average pace
  • Rating: 🟢 Jevn | 🟡 OK | 🔴 Ujevn

Stroke Rate (SPM) Assessment

  • 🟢 18-22: Efficient, strong drive
  • 🔵 <18: Fast recovery phase
  • 🟡 24-28: Tempo pace
  • 🟠 >30: High rate, check technique

Training Recommendations

The script provides personalized tips:

  • Training frequency assessment
  • High intensity balance (20% rule for zones 4-5)
  • Long workout suggestions
  • Interval training reminders

Common Calculations

Calculate Pace

pace_tenths = (time_tenths / distance_m) * 500

Format Time

total_seconds = time_tenths / 10
minutes = int(total_seconds // 60)
seconds = total_seconds % 60
formatted = f"{minutes}:{seconds:04.1f}"

Distance Format

  • Stored in meters
  • 5000 = 5km

Stroke Data

  • Distance in decimeters (incremental)
  • Time in tenths of seconds (incremental)
  • Pace in tenths of sec per 500m (rower) or 1000m (bike)

Error Codes

CodeMeaningResolution
---------------------------
200OKSuccess
201CreatedResource created successfully
400Bad RequestCheck request format
401UnauthorizedInvalid or expired token
403ForbiddenUser hasn't authorized app
404Not FoundResource doesn't exist
409ConflictDuplicate entry
422UnprocessableValidation error
500Server ErrorTry again later
503Service UnavailableAPI temporarily down

Pagination

Paginated responses include a meta.pagination object:

{
  "meta": {
    "pagination": {
      "total": 150,
      "count": 50,
      "per_page": 50,
      "current_page": 1,
      "total_pages": 3,
      "links": {
        "next": "https://log.concept2.com/api/users/me/results?page=2"
      }
    }
  }
}

Default per_page is 50, maximum is 250.

See Also

  • Full API docs: https://log.concept2.com/developers/documentation/
  • API keys: https://log.concept2.com/developers/keys
  • Online validator: https://log.concept2.com/developers/validator

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 00:13 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 164 📥 59,799
data-analysis

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 270 📥 56,914
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 198 📥 64,965