Time in zone messages tell how long was spent in each heart rate, speed, cadence and power zone during a session or a lap, along with the zone boundaries and thresholds used for the computation.
Moment the message refers to, in UTC. FIT stores it as seconds since the FIT epoch (December 31, 1989, 00:00:00 UTC); decoders usually expose it as a regular date.
referenceMesgEnumKind of message the times refer to: session or lap.
lengthsplitsetrecordsessionhrvideoeventsportactivityworkoutcoursetotalsbloodPressuremfgRangeMinmfgRangeMaxfileIdcapabilitiesdeviceSettingsuserProfilehrmProfilesdmProfilebikeProfilezonesTargethrZonepowerZonemetZonetrainingSettingsgoallapdeviceInfoworkoutStepscheduleweightScalecoursePointsoftwarefileCapabilitiesmesgCapabilitiesfieldCapabilitiesfileCreatorspeedZonemonitoringtrainingFilehrvantRxantTxantChannelIdmonitoringInfobatterypadslaveDeviceconnectivityweatherConditionsweatherAlertcadenceZonesegmentLapmemoGlobsegmentIdsegmentLeaderboardEntrysegmentPointsegmentFileworkoutSessionwatchfaceSettingsgpsMetadatacameraEventtimestampCorrelationgyroscopeDataaccelerometerDatathreeDSensorCalibrationvideoFrameobdiiDatanmeaSentenceaviationAttitudevideoTitlevideoDescriptionvideoClipohrSettingsexdScreenConfigurationexdDataFieldConfigurationexdDataConceptConfigurationfieldDescriptiondeveloperDataIdmagnetometerDatabarometerDataoneDSensorCalibrationmonitoringHrDatatimeInZonestressLevelmaxMetDatadiveSettingsdiveGasdiveAlarmexerciseTitlediveSummaryspo2DatasleepLeveljumpaadAccelFeaturesbeatIntervalsrespirationRatehsaAccelerometerDatahsaStepDatahsaSpo2DatahsaStressDatahsaRespirationDatahsaHeartRateDatasplitSummaryhsaBodyBatteryDatahsaEventclimbProtankUpdatetankSummarysleepAssessmenthrvStatusSummaryhrvValuerawBbideviceAuxBatteryInfohsaGyroscopeDatachronoShotSessionchronoShotDatahsaConfigurationDatadiveApneaAlarmskinTempOvernighthsaWristTemperatureDatanapEventsleepDisruptionSeverityPeriodsleepDisruptionOvernightSeverityreferenceIndexStringmessageIndex of the session or lap the times refer to.
Time spent in each heart rate zone. The first element is the time below zone 1, then zone 1, zone 2 and so on.
Time spent in each speed zone.
Time spent in each cadence zone.
Time spent in each power zone. The first element is the time below zone 1, then zone 1, zone 2 and so on.
Upper boundary of each heart rate zone.
Upper boundary of each speed zone.
Upper boundary of each cadence zone (the typo is part of the FIT profile).
Upper boundary of each power zone.
hrCalcTypeEnumHow heart rate zones are computed: custom values, percentage of max heart rate, of heart rate reserve or of lactate threshold heart rate.
custompercentMaxHrpercentHrrpercentLthrmaxHeartRateUint8Maximum heart rate of the user used to compute the zones.
restingHeartRateUint8Resting heart rate of the user used to compute the zones.
thresholdHeartRateUint8Lactate threshold heart rate (LTHR) of the user, used to compute heart rate zones.
pwrCalcTypeEnumHow power zones are computed: custom values or percentage of functional threshold power.
custompercentFtpfunctionalThresholdPowerUint16Functional threshold power (FTP) of the user: the highest power they can sustain for about an hour. Used to compute power zones.
mesgNumStringGlobal message number identifying the kind of message. Decoders use it to know which profile to apply to the data.