@ovok/native/bt-device

Bluetooth device lists, the supported-device catalog and device images.

  • Stable unknown
  • Release candidate since 1.16.1-rc.3
  • Development since 1.16.1-dev.2111+9796905

Bluetooth device lists, the supported-device catalog and device images.

Import from @ovok/native/bt-device.

Components

BTDeviceItem()

function BTDeviceItem(__namedParameters): Element;

Pressable device card; compose it with the BTDeviceItem.* sub-components.

Parameters

ParameterType
__namedParametersPropsWithChildren<TouchableOpacityProps>

Returns

Element


BTDeviceList()

function BTDeviceList(__namedParameters): Element;

Renders the connectable devices from the device list context as tappable cards with instructions.

Parameters

ParameterType
__namedParametersBTDeviceListProps

Returns

Element


DeviceListProvider()

function DeviceListProvider(__namedParameters): Element;

Provides the device list state, seeded with the default catalog, to descendants.

Parameters

ParameterType
__namedParameters{ children: ReactNode; }
__namedParameters.childrenReactNode

Returns

Element


SupportedDeviceList()

function SupportedDeviceList(__namedParameters): Element;

Renders the catalog of supported devices with manufacturer and image credit.

Parameters

ParameterType
__namedParametersSupportedDeviceListProps

Returns

Element

Hooks

useDeviceList()

function useDeviceList(): DeviceListContextValue;

Returns the device list and its setter; must be used within DeviceListProvider.

Returns

DeviceListContextValue


useSupportedDevices()

function useSupportedDevices(filter?): SupportedDeviceDefinition[];

The catalog products matching filter, in catalog order: by kind, manufacturer, what they measure, delivery, key, or a where of your own. Every product without a filter.

Parameters

ParameterType
filter?DeviceFilter

Returns

SupportedDeviceDefinition[]

Functions

deliveryOf()

function deliveryOf(devices): DeviceDelivery;

"live" for a device that streams values while connected: one listed in LIVE_DEVICE_KEYS, or a declaration that keeps a live session (sessionPolicy), such as the O2Ring's. Takes the declarations, or only their keys.

Parameters

Returns

DeviceDelivery


deviceKeyOf()

function deviceKeyOf(device): DeviceKey;

The key BTManager reports a device under (deviceData.name): a built-in parser or a declaration id.

Parameters

ParameterType
deviceAcceptedDevice

Returns

DeviceKey


deviceMatches()

function deviceMatches(device, filter?): boolean;

Whether a catalog product matches every field of filter.

Parameters

ParameterType
deviceSupportedDeviceDefinition
filter?DeviceFilter

Returns

boolean


filterSupportedDevices()

function filterSupportedDevices(filter?, devices?): SupportedDeviceDefinition[];

The catalog products matching filter, in catalog order.

Parameters

ParameterTypeDefault value
filter?DeviceFilterundefined
devices?readonly SupportedDeviceDefinition[]SUPPORTED_DEVICES

Returns

SupportedDeviceDefinition[]


findSupportedDevice()

function findSupportedDevice(of): SupportedDeviceDefinition | undefined;

The catalog product behind a string (a catalog id, else a product name, else a reported key) or a connected device's deviceData: the product its advertised name identified, else its key's product. Pass deviceData for a device: a key can also be another product's name.

Parameters

ParameterType
of| string | Pick<DeviceData, "name" | "variant">

Returns

SupportedDeviceDefinition | undefined


imageCreditOf()

function imageCreditOf(credit): DeviceImageCredit;

"Label: https://…" as { label, url }, the URL ending at a space or ; (a note may follow it); an SDK illustration's note as its first clause.

Parameters

ParameterType
creditstring

Returns

DeviceImageCredit


kindOf()

function kindOf(types): DeviceKind;

Classifies a device by the measurement types it reports.

Parameters

ParameterType
typesreadonly MeasurementTypeKey[]

Returns

DeviceKind


primaryMeasurementOf()

function primaryMeasurementOf(types): MeasurementTypeKey | undefined;

The reading a device is for. Heart rate comes along with most readings (a blood pressure, an ECG, a step count), so it is the main one only on a device that measures nothing else.

