Skip to content

Device

Defined in: console-sdk/src/device/deviceModel.ts:128

The unified device record (SDK_PLAN.md §3.3.2): discovered, saved, and connected are facets of this ONE type, not separate lists. useDevices() returns readonly Device[]; every per-device hook is keyed by Device.id. Single-console usage is the N=1 case of the same model.

autoReconnect: boolean

Defined in: console-sdk/src/device/deviceModel.ts:154

Persisted per-device auto-reconnect policy.


batteryPercent: number | null

Defined in: console-sdk/src/device/deviceModel.ts:190

Last-known battery percentage; null if unknown.


bleName: string

Defined in: console-sdk/src/device/deviceModel.ts:136

Advertised BLE name, e.g. 'ROGUE ECHO BIKE 123456'.


connection: ConnectionState

Defined in: console-sdk/src/device/deviceModel.ts:171

Connection facet — the state machine in §3.4.


consoleId: string | null

Defined in: console-sdk/src/device/deviceModel.ts:147

User-visible 6-digit console id, derived from the advertised name and verified against the DIS serial on connect; null when the name carries none.


displayName: string

Defined in: console-sdk/src/device/deviceModel.ts:141

Human-friendly name, e.g. 'Echo Bike' — the ONE classification impl and ONE naming impl.


displayUnits: DisplayUnits | null

Defined in: console-sdk/src/device/deviceModel.ts:195

Reactive console display-unit preferences; set via useConsoleControls(id).setDisplayUnits. null until read on connect.


firmware: { gd: string; rf: string | null; } | null

Defined in: console-sdk/src/device/deviceModel.ts:188

Two-MCU firmware readout (gd general, rf radio), populated during connection setup and retained while disconnected; null if never read.


id: DeviceId

Defined in: console-sdk/src/device/deviceModel.ts:130

Stable identifier; every per-device structure in the SDK is keyed by it.


isConnected: boolean

Defined in: console-sdk/src/device/deviceModel.ts:176

Derived convenience: true while a session survives a blip — connection.status is 'ready', 'reconnecting', or 'updating'.


lastConnectedAt: number | null

Defined in: console-sdk/src/device/deviceModel.ts:156

Epoch ms of the most recent successful connection; null if never.


modality: Modality | null

Defined in: console-sdk/src/device/deviceModel.ts:134

Exercise modality; null when a console reports no modality.


model: DeviceModel

Defined in: console-sdk/src/device/deviceModel.ts:132

Concrete hardware model ('echo-rhino' is first-class).


presence: object

Defined in: console-sdk/src/device/deviceModel.ts:161

Discovery facet — SDK-owned 15 s scan TTL; consumers never run timers.

available: boolean

Seen within the scan TTL.

lastSeenAt: number | null

Epoch ms of the most recent advertisement; null if never seen.

rssi: number | null

Signal strength of the most recent advertisement; null if unknown.


saved: boolean

Defined in: console-sdk/src/device/deviceModel.ts:150

Persistence facet — whether the device is a saved device.


savedAt: number | null

Defined in: console-sdk/src/device/deviceModel.ts:152

Epoch ms the device was first saved; null when not saved.


serial: string | null

Defined in: console-sdk/src/device/deviceModel.ts:183

Last-known DIS serial, populated during connection setup and retained while disconnected so list rows render without narrowing; null if never read.