Synchronize multiple sports data
Sports record data
iOS: IDOSyncDataType.activity
Android: IDOSyncDataType.ACTIVITY
When function table
supportSyncMultiActivityNewis enabled, merged multi-sport/swim/course callbacks are documented in Sync Multi-Activity Merge (IDOSyncDataType.activityMerge/ACTIVITYMERGE), instead of this page and the swim page.
Data generated by users actively initiating designated movements
JSON fields received by the App:
| Field name | Field type | Field description | |
|---|---|---|---|
| version | int | Protocol version number The default version number of this message is 0 setSupportSportPlan function table is enabled version=16, syncRealTimeV3 function table is enabled version=32 |
|
| data_length | int | Data length The value is 0 when the firmware enables the function table setSupportSportPlan(version=16) or syncRealTimeV3(version=32) |
|
| packet_count | int | Number of packets The value is 0 when the firmware enables the function table setSupportSportPlan(version=16) or syncRealTimeV3(version=32) |
|
| year | int | Data date year | |
| month | int | Data date month | |
| day | int | Data date day | |
| hour | int | Data date hour | |
| minute | int | Data date minute | |
| second | int | Data date second | |
| type | int | Sports enum | |
| connect_app | int | Whether the bracelet is connected to the app, and what kind of report will be generated by using the app evaluation 1 means connected, 0 means not connected |
|
| sport_start_type | int | 0: invalid, 1: sports initiated by the app, 2: sports initiated by the watch |
|
| hr_data_interval _minute |
int | Heart rate data interval Unit: seconds |
|
| step | int | Steps | |
| durations | int | Sports duration Unit: second End time description: If the function table syncHealthSyncV3ActivityEndTimeUseUtcModeis not turned on, the sports end time = start time + sports duration When the function table syncHealthSyncV3ActivityEndTimeUseUtcModeis turned on, the end time of the exercise is set through the fields end_month & end_day &end_hour& end_minute & end_year & end_sec |
|
| calories | int | Calories Unit: kilocalories |
|
| distance | int | Distance Unit: meters |
|
| avg_hr_value | int | Average heart rate value Unit: BPM |
|
| max_hr_value | int | Maximum heart rate value Unit: BPM |
|
| min_hr_value | Int | Minimum heart rate value setSupportSportPlan or getOxygenDataSupportGradeV3returns 0 when the function table is not turned on |
|
| avg_step_frequency | int | Average step frequency Unit: steps/minute |
|
| max_step_frequency | int | Maximum step frequency Unit: steps/minute |
|
| avg_step_stride | int | Average stride Unit: cm |
|
| max_step_stride | int | Maximum stride Unit: cm |
|
| avg_speed | int | Average speed km/h The firmware is enlarged 100 times |
|
| max_speed | int | Fastest speed km/h The firmware is enlarged 100 times |
|
| avg_pace_speed | int | Average pace Value in seconds Example: 361 → 6 min 1 s Miles = km * 1609 / 1000 0 if setSupportSportPlan orgetOxygenDataSupportGradeV3 is not enabled |
|
| max_pace_speed | int | Fastest pacesetSupportSportPlan orgetOxygenDataSupportGradeV3returns 0 when the function table is not enabled |
|
| avg_km_speed | int | Average km pace. The value passed is in seconds For example, 361 361/60=6 minutes. The remainder is 1s 6''1'. Kilometers and miles are calculated as follows: miles = kilometers*1609/1000f |
|
| max_km_speed | int | Fastest km pace Time required per kilometer (seconds) |
|
| warm_up_mins | int | Cumulative duration of warm-up exercise, minutes part |
|
| fat_burning_mins | int | Cumulative duration of fat burning, minutes part |
|
| aerobic_exercise_mins | int | Cumulative duration of aerobic exercise, minutes part |
|
| anaerobic_exercise_mins | int | Cumulative duration of anaerobic exercise, minutes part |
|
| extreme_exercise_mins | int | Cumulative duration of extreme exercise Minutes part |
|
| warm_up_sec | int | Cumulative duration of warm-up Seconds part |
|
| fat_burning_sec | int | Cumulative duration of fat burning Seconds part |
|
| aerobic_exercise_sec | int | Cumulative duration of aerobic exercise Seconds part |
|
| anaerobic_exercise_sec | int | Cumulative duration of anaerobic exercise Seconds part |
|
| extreme_exercise_sec | Int | Cumulative duration of extreme exercise Seconds part |
|
| vo2max | Int | Maximum oxygen uptake Unit: ml/kg/min Range 0-80 Not magnified 100 times (this field is in the front) |
|
| grade | Int | Oxygen uptake grade 1: Low 2: Amateur 3: Average 4: Average 5: Good 6: Excellent 7: Professional setSupportSportPlan orgetOxygenDataSupportGradeV3is valid if the firmware is enabled, otherwise it is 0. If it is 0, the oxygen uptake level is not supported. |
|
| recovery_time_year | int | Recovery time yearsetSyncV3ActivityAddParam or syncRealTimeV3 returns 0 when the function table is not enabled |
|
| recovery_time_mon | int | Recovery time monthsetSyncV3ActivityAddParam or syncRealTimeV3 returns 0 when the function table is not enabled |
|
| recovery_time_day | int | Recovery time daysetSyncV3ActivityAddParam or syncRealTimeV3 returns 0 when the function table is not enabled |
|
| recovery_time_hour | int | Recovery time hoursetSyncV3ActivityAddParam or syncRealTimeV3 returns 0 when the function table is not enabled |
|
| recovery_time_min | int | Recovery time in minutessetSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled. Returns 0 |
|
| recovery_time_s | int | Recovery time in secondssetSyncV3ActivityAddParam or syncRealTimeV3function table is not enabled. Returns 0 |
|
| training_effect | int | Aerobic training effect Unit: None Range: 1.0 - 5.0 (10 times larger for transmission) setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled. Returns 0 |
|
| anaerobic_ train_effect |
int | Anaerobic training effect Unit: None Range: 1.0 - 5.0 (10 times larger for transmission) 0 is invalid |
|
| mi_speed_count | int | Mile pace count | |
| hr_item_count | int | Heart rate count | |
| activitydata item_count |
int | Number of Humboldt custom data field details, one per minute |
|
| km_speed_count | int | Number of kilometer paces, maximum 100 | |
| pace_count | int | Number of real-time paces Returns 0 when setSyncV3ActivityAddParam orsyncRealTimeV3 function table is not enabled |
|
| frequency_count | int | Number of cadences | |
| paddle_number_count | int | Number of paddle times Returns 0 when setSyncV3ActivityAddParam orsyncRealTimeV3 function table is not enabled |
|
| paddle_frequency_count | int | Number of paddle frequencies Returns 0 when setSyncV3ActivityAddParam orsyncRealTimeV3 function table is not enabled |
|
| tread_frequency_count | int | Number of cadences Returns 0 when setSyncV3ActivityAddParam orsyncRealTimeV3 function is not enabled |
|
| real_speed_count | int | Number of real-time speeds Returns 0 when syncRealTimeV3 function is not enabled |
|
| end_month | int | Exercise end time — month App checks whether month is 0 to decide if end-time fields are used 0 if setSyncV3ActivityAddParam orsyncRealTimeV3 is not enabledValid when syncHealthSyncV3ActivityEndTimeUseUtcMode\ |
is enabled |
| end_day | int | Exercise end time — day 0 if setSyncV3ActivityAddParam orsyncRealTimeV3 is not enabledValid when syncHealthSyncV3ActivityEndTimeUseUtcMode is enabled |
|
| end_hour | int | Exercise end time — hour 0 if setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled Valid whensyncHealthSyncV3ActivityEndTimeUseUtcMode is enabled |
|
| end_minute | int | Exercise end time — minute 0 if setSyncV3ActivityAddParam orsyncRealTimeV3 is not enabledValid when syncHealthSyncV3ActivityEndTimeUseUtcMode is enabled |
|
| end_year | int | End time yearsyncHealthSyncV3ActivityEndTimeUseUtcModeFunction is enabled. |
|
| end_sec | int | End time secondsyncHealthSyncV3ActivityEndTimeUseUtcModeis effective when the function is enabled |
|
| training_offset | int | Training course date offset starts from zerosetSupportSportPlan returns 0 when the function is not enabled |
|
| act_type | int | Plan type: 1: Running plan 3km 2: Running plan 5km 3: Running plan 10km 4: Half marathon training (Phase 2) 5: Marathon training (Phase 2) 64: 6 minutes easy run 65: 10 minutes easy run 66: 15 minutes easy run 67: Walking and running combination elementary 68: Walking and running combination advanced 69: Walking and running combination strengthening 70: Post-run stretching setSupportSportPlan returns 0 when the functionis not enabled |
|
| in_class_calories | int | Exercise calories in the course in kilocalories | |
| completion_rate | int | Action completion rate 0-100 | |
| hr_completion_rate | int | Heart rate control rate 0-100 | |
| smart_competitor | int | 0: Invalid 1: Non-intelligent running with companion 2: Intelligent running with companion Function table supportSmartCompetitor is enabled and effective |
|
| ai_image_id | int | ai image ID Function table supportSmartCompetitor is enabled and effective |
|
| user_image_id | int | User image ID Function table supportSmartCompetitor is enabled and effective |
|
| bg_image_id | int | Background image ID Function table supportSmartCompetitor is enabled and effective |
|
| smart_competitor_pace | int | Smart running with companion pace Function table supportSmartCompetitor is enabled and effective |
|
| max_rope_frequency | int | Fastest rope skipping frequency Unit: pieces/minute | |
| min_rope_frequency | int | Slowest rope skipping frequency Unit: pieces/minute | |
| avg_rope_frequency | int | Average rope skipping frequency Unit: pieces/minute | |
| max_rope_skip_count | int | Maximum number of consecutive rope skipping | |
| rope_trip_count | int | Number of rope trips | |
| total_rope_count | int | Total number of rope skipping | |
| rope_frequency _item_count |
int | Rope skipping frequency (jumping speed) details Unit: pieces/minute |
|
| max_tread_frequency | int | Fastest cadence | |
| min_tread_frequency | int | Slowest cadence | |
| avg_tread_frequency | int | Average cadence | |
| total_paddle_number | int | Total number of paddles | |
| max_paddle_frequency | int | Fastest paddle frequency | |
| min_paddle_frequency | int | Slowest paddle frequency | |
| avg_paddle_frequency | int | Average paddle frequency | |
| warm_up_performance | int | Warm-up performance 0-100 setSupportSportPlan andsupportWarmUpBeforeRunning are effective |
|
| gps_status | int | GPS status 0: Invalid 1: Enabled 2: Disabled (displays distance when disabled and3D distance when enabled) setSupportSportPlan is enabled |
|
| distance3d | int | 3d distance in meters supportSyncActivityData3dDistanceSpeed,setSupportSportPlan is enabled |
|
| avg_3d_speed | int | Average 3d speed in km/h app receives the required/100 and enlarges 100 times supportSyncActivityData3dDistanceSpeed,setSupportSportPlan is enabled |
|
| avg_vertical_speed | int | Average vertical speed in m/h App receives the required /10 and enlarges it by 10 times supportSyncActivityDataAvgSlope,setSupportSportPlan is enabled |
|
| avg_slope | int | Average slope in degrees -90 ~ 90 supportSyncActivityDataAvgSlope,setSupportSportPlan is enabled |
|
| max_altitude | int | Maximum altitude in meters -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan is enabled |
|
| mix_altitude | int | Minimum altitude in meters -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan is enabled |
|
| cumulative_altitude_rise | int | Cumulative altitude rise in metersgetSupportSyncActivityDataAltitudeInfo,setSupportSportPlan is enabled |
|
| cumulative_altitude_loss | int | Cumulative altitude loss in metersgetSupportSyncActivityDataAltitudeInfo,setSupportSportPlan is enabled |
|
| altitude_count | int | Number of altitude detailsgetSupportSyncActivityDataAltitudeInfo,setSupportSportPlan is enabled |
|
| avg_altitude | int | Average altitude in meters -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo,setSupportSportPlan is enabled |
|
| act_count | int | Number of action details | |
| sport_mode_data_type | int | Sport mode data type, 0: invalid, 1: automatic sport mode data, 2: manual sport mode data |
|
| segdata_item_num | int | seg_items countInvalid if segment unsupported |
|
| segdata_total_time | int | Total segment time Unit: s Invalid if segment unsupported |
|
| segdata_total_distance | int | Total segment distance Unit: m Invalid if segment unsupported |
|
| segdata_total_pace | int | Total segment pace Unit: s/100m Invalid if segment unsupported |
|
| segdata_total_avg_hr | int | Total segment avg HR Unit: bpm Invalid if segment unsupported |
|
| segdatatotal avg_step_frequency |
int | Total segment cadence Unit: steps/min Invalid if segment unsupported |
|
| pace_hiit | int | Interval pace High intensity interval pace Unit: seconds |
|
| pace_anaerobic | int | Interval pace Anaerobic pace Unit: seconds |
|
| pacelactic acid_threshold |
int | Interval pace Lactate threshold pace Unit: seconds |
|
| pace_marathon | int | Interval pace Marathon pace Unit: seconds |
|
| pace_easy_run | int | Interval pace Easy run pace Unit: seconds |
|
| hr_data_vlaue | int [] | Heart rate data details | |
| frequency_items | int [] | Cadence data details | |
| items_mi_speed | int [] | Mile pace details | |
| pace_speed_items | int [] | Real-time pace detailssetSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled. Returns 0 |
|
| paddle_number_items | int [] | Paddle times detailssetSyncV3ActivityAddParam or syncRealTimeV3function table is not enabled. Returns 0 |
|
| paddle_frequency_items | int [] | Paddle frequency detailssetSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled. Returns 0 |
|
| tread_frequency_items | int [] | Cadence detailssetSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled. Returns 0 |
|
| act_items | int [] | Action detailssetSupportSportPlan function table is not enabled. Returns 0 |
|
| itemreal speed_temp |
int [] | Real-time speed details Returns 0 when setSupportSportPlan function is enabled Returns 0 when syncRealTimeV3 function is not enabled |
|
| altitude_item | int [] | Altitude data Unit: meter Range: -500~9000 Valid when getSupportSyncActivityDataAltitudeInfo and setSupportSportPlan are enabled |
|
| items | Collection | Humboldt custom field data details, collection of steps & calories & distance |
|
| time_zone | int | Time zone offset scaled by 100; e.g. timezone 8 returns 800, 5.5 returns 550 Valid only when supportSyncHealthDataWithTimeZone function table flag is on |
|
| items_km_speed | Collection | Kilometer pace data details, collection of second |
|
| seg_items | Collection | Segment data details, collection ofindex & time & distance & pace & avg_hr &avg_step_frequency |
|
| rope_frequency_item | int[] | Rope skipping frequency (jumping speed) details | |
| realpace save_interval |
int | Real-time pace saving time interval, in seconds | |
| interval_item | Collection | Interval training array, a collection of stage_type & repeat_num &stage_data_type_item |
|
| stride_items | int[] | Real-time stride array, a set of values for 5s, unit cm, maximum storage of 10h |
|
| lap_item | Collection | Lap data details, up to 999 laps Collection of lap_data_num & lap_data_item |
|
| aerobic_power_interval | long | Aerobic power interval seconds | |
| mixedoxygen power_interval |
long | Mixed oxygen power interval seconds | |
| thresholdrunning power_interval |
long | Threshold running power interval seconds | |
| intermittentrun power_interval |
long | Intermittent running power interval seconds | |
| sprintrun power_interval |
long | Sprint running power interval seconds | |
| recovery_hr_items_60 | Collection | Post-exercise recovery heart rate for 2 minutes, 1s per value, up to 120, Collection of data_type & recovery_hr_data |
|
| hr_zone_max_val | Int | Maximum heart rate value (supported by some devices) |
items items — Humboldt custom field details
| Field name | Field type | Field description |
|---|---|---|
| steps | int | Step frequency |
| calories | int | Calories |
| distance | int | Distance Unit: meter |
items_km_speed items — Km pace
| Field name | Field type | Field description |
|---|---|---|
| second | int | Kilometer pace Unit: second |
seg_items items — Segment data
| Field name | Field type | Field description |
|---|---|---|
| index | int | Segment number starting from 1 |
| time | int | Time in seconds |
| distance | int | Distance in meters |
| pace | int | Pace in seconds |
| avg_hr | int | Average heart rate in beats/minute |
| avg_step_frequency | int | Average step frequency in steps/minute |
interval_item items — Interval training step
| Field name | Field type | Field description |
|---|---|---|
| stage_type | int | Current training step type |
| repeat_num | int | Current number of repetitions |
| stage_data_type_item | Collection | Training data of the current step Collection of stage_support_type & stage_data_value |
stage_data_type_item items
| Field name | Field type | Field description |
|---|---|---|
| stage_support_type | int | The type of training data for the current training step |
| stage_data_value | int | Time: s Distance: m Calories: kcal Pace: s/km Speed: km/h × 100 |
stage_type values
| stage_type | value |
|---|---|
| None (invalid) | 0x00 |
| Warm up | 0x01 |
| Training | 0x02 |
| Rest | 0x03 |
| Relax | 0x04 |
stage_support_type values
| stage_support_type | value |
|---|---|
| None (invalid) | 0x00 |
| Duration | 0x01 |
| Average heart rate | 0x02 |
| Distance | 0x03 |
| Calories | 0x04 |
| Average pace | 0x05 |
| Average speed | 0x06 |
lap_item items — Lap summary
| Field name | Field type | Field description |
|---|---|---|
| lap_data_num | int | Number of lap data |
| lap_data_item | Collection | List of lap data, up to 20 collections of lap_data_type & lap_data_val |
lap_data_item items
| Field name | Field type | Field description |
|---|---|---|
| lap_data_type | int | Lap data type, see lap data type table below |
| lap_data_val | int | Lap data value |
Lap data types
| Data types supported by lap data | Index value |
|---|---|
| None (invalid) | 0x00 |
| Lap distance (unit: meters) | 0x01 |
| Lap duration (unit: seconds) | 0x02 |
| Lap pace (unit: s/km) | 0x03 |
| Lap speed (unit: km/h, enlarged 100 times) | 0x04 |
| Lap cadence (unit: steps/minute) | 0x05 |
| Lap heart rate | 0x06 |
| Lap altitude rise, invalid value is 0x7FFF (unit: meter) | 0x07 |
| Lap altitude descent, invalid value is 0x7FFF (unit: meter) | 0x08 |
| Lap stride (unit: cm) | 0x09 |
| Lap calories (unit: kcal) | 0x0A |
| Lap maximum heart rate | 0x0B |
| Lap start coordinate longitude, enlarged 10,000,000 times | 0x0C |
| Lap start coordinate latitude, enlarged 10,000,000 times | 0x0D |
| Lap end coordinate longitude, enlarged 10,000,000 times | 0x0E |
| Lap end coordinate latitude, enlarged 10,000,000 times | 0x0F |
| Lap start timestamp, local time | 0x10 |
recovery_hr_items_60 items
| Field name | Field type | Field description |
|---|---|---|
| data_type | int | Recovery HR type Still: 0x01 Exercise: 0x02 |
| recovery_hr_data | int | Recovery heart rate value |
Example
{
"act_type" : 0,
"action_temp" : null,
"activity_data_item_count" : 0,
"aerobic_exercise_mins" : 0,
"aerobic_exercise_sec" : 0,
"anaerobic_exercise_mins" : 0,
"anaerobic_exercise_sec" : 0,
"avg_hr_value" : 0,
"avg_km_speed" : 0,
"avg_pace_speed" : 0,
"avg_speed" : 0,
"avg_step_frequency" : 0,
"avg_step_stride" : 0,
"calories" : 0,
"completion_rate" : 0,
"connect_app" : 0,
"data_length" : 0,
"day" : 0,
"time_zone" : 800,
"distance" : 0,
"durations" : 0,
"end_day" : 0,
"end_hour" : 0,
"end_minute" : 0,
"end_month" : 0,
"extreme_exercise_mins" : 0,
"extreme_exercise_sec" : 0,
"fat_burning_mins" : 0,
"fat_burning_sec" : 0,
"frequency_count" : 0,
"frequency_items" : [],
"grade" : 0,
"hour" : 0,
"hr_completion_rate" : 0,
"hr_data_interval_minute" : 0,
"hr_data_vlaue" : [0],
"hr_item_count" : 0,
"in_class_calories" : 0,
"item_real_speed_temp" : [],
"items" : [{"steps":0,"calories":0,"distance":0}],
"items_km_speed" : [{"second":0}],
"items_mi_speed" : [],
"km_speed_count" : 0,
"max_hr_value" : 0,
"max_km_speed" : 0,
"max_pace_speed" : 0,
"max_speed" : 0,
"max_step_frequency" : 0,
"max_step_stride" : 0,
"mi_speed_count" : 0,
"min_hr_value" : 0,
"minute" : 0,
"month" : 0,
"pace_count" : 0,
"pace_speed_items" : [],
"packet_count" : 0,
"paddle_frequency_count" : 0,
"paddle_frequency_items" : [],
"paddle_number_count" : 0,
"paddle_number_items" : [],
"real_speed_count" : 0,
"recovery_time_day" : 0,
"recovery_time_hour" : 0,
"recovery_time_min" : 0,
"recovery_time_mon" : 0,
"recovery_time_s" : 0,
"recovery_time_year" : 0,
"second" : 0,
"sport_start_type" : 0,
"step" : 0,
"training_effect" : 0,
"training_offset" : 0,
"tread_frequency_count" : 0,
"tread_frequency_items" : [],
"type" : 0,
"vO2max" : 0,
"version" : 0,
"warm_up_mins" : 0,
"warm_up_sec" : 0,
"year" : 0,
"interval_item":null,
"stride_items":[],
"lap_item":[],
"recovery_hr_items_60":[]
}