Entities¶
The following entities are extracted
Wellness¶
The wellness entity contains the following data:
fields = [
"id",
"ctl",
"atl",
"rampRate",
"ctlLoad",
"atlLoad",
"sportInfo",
"updated",
"weight",
"restingHR",
"hrv",
"hrvSDNN",
"menstrualPhase",
"menstrualPhasePredicted",
"kcalConsumed",
"sleepSecs",
"sleepScore",
"sleepQuality",
"avgSleepingHR",
"soreness",
"fatigue",
"stress",
"mood",
"motivation",
"injury",
"spO2",
"systolic",
"diastolic",
"hydration",
"hydrationVolume",
"readiness",
"baevskySI",
"bloodGlucose",
"lactate",
"bodyFat",
"abdomen",
"vo2max",
"comments",
]
Special fields¶
There are some special fields that contains a complex data, like sportInfo. This field is not extracted yet, because needs an extra process to save it into InfluxDB.
InfluxDB data¶
The information is stored with the following format:
- measurement: "wellness"
- tags:
- "day": "id"
- fields: every field defined above
- time: "id" (in timestamp)
Activity¶
The Acvivity entity contains the following information:
fields = [
"id",
"start_date_local",
"type",
"icu_ignore_time",
"icu_pm_cp",
"icu_pm_w_prime",
"icu_pm_p_max",
"icu_pm_ftp",
"icu_pm_ftp_secs",
"icu_pm_ftp_watts",
"icu_ignore_power",
"icu_rolling_cp",
"icu_rolling_w_prime",
"icu_rolling_p_max",
"icu_rolling_ftp",
"icu_rolling_ftp_delta",
"icu_training_load",
"icu_atl",
"icu_ctl",
"paired_event_id",
"name",
"description",
"start_date",
"distance",
"icu_distance",
"moving_time",
"elapsed_time",
"coasting_time",
"total_elevation_gain",
"timezone",
"trainer",
"commute",
"max_speed",
"average_speed",
"device_watts",
"has_heartrate",
"max_heartrate",
"average_heartrate",
"average_cadence",
"calories",
"average_temp",
"min_temp",
"max_temp",
"avg_lr_balance",
"gap",
"gap_model",
"use_elevation_correction",
"race",
"gear",
"perceived_exertion",
"device_name",
"power_meter",
"power_meter_serial",
"power_meter_battery",
"crank_length",
"external_id",
"file_sport_index",
"file_type",
"icu_athlete_id",
"created",
"icu_sync_date",
"analyzed",
"icu_ftp",
"icu_w_prime",
"threshold_pace",
"icu_hr_zones",
"pace_zones",
"lthr",
"icu_resting_hr",
"icu_weight",
"icu_power_zones",
"icu_sweet_spot_min",
"icu_sweet_spot_max",
"icu_power_spike_threshold",
"trimp",
"icu_warmup_time",
"icu_cooldown_time",
"icu_chat_id",
"icu_ignore_hr",
"ignore_velocity",
"ignore_pace",
"icu_weighted_avg_watts",
"icu_training_load_data",
"interval_summary",
"stream_types",
"has_segments",
"power_field_names",
"power_field",
"icu_zone_times",
"icu_hr_zone_times",
"pace_zone_times",
"gap_zone_times",
"use_gap_zone_times",
"tiz_order",
"icu_achievements",
"icu_intervals_edited",
"lock_intervals",
"icu_lap_count",
"icu_joules",
"icu_joules_above_ftp",
"icu_max_wbal_depletion",
"icu_recording_time",
"icu_hrr",
"icu_sync_error",
"icu_color",
"icu_power_hr_z2",
"icu_power_hr_z2_mins",
"icu_cadence_z2",
"icu_rpe",
"feel",
"kg_lifted",
"decoupling",
"icu_median_time_delta",
"p30s_exponent",
"workout_shift_secs",
"strava_id",
"lengths",
"pool_length",
"compliance",
"source",
"oauth_client_id",
"oauth_client_name",
"power_load",
"hr_load",
"pace_load",
"hr_load_type",
"pace_load_type",
"tags",
"recording_stops",
"pace",
"athlete_max_hr",
"group",
"icu_average_watts",
"icu_intensity",
"icu_variability_index",
"icu_efficiency_factor",
"icu_power_hr",
"session_rpe",
"average_stride",
]
Special fields¶
Like Wellness, some special fields can not be exported yet. The next "special fields" are extracted, with their created field in InfluxDB:
"icu_hr_zones" => "icu_hr_zones_0","icu_hr_zones_1",...
"pace_zones" => "pace_zones_0","pace_zones_1"
"icu_power_zones" => "icu_power_zones_0","icu_power_zones_1",...
"icu_zone_times" => "icu_zone_times_z1","icu_zone_times_z2",...
"icu_hr_zone_times" => "icu_hr_zone_times_0","icu_hr_zone_times_1",...
"pace_zone_times" => "pace_zone_times_0","pace_zone_times_1",...
"gap_zone_times" => "gap_zone_times_0","gap_zone_times_1",...
The next "special fields" are NOT extracted yet:
"gear",
"interval_summary",
"power_field_names",
"icu_hrr",
"stream_types",
"recording_stops",
"icu_achievements",
InfluxDB data¶
The information is stored with the following format:
- measurement: "activity"
- tags:
- "type": "type"
- "id": "id"
- "start_date": "start_date_local" (in format YYYY-MM-DD)
- fields: every field defined above
- time: "id" (in timestamp)
Streams¶
The following types of Streams are retrieved:
"time",
"watts",
"cadence",
"heartrate",
"distance",
"altitude",
"latlng",
"velocity_smooth",
"temp",
"torque",
"respiration",
InfluxDB data¶
The information is stored with the following format:
- measurement: "stream"
- tags:
- "activity_type": activity["type"]
- "activity_id": activity["id"]
- "stream_type": "stream["type"]
- fields:
- "data": the value of every stream
- time: activity["time"] (in timestamp) + stream_element_number (every stream value corresponds to a second, so every stream adds 1 second to the start time. If we have 340 streams, we have 340 entries with +1 second between)