Synchronize multiple sports data
Sports record data
iOS: IDOSyncDataType.activity
Android: IDOSyncDataType.ACTIVITY
Data generated by the user's initiative to initiate a specified sport
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 enumeration |
connect_app | int | Whether the bracelet is connected to the app, and what kind of report is generated by the app evaluation 1 is connected, 0 is 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 syncHealthSyncV3ActivityEndTimeUseUtcMode is not turned on, the sports end time = start time + sports duration/>When the function table syncHealthSyncV3ActivityEndTimeUseUtcMode is 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 getOxygenDataSupportGradeV3 returns 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 The value passed is seconds For example, 361 361/60=6 minutes The remainder is 1s 6''1', kilometers and miles are based on miles = kilometers*1609/1000f setSupportSportPlan or getOxygenDataSupportGradeV3 function table is not enabled. Return 0 |
max_pace_speed | int | Fastest pace /> setSupportSportPlan or getOxygenDataSupportGradeV3 returns 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 or getOxygenDataSupportGradeV3 is 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 syncRealTimeV3 function 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 |
activity_data_item_count | int | Number of Humboldt custom data field details, one per minute |
km_speed_count | int | Number of kilometer paces, maximum 100 |
mi_speed_count | int | Number of mile paces |
pace_count | int | Number of real-time paces Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled |
frequency_count | int | Number of cadences |
paddle_number_count | int | Number of paddle times Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled |
paddle_frequency_count | int | Number of paddle frequencies Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled |
tread_frequency_count | int | Number of cadences Returns 0 when V3_sync_v3_activity_add_param or v3_support_activity_sync_real_time function is not enabled |
real_speed_count | int | Number of real-time speeds Returns 0 when syncRealTimeV3 function is not enabled |
end_month | int | End time of exercise Month Considering that the user pauses after exercise, the end time of exercise is different from the end time of exercise in the app. The end time of exercise is returned by the firmware at this time. If the protocol is not supported, the return value is 0. The app determines whether the month is 0 and whether to use the following field as the end time of exercise Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 function is not enabled syncHealthSyncV3ActivityEndTimeUseUtcMode function is enabled |
end_day | int | End time of exercise Day setSyncV3ActivityAddParam or syncRealTimeV3 Returns 0 when the function is not enabledsyncHealthSyncV3ActivityEndTimeUseUtcMode Function is enabled |
end_hour | int | Exercise end time hoursetSyncV3ActivityAddParam or syncRealTimeV3 Function is not enabled. Returns 0syncHealthSyncV3ActivityEndTimeUseUtcMode Function is enabled. |
end_minute | int | Exercise end time minute Returns 0 when V3_sync_v3_activity_add_param or v3_support_activity_sync_real_time Function is not enabled syncHealthSyncV3ActivityEndTimeUseUtcMode Function is enabled. |
end_year | int | End time yearsyncHealthSyncV3ActivityEndTimeUseUtcMode Function is enabled. |
end_sec | int | End time secondsyncHealthSyncV3ActivityEndTimeUseUtcMode is 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 function is 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 and supportWarmUpBeforeRunning are effective |
gps_status | int | GPS status 0: Invalid 1: Enabled 2: Disabled (displays distance when disabled and 3D distance when enabled) setSupportSportPlan & version =0x30 is effective |
distance3d | int | 3d distance in meters supportSyncActivityData3dDistanceSpeed , setSupportSportPlan & version =0x30 is effective |
avg_3d_speed | int | Average 3d speed in km/h app receives the required/100 and enlarges 100 times /> supportSyncActivityData3dDistanceSpeed , setSupportSportPlan & version =0x30 is valid |
avg_vertical_speed | int | Average vertical speed in m/h App receives the required /10 and enlarges it by 10 times supportSyncActivityDataAvgSlope , setSupportSportPlan & version =0x30 is valid |
avg_slope | int | Average slope in degrees -90 ~ 90 supportSyncActivityDataAvgSlope , setSupportSportPlan & version =0x30 is valid |
max_altitude | int | Maximum altitude in meters -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo , setSupportSportPlan & Valid when version =0x30 |
mix_altitude | int | Minimum altitude in meters -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo , setSupportSportPlan & version =0x30 |
cumulative_altitude_rise | int | Cumulative altitude rise in metersgetSupportSyncActivityDataAltitudeInfo , setSupportSportPlan & version =0x30 effective |
cumulative_altitude_loss | int | Cumulative altitude loss in metersgetSupportSyncActivityDataAltitudeInfo , setSupportSportPlan & version =0x30 effective |
altitude_count | int | Number of altitude detailsgetSupportSyncActivityDataAltitudeInfo , setSupportSportPlan & version =0x30 effective |
avg_altitude | int | Average altitude in meters -500 ~ 9000 getSupportSyncActivityDataAltitudeInfo , setSupportSportPlan & Valid when version =0x30 |
act_count | int | Number of action details |
segdata_item_num | int | Number of seg_items of segment dataInvalid when version!=0x50 |
segdata_total_time | int | Total time of segment data Unit: seconds Invalid when version!=0x50 |
segdata_total_distance | int | Total distance of segment data Unit: meters Invalid when version!=0x50 |
segdata_total_pace | int | Total pace of segment data Unit: seconds/hundred meters Invalid when version!=0x50 |
segdata_total_avg_hr | int | Total average heart rate of segment data Unit: beats/minute Invalid when version!=0x50 |
segdata_total_avg_step_frequency | int | Total cadence of segment data Unit: steps/minute Invalid if version!=0x50 |
pace_hiit | int | Interval pace High intensity interval pace Unit: seconds |
pace_anaerobic | int | Interval pace Anaerobic pace Unit: seconds |
pace_lactic_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 syncRealTimeV3 function 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 |
item_real_speed_temp | int [] | Real-time speed details Returns 0 when setSupportSportPlan function is enabledReturns 0 when syncRealTimeV3 function is not enabled |
altitude_item | int [] | Altitude data Unit: meter Range: -500~9000 Effective when getSupportSyncActivityDataAltitudeInfo & setSupportSportPlan & version = 0x30 |
items | Collection | Humboldt custom field data details, collection of steps & calories & distance |
items_km_speed | Collection | Kilometer pace data details, collection of second |
seg_items | Collection | Segment data details, collection of index & time & distance & pace & avg_hr & avg_step_frequency |
rope_frequency_item | int[] | Rope skipping frequency (jumping speed) details |
real_pace_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 |
mixed_oxygen_power_interval | long | Mixed oxygen power interval seconds |
threshold_running_power_interval | long | Threshold running power interval seconds |
intermittent_run_power_interval | long | Intermittent running power interval seconds |
sprint_run_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 |
Field name | Field type | Field description |
---|---|---|
steps | int | Step frequency |
calories | int | Calories |
distance | int | Distance Unit: meter |
Field name | Field type | Field description |
---|---|---|
second | int | Kilometer pace Unit: second |
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 |
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 | The training data of the current training step, a set of stage_support_type & stage_data_value |
Field name | Field type | Field description |
---|---|---|
stage_support_type | int | The type of training data for the current training step |
stage_data_value | int | The time value is in s, the distance is in m, the calories are in kcal, the pace is in s/km, the speed is in km/h multiplied by 100 times |
stage_type | value |
---|---|
None (invalid) | 0x00 |
Warm up | 0x01 |
Training | 0x02 |
Rest | 0x03 |
Relax | 0x04 |
stage_support_type | value |
---|---|
None (invalid) | 0x00 |
Duration | 0x01 |
Average heart rate | 0x02 |
Distance | 0x03 |
Calories | 0x04 |
Average pace | 0x05 |
Average speed | 0x06 |
Field name | Field type | Field description |
---|---|---|
lap_data_num | int | Number of lap data |
lap_data_item | Collection | List of lap data, up to 10 collections of lap_data_type & lap_data_val |
Field name | Field type | Field description |
---|---|---|
lap_data_type | int | Lap data type, see Data types supported by lap data |
lap_data_val | int | Lap data value |
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 |
Field name | Field type | Field description |
---|---|---|
data_type | int | Recovery heart rate 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,
"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": null,
"grade": 0,
"hour": 0,
"hr_completion_rate": 0,
"hr_data_interval_minute": 0,
"hr_data_vlaue": null,
"hr_item_count": 0,
"in_class_calories": 0,
"item_real_speed_temp": null,
"items": null,
"items_km_speed": null,
"items_mi_speed": null,
"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": null,
"packet_count": 0,
"paddle_frequency_count": 0,
"paddle_frequency_items": null,
"paddle_number_count": 0,
"paddle_number_items": null,
"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": null,
"type": 0,
"vO2max": 0,
"version": 0,
"warm_up_mins": 0,
"warm_up_sec": 0,
"year": 0,
"interval_item":[
{
"repeat_num": 4,
"stage_data_num": 2,
"stage_data_type_item": [{
"stage_data_value": 15,
"stage_support_type": 1
},
{
"stage_data_value": 30,
"stage_support_type": 3
}
],
"stage_type": 2
}
],
"stride_items":[],
"lap_item":[],
"recovery_hr_items_60":[]
}