Parameters

ParameterType
typesreadonly MeasurementTypeKey[]

Returns

MeasurementTypeKey | undefined


resultPoliciesFor()

function resultPoliciesFor(devices): Record<string, DeviceResultPolicy>;

resultPolicies keeping each live device in devices as series (LIVE_RESULT_POLICY); spot devices keep every reading.

Parameters

ParameterType
devicesreadonly SupportedDeviceDefinition[]

Returns

Record<string, DeviceResultPolicy>

Interfaces

DeviceListContextValue

Value exposed by the device list context.

Properties

PropertyTypeDescription
deviceListItemsDeviceListItem[]Devices currently shown in the list.
setDeviceListItemsDispatch<SetStateAction<DeviceListItem[]>>Replaces the device list.

Type Aliases

DeviceDelivery

type DeviceDelivery = "spot" | "live";

How a device hands over readings: spot gives one per measurement; live sends values every second or so for as long as it is connected (a heart-rate strap, a live oximeter, the Lepod).


DeviceFilter

type DeviceFilter = object;

Narrows the device catalog. Every field given must match, and a list matches any one of its values: { kind: "blood-pressure-monitor", manufacturer: "HARTMANN" }, { measures: MeasurementTypeKey.ecg, delivery: "spot" }, { manufacturer: /yonker/i }.

Properties

delivery?
delivery?: DeviceDelivery;

Matches how readings are delivered.

id?
id?: OneOrMany<string>;

Matches the product ID.

key?
key?: OneOrMany<DeviceKey>;

Reported under any of these keys (deviceData.name).

kind?
kind?: OneOrMany<DeviceKind>;

Matches the device kind.

manufacturer?
manufacturer?: TextMatch;

Matches the manufacturer name.

measures?
measures?: OneOrMany<MeasurementTypeKey>;

Measures any of these.

name?
name?: TextMatch;

Matches the product name.

primaryMeasurement?
primaryMeasurement?: OneOrMany<MeasurementTypeKey>;

Matches the primary measurement.

shared?
shared?: boolean;

Matches whether the parser serves other products.

standardProfile?
standardProfile?: boolean;

Matches devices using a standard Bluetooth SIG profile.

where?
where?: (device) => boolean;

Anything the fields above don't cover.

Parameters
ParameterType
deviceSupportedDeviceDefinition
Returns

boolean


DeviceImageCredit

type DeviceImageCredit = object;

Who made the catalog image, and where it came from when that is a web page.

Properties

label
label: string;

Name of who made the image.

url?
url?: string;

Web page the image came from.


DeviceKind

type DeviceKind =
  | "blood-pressure-monitor"
  | "weight-scale"
  | "pulse-oximeter"
  | "thermometer"
  | "glucose-meter"
  | "ecg-recorder"
  | "heart-rate-monitor"
  | "activity-tracker"
  | "urine-analyzer"
  | "lipid-analyzer"
  | "respiratory-therapy"
  | "sleep-monitor"
  | "multi-parameter-monitor"
  | "other";

What a device is for, named after its main measurement.


DeviceListItem

type DeviceListItem = object;

One entry of the device list.

Properties

deviceImageUri
deviceImageUri: string;

URI of the device image.

deviceType
deviceType: IntegratedDevices;

Integrated device this entry represents.

status
status: DeviceStatus;

Current connection status.

subtitle
subtitle: string;

Translation key of the subtitle.

title
title: string;

Translation key of the title.


OneOrMany

type OneOrMany<T> = T | readonly T[];

A single value or a list of values.

Type Parameters

Type Parameter
T

SupportedDevice

type SupportedDevice = object;

Catalog entry of a supported device.

Properties

creditsForImage
creditsForImage: string;

Credit for the image.

logo: string;

Image of the product as a URI.

manufacturer
manufacturer: string;

Manufacturer name.

manufacturerKey
manufacturerKey: string;

Translation key of the manufacturer name.

name
name: string;

Product name.

nameKey
nameKey: string;

Translation key of the product name.

standardProfile?
standardProfile?: true;

Set for devices that use a standard Bluetooth SIG profile.


