# onDeviceStatusChanged

Canonical page: https://docs.ovok.com/native-sdk/guide/components/bt-management/bt-provider/on-device-status-changed

The provider calls `onDeviceStatusChanged` when the manager reports a device status. The payload contains the device metadata, the new status, and an optional measurement type key.

~~~tsx
<BTProvider
  {...providerProps}
  onDeviceStatusChanged={({ deviceData, status, measurementTypeKey }) => {
    updateDeviceRow(deviceData.id, status, measurementTypeKey);
  }}
/>
~~~

`status` is one of `Connected`, `Disconnected`, `Measuring`, or `LowBattery`. Use this callback for a concise connection indicator. Pairing state, battery percentage, and history-transfer progress use `onConnectionEvent`.

When the `BTProvider` is also inside `DeviceListProvider`, the SDK updates matching built-in device list entries by `deviceData.name`. The app may use this callback to drive its own UI and state store.

See [BTDeviceList](/native-sdk/guide/components/bt-device/bt-device-list/) for the SDK list component and [connection events](/native-sdk/guide/components/bt-management/bt-provider/on-connection-event).
