Synchronize multiple exercise and running courses
JSON fields received by the app:
| Field Name | Field Type | Field Description |
|---|---|---|
| version | int | Protocol version The default version number for this message is 0. setSyncV3ActivityAddParam function table opens with version=16,syncRealTimeV3 function table opens with version=32 |
| data_length | int | Data length This value is 0 if the setSyncV3ActivityAddParam (version=16) or syncRealTimeV3 (version=32) function table is enabled |
| packet_count | int | Number of packets This value is 0 if the setSyncV3ActivityAddParam (version=16) or syncRealTimeV3 (version=32) function table is enabled |
| 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 | Sport Type |
| connect_app | int | Whether the bracelet is connected to the app and what kind of report is generated by the app 1 for connected, 0 for not connected |
| sport_start_type | int | 0: Invalid, 1: Exercise initiated by the app, 2: Exercise initiated by the watch |
| hr_data_interval_minute | int | Heart rate data interval in minutes |
| step | int | Number of steps |
| durations | int | Duration of exercise in seconds End Time Description: function table syncHealthSyncV3ActivityEndTimeUseUtcMode without open, Movement over time = start time + movement time function table syncHealthSyncV3ActivityEndTimeUseUtcMode after opening, Movement over time through the field end_month & end_day & end_hour & end_minute & end_year & end_sec |
| calories | int | Calories burned |
| distance | int | Distance covered |
| avg_hr_value | int | Average heart rate |
| max_hr_value | int | Maximum heart rate |
| min_hr_value | Int | Minimum heart rate. Returns 0 if V3_sync_v3_activity_add_param or syncRealTimeV3 function table is not enabled |
| avg_step_frequency | int | Average step frequency in steps per minute |
| max_step_frequency | int | Maximum step frequency in steps per minute |
| avg_step_stride | int | Average step stride |
| max_step_stride | int | Maximum step stride |
| avg_speed | int | Average speed in km/h (multiplied by 100 in firmware) |
| max_speed | int | Maximum speed in km/h (multiplied by 100 in firmware) |
| avg_pace_speed | int | Average pace in seconds per kilometer Returns 0 if setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled |
| max_pace_speed | int | Maximum pace per kilometer Returns 0 if setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled |
| avg_km_speed | int | Average kilometer pace in seconds per kilometer |
| max_km_speed | int | Maximum kilometer pace |
| warm_up_mins | int | Accumulated warm-up exercise duration in minutes |
| fat_burning_mins | int | Accumulated fat burning exercise duration in minutes |
| aerobic_exercise_mins | int | Accumulated aerobic exercise duration in minutes |
| anaerobic_exercise_mins | int | Accumulated anaerobic exercise duration in minutes |
| extreme_exercise_mins | int | Accumulated extreme exercise duration in minutes |
| warm_up_sec | int | Accumulated warm-up exercise duration in seconds |
| fat_burning_sec | int | Accumulated fat burning exercise duration in seconds |
| aerobic_exercise_sec | int | Accumulated aerobic exercise duration in seconds |
| anaerobic_exercise_sec | int | Accumulated anaerobic exercise duration in seconds |
| extreme_exercise_sec | Int | Accumulated extreme exercise duration in seconds |
| vo2max | Int | Maximum oxygen consumption in milliliters per kilogram per minute Range: 0-80 (not multiplied by 100) |
| grade | Int | Oxygen consumption level 1: Low 2: Amateur 3: General 4: Average 5: Good 6: Excellent 7: Professional Valid only if setSupportSportPlan or getOxygenDataSupportGradeV3 function table is enabled, otherwise 0 indicating unsupported oxygen consumption level |
| recovery_time_year | int | Recovery time: year |
| recovery_time_mon | int | Recovery time: month |
| recovery_time_day | int | Recovery time: day |
| recovery_time_hour | int | Recovery time: hour |
| recovery_time_min | int | Recovery time: minute |
| recovery_time_s | int | Recovery time: second |
| training_effect | int | Training effect Unit: None Range: 1.0 - 5.0 (multiplied by 10 for transmission) Returns 0 if setSyncV3ActivityAddParam or syncRealTimeV3 function table is not enabled |
| mi_speed_count | int | Number of mile pace |
| hr_item_count | int | Number of heart rate |
| activity_data_item_count | int | Number of customized data fields, recorded every minute |
| km_speed_count | int | Number of kilometer pace, maximum 100 |
| mi_speed_count | int | Number of mile pace |
| pace_count | int | Number of real-time pace Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| frequency_count | int | Number of steps per minute |
| paddle_number_count | int | Number of paddle strokes Returns 0 when V3_sync_v3_activity_add_param or v3_support_activity_sync_real_time is not enabled in the functionality table |
| paddle_frequency_count | int | Number of paddle frequency Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| tread_frequency_count | int | Number of tread frequency Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| real_speed_count | int | Number of real-time speed Returns 0 when syncRealTimeV3 functionality is not enabled |
| end_month | int | Month of the end time of the activity If the activity is paused after the sport is finished, resulting in a difference between the end time of the activity and the end time of the app, the end time of the activity is returned by the firmware. Return 0 if the protocol is not supported. The app determines whether the month is 0 to determine whether to use the following fields as the end time of the activity Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality tablesyncHealthSyncV3ActivityEndTimeUseUtcMode open effective function table |
| end_day | int | Day of the end time of the activity Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality tablesyncHealthSyncV3ActivityEndTimeUseUtcMode open effective function table |
| end_hour | int | Hour of the end time of the activity Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality tablesyncHealthSyncV3ActivityEndTimeUseUtcMode open effective function table |
| end_minute | int | Minute of the end time of the activity Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality tablesyncHealthSyncV3ActivityEndTimeUseUtcMode open effective function table |
| end_year | int | Year of the end time of the activitysyncHealthSyncV3ActivityEndTimeUseUtcMode open effective function table |
| end_sec | int | Second of the end time of the activitysyncHealthSyncV3ActivityEndTimeUseUtcMode open effective function table |
| training_offset | int | Training course date offset starting from zero Returns 0 when setSupportSportPlan functionality 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: Easy Run for 6 minutes 65: Easy Run for 10 minutes 66: Easy Run for 15 minutes 67: Walk-Run Combination - Beginner 68: Walk-Run Combination - Intermediate 69: Walk-Run Combination - Advanced 70: Post-Run Stretching Returns 0 when setSupportSportPlan functionality is not enabled |
| in_class_calories | int | Calorie burned during the class, unit: kcal |
| 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 companion running activity 2: Intelligent companion running activity Effective when the functionality table supportSmartCompetitor is enabled |
| ai_image_id | int | AI image ID Effective when the functionality table supportSmartCompetitor is enabled |
| user_image_id | int | User image ID Effective when the functionality table supportSmartCompetitor is enabled |
| bg_image_id | int | Background image ID Effective when the functionality table supportSmartCompetitor is enabled |
| smart_competitor_pace | int | Intelligent companion running pace Effective when the functionality table supportSmartCompetitor is enabled |
| warm_up_performance | int | Warm-up performance 0-100 Effective when both setSupportSportPlan and supportWarmUpBeforeRunning are enabled |
| gps_status | int | GPS status 0: Invalid 1: Enabled 2: Not enabled (Display Distance when not enabled, 3D Distance when enabled)Effective when both setSupportSportPlan and version=0x30 are enabled in the functionality table |
| distance3d | int | 3D distance, unit: meters Effective when supportSyncActivityData3dDistanceSpeed, setSupportSportPlan, and version=0x30 are enabled |
| avg_3d_speed | int | Average 3D speed, unit: km/h Multiply the received value by 100 and divide by 100 for transmission Effective when supportSyncActivityData3dDistanceSpeed, setSupportSportPlan, and version=0x30 are enabled |
| avg_vertical_speed | int | Average vertical speed, unit: m/h Multiply the received value by 10 and divide by 10 for transmission Effective when supportSyncActivityData3dDistanceSpeed, setSupportSportPlan, and version=0x30 are enabled |
| avg_slope | int | Average slope, unit: degrees -90 to 90 Effective when supportSyncActivityDataAvgSlope, setSupportSportPlan, and version=0x30 are enabled |
| max_altitude | int | Maximum altitude, unit: meters -500 to 9000 Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| mix_altitude | int | Minimum altitude, unit: meters -500 to 9000 Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| cumulative_altitude_rise | int | Cumulative altitude rise, unit: meters Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| cumulative_altitude_loss | int | Cumulative altitude loss, unit: meters Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| altitude_count | int | Number of altitude details Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| avg_altitude | int | Average altitude, unit: meters -500 to 9000 Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| act_count | int | Number of action details |
| segdata_item_num | int | Number of seg_items of the segment data version! =0x50 is invalid |
| segdata_total_time | int | Total time used for segmenting data seconds version! =0x50 is invalid |
| segdata_total_distance | int | Total distance of segmented data Unit meter version! =0x50 is invalid |
| segdata_total_pace | int | Total speed of the segmented data Unit: 100 m version! =0x50 is invalid |
| segdata_total_avg_hr | int | Total average heart rate of segmented data Unit time/minute version! =0x50 is invalid |
| segdata_total_avg_step_frequency | int | Total step frequency of segmented data step/minute version! =0x50 is invalid |
| pace_hiit | int | interval speed High intensity interval speed Unit of second / 100 meters |
| pace_anaerobic | int | good speed Anaerobic speed Unit of second/hundred meters |
| pace_lactic_acid_threshold | int | interval speed Lactic acid threshold speed Unit of seconds / 100 meters |
| pace_marathon | int | interval pace Marathon pace Unit of seconds per hundred meters |
| pace_easy_run | int | interval pace Easy run pace Unit of second / 100 meters |
| hr_data_vlaue | int [] | Heart rate data details |
| frequency_items | int [] | Step frequency data details |
| items_mi_speed | int [] | Mile pace data details |
| pace_speed_items | int [] | Real-time pace data details Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| paddle_number_items | int [] | Paddle stroke data details Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| paddle_frequency_items | int [] | Paddle frequency data details Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| tread_frequency_items | int [] | Tread frequency data details Returns 0 when setSyncV3ActivityAddParam or syncRealTimeV3 is not enabled in the functionality table |
| act_items | int [] | Action data details Returns 0 when setSupportSportPlan functionality is not enabled |
| item_real_speed_temp | int [] | Real-time speed data details Returns 0 when setSupportSportPlan functionality is enabledReturns 0 when syncRealTimeV3 functionality is not enabled |
| altitude_item | int [] | Altitude data, unit: meters, range -500~9000 Effective when getSupportSyncActivityDataAltitudeInfo, setSupportSportPlan, and version=0x30 are enabled |
| items | List | Customized field data details, including steps, calories, and distance |
| items_km_speed | List | Kilometer pace data details, including seconds |
| seg_items | List | segmentation data details, index & time & distance & pace & avg_hr & avg_step_frequency collection |
| real_pace_save_interval | int | Real-time pace saving interval, unit: second |
| interval_item | Collection | Interval training array, a collection of stage_type & repeat_num & stage_data_type_item |
| recovery_hr_items_60 | Collection | 2 minutes of recovery heart rate after exercise, one value per second, up to 120, Collection of data_type & recovery_hr_data |
| stride_items | int[] | Real-time stride array, one value per 5 seconds, unit cm, maximum storage 10 hours |
| lap_item | Collection | Lap data details, up to 999 laps Collection of lap_data_num & lap_data_item |
| Field Name | Field Type | Field Description |
|---|---|---|
| steps | int | Step count |
| calories | int | Calories |
| distance | int | Distance Uint:meter |
| Field Name | Field Type | Field Description |
|---|---|---|
| second | int | Kilometer pace Uint:second |
| Field Name | Field Type | Field Description |
|---|---|---|
| index | int | The number of the section starts from 1 |
| time | int | in seconds |
| distance | int | The unit of distance in meters |
| pace | int | The unit of pace in seconds per hundred meters |
| avg_hr | int | The average heart rate in units per minute |
| avg_step_frequency | int | The average step per 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 |
|---|---|---|
| data_type | int | Recovery heart rate type Still: 0x01 Exercise: 0x02 |
| recovery_hr_data | int | Recovery heart rate value |
| 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 lap_data_type & lap_data_val collection |
| Field name | Field type | Field description |
| ------------------ | ------ | ------------------ |
| lap_data_type | int | Lap data type, see Lap data supported data types |
| lap_data_val | int | Lap data value |
| Lap data supported data types | Index value | |
| ------------------------------------------ | ------ | |
| None (invalid) | 0x00 | |
| Lap distance (unit: meter) | 0x01 | |
| Lap duration (unit: second) | 0x02 | |
| Lap pace (unit: s/km) | 0x03 | |
| Lap speed (unit: km/h, enlarged 100 times) | 0x04 | |
| Lap cadence (unit: step/minute) | 0x05 | |
| Lap heart rate | 0x06 | |
| Lap altitude increase, invalid value is 0x7FFF (unit: meter) | 0x07 | |
| Lap altitude decrease, invalid value is 0x7FFF (unit: meter) | 0x08 |
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,
"stride_items":[],
"lap_item":[],
"recovery_hr_items_60":[]
}