SupportedDeviceDefinition

type SupportedDeviceDefinition = SupportedDevice & object;

Catalog entry extended with its connection and measurement details.

Type Declaration

NameTypeDescription
acceptedDevicesreadonly AcceptedDevice[]Ready to pass directly to BTProvider.acceptedDevices.
deliveryDeviceDeliveryOne reading per measurement, or values continuously while connected.
idstringUnique ID of the product.
imageCreditDeviceImageCreditcreditsForImage as a label and, for a web source, its URL.
keysreadonly DeviceKey[]Every key BTManager reports this product's devices under (deviceData.name).
kindDeviceKindWhat the product is for: a blood-pressure monitor, a weight scale, an ECG recorder…
manualUrl?stringLink to the user manual.
measurementTypesreadonly MeasurementTypeKey[]Measurement types it reports.
primaryMeasurement?MeasurementTypeKeyThe reading it is for; the rest of measurementTypes come along with it.
sharedbooleanIts parser also serves other products (rebadged models, a Bluetooth SIG profile), so a connected device may be any of them: deviceData.variant names the one it is, when known.

SupportedDeviceListProps

type SupportedDeviceListProps = Omit<FlatListProps<SupportedDevice>, "data" | "renderItem"> & object;

Props of SupportedDeviceList: FlatList props except data.

Type Declaration

NameTypeDescription
renderItem?FlatListProps<SupportedDevice>["renderItem"]Custom row renderer; defaults to the standard device card.

TextMatch

type TextMatch = OneOrMany<string> | RegExp;

Text to match: a value (in any case), any of several, or a pattern.

Variables

DEVICE_INSTRUCTION_PDFS

const DEVICE_INSTRUCTION_PDFS: Partial<Record<IntegratedDevices, string>>;

Instruction manuals for the built-in parsers that have one.


deviceImages

const deviceImages: object;

Base64 data-URI images of the supported devices, keyed by device.

Type Declaration

NameTypeDefault valueDescription
alivecorDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAADICAYAAACAj9YNAAAACXBIWXMAA…Base64 image of the AliveCor Kardia Mobile.
andesfitB33ADeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the Andesfit B33A thermometer.
aoj20aDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the Viatom Smart AOJ20A.
bc401DeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the Contec BC401.
bgmDeviceImagestring"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAK…Base64 image of the blood glucose meter.
bodyWeightDeviceSmallImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmQAAAJkCAYAAAC/ET28AAAACXBIWXMAA…Base64 image of the body weight scale (small).
cosinussDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnQAAAGNCAYAAACYHOyDAAAMP2lDQ1BJQ…Base64 image of the Cosinuss in-ear sensor.
foraIR20DeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the FORA IR20 thermometer.
foraW550DeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the FORA W550 scale.
glucocheckDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the Glucocheck glucometer.
sp80bDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAACXBIWXMAA…Base64 image of the Lepu SP80B.
taidocTD1107DeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the TaiDoc TD1107 thermometer.
taidocTD4216DeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the TaiDoc TD4216 glucometer.
telerpmDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAYAAADNkKWqAAAACXBIWXMAA…Base64 image of the Transtek Tele-RPM scale.
viatomBpOneTwoCmstring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYoAAAFdCAIAAACSJ73QAAAACXBIWXMAA…Base64 image of the Viatom BP1/BP2 monitor (compact).
viatomDeviceSmallImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAYAAADG4PRLAAAACXBIWXMAA…Base64 image of the Viatom device (small).
viatomEcgButtonDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB5QAAAWACAYAAACWeHp9AAAACXBIWXMAA…Base64 image of the Viatom ECG button device.
viatomScaleDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAA…Base64 image of the Viatom Lescale scale.
viatomWellueArmfitDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAA…Base64 image of the Viatom Wellue Armfit.
viatomWellueOxyfitDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABGdBTUEAA…Base64 image of the Viatom Wellue Oxyfit.
viatomWellueOxySmartDeviceImagestring"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAA…Base64 image of the Viatom Wellue OxySmart.

DeviceListContext

const DeviceListContext: Context<DeviceListContextValue | null>;

Context carrying the device list state.


