LiveMetrics
Defined in: console-sdk/src/protocol/realtime.ts:114
The realtime frame — one normalized snapshot of everything a console
reports at 2 Hz, as consumed via useLiveMetrics(deviceId)
(SDK_PLAN.md §3.3.3: the verified ~45-field census, curated core plus a
typed extended block for the V2-firmware tail).
All firmware quirks are pre-normalized: deciseconds arrive as fractional
seconds; native per-mile/per-1000m bike paces are carried alongside
normalized per-500m; the −5 decisecond BLE-latency compensation on rest
countdowns is applied internally; the UNDEFINED_REST_SENTINEL never
appears (§3.3.4).
Properties
Section titled “Properties”batteryPercent
Section titled “batteryPercent”batteryPercent:
number
Defined in: console-sdk/src/protocol/realtime.ts:179
Console battery level, percent.
cadence
Section titled “cadence”cadence:
object
Defined in: console-sdk/src/protocol/realtime.ts:167
Cadence block — SPM (rower/ski) or RPM (bike).
averageRate
Section titled “averageRate”averageRate:
number
rate:
number
strokeCount
Section titled “strokeCount”strokeCount:
number
distance
Section titled “distance”distance:
object
Defined in: console-sdk/src/protocol/realtime.ts:152
Distance block, all meters.
splitMeters
Section titled “splitMeters”splitMeters:
number
stageMeters
Section titled “stageMeters”stageMeters:
number
totalMeters
Section titled “totalMeters”totalMeters:
number
energy
Section titled “energy”energy:
object
Defined in: console-sdk/src/protocol/realtime.ts:169
Energy block, calories and calories-per-hour.
averageCaloriesPerHour
Section titled “averageCaloriesPerHour”averageCaloriesPerHour:
number|null
calories
Section titled “calories”calories:
number
caloriesPerHour
Section titled “caloriesPerHour”caloriesPerHour:
number
segmentCalories
Section titled “segmentCalories”segmentCalories:
number
workoutCalories
Section titled “workoutCalories”workoutCalories:
number
extended
Section titled “extended”extended: {
dragFactor:number|null;linearSpeedMps:number|null;singleStrokeMeters:number|null;singleStrokeSeconds:number|null;strokeStatus:StrokeStatus|null;torqueCurve: readonlynumber[] |null; } |null
Defined in: console-sdk/src/protocol/realtime.ts:183
V2.0+ firmware tail; null on older consoles.
heartRateBpm
Section titled “heartRateBpm”heartRateBpm:
number|null
Defined in: console-sdk/src/protocol/realtime.ts:177
Heart rate from a connected monitor, or null when none.
lastSplit
Section titled “lastSplit”lastSplit:
LastSplit|null
Defined in: console-sdk/src/protocol/realtime.ts:181
Last completed split, or null until one completes (V2.0+).
pace:
object
Defined in: console-sdk/src/protocol/realtime.ts:154
Pace block.
average
Section titled “average”average:
number
Always normalized seconds-per-500m.
current
Section titled “current”current:
number
Always normalized seconds-per-500m.
native
Section titled “native”native:
object
Native firmware paces (bikes, fw 0209+/0210+) — match the console display exactly (RM-621).
native.per1000m
Section titled “native.per1000m”per1000m:
PaceTriple|null
native.perMile
Section titled “native.perMile”perMile:
PaceTriple|null
segment
Section titled “segment”segment:
number
Always normalized seconds-per-500m.
power:
object
Defined in: console-sdk/src/protocol/realtime.ts:165
Power block, all watts.
averageWatts
Section titled “averageWatts”averageWatts:
number
segmentWatts
Section titled “segmentWatts”segmentWatts:
number
watts:
number
receivedAt
Section titled “receivedAt”receivedAt:
number
Defined in: console-sdk/src/protocol/realtime.ts:116
Epoch milliseconds at host receive time.
state:
object
Defined in: console-sdk/src/protocol/realtime.ts:118
Workout-state block, unpacked from the firmware status byte.
isInRest
Section titled “isInRest”isInRest:
boolean
Whether the console is currently in a rest period.
round:
number
Current interval/round number.
workout
Section titled “workout”workout:
"idle"|"working"|"resting"|"finished"
Typed workout state — no FINISH = 0 magic numbers. The firmware’s
idle and finished screens share one raw state; a frame with zero
elapsed time and zero distance is 'idle', otherwise 'finished'.
workoutType
Section titled “workoutType”workoutType:
ConsoleWorkoutType
Type of workout configured on the console.
time:
object
Defined in: console-sdk/src/protocol/realtime.ts:133
Time block — decisecond precision as fractional seconds.
elapsedSeconds
Section titled “elapsedSeconds”elapsedSeconds:
number
Total elapsed time in seconds.
estimatedFinishSeconds
Section titled “estimatedFinishSeconds”estimatedFinishSeconds:
number|null
Estimated time to finish the workout; null when not reported.
restRemainingSeconds
Section titled “restRemainingSeconds”restRemainingSeconds:
number
Rest countdown in seconds, with the −5 decisecond BLE-latency
compensation already applied. 0 outside rest — and 0 for the
whole of an until-user-continues rest (the 3600 s firmware sentinel
is normalized away here; the session snapshot’s typed rest carries
the kind, §3.3.4).
splitSeconds
Section titled “splitSeconds”splitSeconds:
number
Time in the current split/interval in seconds.
totalWithRestSeconds
Section titled “totalWithRestSeconds”totalWithRestSeconds:
number|null
Total time including rest periods; null below firmware V2.0.