Bluetooth device types
IntegratedDevices is the SDK's enum of recognized device keys. It is not, by itself, a promise that every advertised name in the enum has a decoder. Device matching and protocol decoding are separate: a name can be recognized for display while a connection still requires a protocol implementation.
Use the supported catalog first
SUPPORTED_DEVICES contains ready-to-use declarations for catalog entries. Each entry has an acceptedDevices array for BTProvider. Some display entries have an empty array; do not present those entries as connectable.
import { SUPPORTED_DEVICES } from "@ovok/native/bt-device";
const selection = SUPPORTED_DEVICES.find(
(entry) => entry.id === selectedId,
);
const acceptedDevices = selection?.acceptedDevices ?? [];
The manager currently has built-in device classes for BP2, F4, OxySmart, Oxyfit, mySense, BC01, TAIDOC TD4216, GlucoCheck, BGM, and the three Veroval integrations: duo control, ECG, and activity. The catalog also includes ready-to-use standard GATT declarations for blood pressure, heart rate, pulse oximetry, temperature, and body weight profiles.
A standard GATT profile is a protocol declaration, not a wildcard. The declaration still needs the device's advertised name or service match. Use the catalog's accepted declarations so the profile, device match, and measurement metadata stay together.
Add a custom protocol
When the SDK has no matching implementation, define a custom device and pass the resulting declaration alongside built-in entries. See Custom devices for the frame, field, checksum, and registration rules.
The declarative API supports service and characteristic matching, frame selection, result/stream/idle cases, validated measurement fields, optional static writes, and the specialized Lepu/Viatom declaration. A protocol that requires a handshake or command sequence outside those shapes needs an SDK driver.
See Supported devices, Bluetooth types, and the Bluetooth guide.