deviceListItems

const deviceListItems: DeviceListItem[];

Default device list, one disconnected entry per supported device.


Devices

const Devices: readonly [{
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/blood-pressure-monitor";
  logo: "https://static.wixstatic.com/media/34caa4_9f911afc220e4832a17af0b44e515915~mv2.j…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom BP2";
  nameKey: "devices.catalog.viatom-bp2.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/bodyscale";
  logo: "https://static.wixstatic.com/media/5118d8_190c0d815e2445b28baa9ca15cbb71fc~mv2.p…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom F4 / Lescale";
  nameKey: "devices.catalog.viatom-f4-lescale.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/pulse-oximeter";
  logo: "https://static.wixstatic.com/media/5118d8_5424b9d2006a4e918e2f9afc2f038f37~mv2.p…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom OxySmart / PC60WF";
  nameKey: "devices.catalog.viatom-oxysmart-pc60wf.name";
}, {
  creditsForImage: "Contec official BC401 product page: https://contechealth.com/collections/hot-sal…";
  logo: string;
  manufacturer: "Contec Medical Systems";
  manufacturerKey: "devices.catalog.manufacturers.contec";
  name: "Contec BC401 / BC01";
  nameKey: "devices.catalog.contec-bc401-bc01.name";
}, {
  creditsForImage: "HARTMANN official product image: https://www.hartmann.info/en-za/products/diagno…";
  logo: "https://img.hartmann.info/cdn-cgi/image/width%3D412%2Cheight%3D412%2Cquality%3D9…";
  manufacturer: "HARTMANN";
  manufacturerKey: "devices.catalog.manufacturers.hartmann";
  name: "Veroval duo control";
  nameKey: "devices.catalog.veroval-duo-control.name";
}, {
  creditsForImage: "HARTMANN official product image: https://www.hartmann.info/es-es/productos/monit…";
  logo: "https://img.hartmann.info/cdn-cgi/image/width%3D412%2Cheight%3D412%2Cquality%3D9…";
  manufacturer: "HARTMANN";
  manufacturerKey: "devices.catalog.manufacturers.hartmann";
  name: "Veroval ECG";
  nameKey: "devices.catalog.veroval-ecg.name";
}, {
  creditsForImage: "HARTMANN official product image: https://www.hartmann.info/en/products/diagnosti…";
  logo: "https://cdn.hartmann.info/product/40938_43.jpg";
  manufacturer: "HARTMANN";
  manufacturerKey: "devices.catalog.manufacturers.hartmann";
  name: "Veroval compact+ BPU26";
  nameKey: "devices.catalog.veroval-compact-bpu26.name";
}, {
  creditsForImage: "HARTMANN official product image: https://www.hartmann.info/en/products/diagnosti…";
  logo: "https://cdn.hartmann.info/product/40385_43.jpg";
  manufacturer: "HARTMANN";
  manufacturerKey: "devices.catalog.manufacturers.hartmann";
  name: "Veroval compact+ BPW26";
  nameKey: "devices.catalog.veroval-compact-bpw26.name";
}, {
  creditsForImage: "HARTMANN official product image: https://www.hartmann.info/en/products/diagnosti…";
  logo: "https://cdn.hartmann.info/product/130436_43.jpg";
  manufacturer: "HARTMANN";
  manufacturerKey: "devices.catalog.manufacturers.hartmann";
  name: "Veroval Fusion";
  nameKey: "devices.catalog.veroval-fusion.name";
}, {
  creditsForImage: "Veroval Medi.Connect app artwork from APKPure: https://apkpure.net/veroval%C2%AE…";
  logo: "https://image-eo.winudf.com/v2/image/aW5mby52ZXJvdmFsLm1lZGkuY29ubmVjdF9pY29uXzE…";
  manufacturer: "HARTMANN";
  manufacturerKey: "devices.catalog.manufacturers.hartmann";
  name: "Veroval Activity tracker";
  nameKey: "devices.catalog.veroval-activity.name";
}, {
  creditsForImage: "Original OVOK SDK illustration; generic smartwatch artwork, not a manufacturer p…";
  logo: string;
  manufacturer: "Trasense / Shenzhen Pucheng Technology";
  manufacturerKey: "devices.catalog.manufacturers.trasense";
  name: "Trasense S9 (SH09)";
  nameKey: "devices.catalog.trasense-s9.name";
}, {
  creditsForImage: "boso official product image: https://www.boso.de/en/products-for-home-users/bloo…";
  logo: "https://www.boso.de/fileadmin/_processed_/0/b/csm_medicus_system_1019_9ce057ffcc…";
  manufacturer: "BOSCH + SOHN GmbH u. Co. KG";
  manufacturerKey: "devices.catalog.manufacturers.boso";
  name: "boso medicus system";
  nameKey: "devices.catalog.boso-medicus-system.name";
}, {
  creditsForImage: "visomat official product image: https://www.visomat.de/produkte/comfort-soft-bt/";
  logo: "https://www.visomat.de/wp-content/uploads/2023/10/prd_slider_comfort-soft-BT.jpg";
  manufacturer: "UEBE Medical GmbH";
  manufacturerKey: "devices.catalog.manufacturers.uebe";
  name: "visomat comfort soft BT";
  nameKey: "devices.catalog.visomat-comfort-soft-bt.name";
}, {
  creditsForImage: "cyclotest official product image: https://www.cyclotest.de/produkt/cyclotest-mys…";
  logo: "https://www.cyclotest.de/wp-content/uploads/cyclotest-mysense-basalthermometer-a…";
  manufacturer: "UEBE Medical GmbH";
  manufacturerKey: "devices.catalog.manufacturers.uebe";
  name: "cyclotest mySense";
  nameKey: "devices.catalog.cyclotest-mysense.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/thermometer";
  logo: "https://static.wixstatic.com/media/34caa4_2b929fc2abc847bba39252b6e2a12a93~mv2.j…";
  manufacturer: "AOJ Medical";
  manufacturerKey: "devices.catalog.manufacturers.aoj";
  name: "AOJ-20A";
  nameKey: "devices.catalog.aoj-20a.name";
}, {
  creditsForImage: "Viatom official Checkme product image: https://www.viatomtech.com/vital-signs-mo…";
  logo: "https://static.wixstatic.com/media/5118d8_c08c5dadeeda4abaa01d032d342b6404~mv2.p…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Checkme";
  nameKey: "devices.catalog.checkme.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/blood-pressure-monitor";
  logo: "https://static.wixstatic.com/media/34caa4_9f911afc220e4832a17af0b44e515915~mv2.j…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom BP2A / BP2T / BP2W";
  nameKey: "devices.catalog.viatom-bp2-family.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/upper-arm-desk-blood-p…";
  logo: "https://static.wixstatic.com/media/c3f028_2bf2ec93f3284fff868b2786a64bc8cc~mv2.j…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom BP3 series";
  nameKey: "devices.catalog.viatom-bp3-series.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/pulse-oximeter";
  logo: "https://static.wixstatic.com/media/5118d8_5424b9d2006a4e918e2f9afc2f038f37~mv2.p…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom O2Ring / Oxyfit / KidsO2 / BabyO2";
  nameKey: "devices.catalog.viatom-oximeters.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/ecg-ekg-monitor";
  logo: "https://static.wixstatic.com/media/c3f028_1cde982861754abaab00abbaae81a697~mv2.p…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom ER1 / ER2 / ER3";
  nameKey: "devices.catalog.viatom-er-family.name";
}, {
  creditsForImage: "Viatom official product image: https://www.viatomtech.com/ecg-ekg-monitor";
  logo: "https://static.wixstatic.com/media/c3f028_1cde982861754abaab00abbaae81a697~mv2.p…";
  manufacturer: "Viatom (Lepu Medical)";
  manufacturerKey: "devices.catalog.manufacturers.viatom";
  name: "Viatom Lepod / LepodPro";
  nameKey: "devices.catalog.viatom-lepod-family.name";
}, {
  creditsForImage: "Bluetooth SIG official brand assets: https://www.bluetooth.com/media/";
  logo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPH…";
  manufacturer: "Any compliant manufacturer";
  manufacturerKey: "devices.catalog.manufacturers.any-compliant";
  name: "Bluetooth SIG blood-pressure devices";
  nameKey: "devices.catalog.bluetooth-sig.blood-pressure.name";
  standardProfile: true;
}, {
  creditsForImage: "Bluetooth SIG official brand assets: https://www.bluetooth.com/media/";
  logo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPH…";
  manufacturer: "Any compliant manufacturer";
  manufacturerKey: "devices.catalog.manufacturers.any-compliant";
  name: "Bluetooth SIG thermometers";
  nameKey: "devices.catalog.bluetooth-sig.thermometers.name";
  standardProfile: true;
}, {
  creditsForImage: "Bluetooth SIG official brand assets: https://www.bluetooth.com/media/";
  logo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPH…";
  manufacturer: "Any compliant manufacturer";
  manufacturerKey: "devices.catalog.manufacturers.any-compliant";
  name: "Bluetooth SIG weight scales";
  nameKey: "devices.catalog.bluetooth-sig.weight-scales.name";
  standardProfile: true;
}, {
  creditsForImage: "Bluetooth SIG official brand assets: https://www.bluetooth.com/media/";
  logo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPH…";
  manufacturer: "Any compliant manufacturer";
  manufacturerKey: "devices.catalog.manufacturers.any-compliant";
  name: "Bluetooth SIG pulse oximeters";
  nameKey: "devices.catalog.bluetooth-sig.pulse-oximeters.name";
  standardProfile: true;
}, {
  creditsForImage: "Bluetooth SIG official brand assets: https://www.bluetooth.com/media/";
  logo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPH…";
  manufacturer: "Any compliant manufacturer";
  manufacturerKey: "devices.catalog.manufacturers.any-compliant";
  name: "Bluetooth SIG glucose meters";
  nameKey: "devices.catalog.bluetooth-sig.glucose-meters.name";
  standardProfile: true;
}, {
  creditsForImage: "Bluetooth SIG official brand assets: https://www.bluetooth.com/media/";
  logo: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPH…";
  manufacturer: "Any compliant manufacturer";
  manufacturerKey: "devices.catalog.manufacturers.any-compliant";
  name: "Bluetooth SIG heart-rate monitors";
  nameKey: "devices.catalog.bluetooth-sig.heart-rate.name";
  standardProfile: true;
}, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice, SupportedDevice];

Concrete devices and device families supported by the Bluetooth module.

The standard Bluetooth SIG entries are included because the SDK exposes factories for those profiles; the application supplies the advertised device name when registering one. Every entry has an image value. Existing product assets are reused where available, while official manufacturer and standards-organization images cover the remaining entries.


LIVE_DEVICE_KEYS

const LIVE_DEVICE_KEYS: ReadonlySet<string>;

Built-in devices that send readings continuously while connected rather than one per measurement: the live oximeters (each value they send is a reading), the PC-100 and PC-300 monitors, the wearable T31 thermometer, the Lepod after its stored recordings, and Bluetooth SIG heart-rate straps (a value a second). A declaration that keeps a live session (sessionPolicy) is live without being listed.


LIVE_RESULT_POLICY

const LIVE_RESULT_POLICY: DeviceResultPolicy;

Keeps a live device's whole stream: every live value goes into a series of one-second slots, reported as one result when it closes (when the device disconnects, after an hour, or 15 minutes without a value). The single measurements a live device also takes, a blood pressure, a glucose reading or an ECG recording, are each reported. Pass it in resultPolicies for live devices (resultPoliciesFor does it for a whole list), with seriesStorage so a series survives the app closing.


SUPPORTED_ACCEPTED_DEVICES

const SUPPORTED_ACCEPTED_DEVICES: readonly AcceptedDevice[];

A de-duplicated list ready to pass directly to BTProvider.acceptedDevices.


SUPPORTED_DEVICES

const SUPPORTED_DEVICES: readonly SupportedDeviceDefinition[] = supportedDevices;

Catalog of the supported devices with their metadata.


supportedDevices

const supportedDevices: readonly SupportedDeviceDefinition[];

The catalog with what each product is: its kind, main reading, delivery and keys.

Last updated on

On this page