Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The BluetoothRemoteGattCharacteristic interface of the Web Bluetooth API represents a GATT Characteristic, which is a basic data element that provides further information about a peripheral’s service.
Interface
interface BluetoothRemoteGATTCharacteristic {
readonly attribute BluetoothRemoteGATTService service;
readonly attribute UUID uuid;
readonly attribute BluetoothCharacteristicProperties properties;
readonly attribute DataView? value;
Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID descriptor);
Promise<sequence<BluetoothRemoteGATTDescriptor>>
getDescriptors(optional BluetoothDescriptorUUID descriptor);
Promise<DataView> readValue();
Promise<void> writeValue(BufferSource value);
Promise<void> startNotifications();
Promise<void> stopNotifications();
};
BluetoothRemoteGATTCharacteristic implements EventTarget;
BluetoothRemoteGATTCharacteristic implements CharacteristicEventHandlers;
Properties
BluetoothRemoteGATTCharacteristic.serviceRead only- Returns the
BluetoothGATTServicethis characteristic belongs to. BluetoothRemoteGATTCharacteristic.uuidRead only- Returns a
DOMStringcontaining the UUID of the characteristic, for example'00002a37-0000-1000-8000-00805f9b34fb'for the Heart Rate Measurement characteristic. BluetoothRemoteGATTCharacteristic.propertiesRead only- Returns the properties of this characteristic.
BluetoothRemoteGATTCharacteristic.valueRead only- The currently cached characteristic value. This value gets updated when the value of the characteristic is read or updated via a notification or indication.
Methods
BluetoothRemoteGATTCharacteristic.getDescriptor()Read only- Returns a
Promisethat resolves to the firstBluetoothGATTDescriptorfor a given descriptor UUID. BluetoothRemoteGATTCharacteristic.getDescriptors()Read only- Returns a
Promisethat resolves to anArrayof allBluetoothGATTDescriptorobjects for a given descriptor UUID. BluetoothRemoteGATTCharacteristic.readValue()Read only- Returns a
Promisethat resolves to anArrayBufferholding a duplicate of thevalueproperty if it is available and supported. Otherwise it throws an error. BluetoothRemoteGATTCharacteristic.writeValue()Read only- Sets the value property to the bytes contained in an
ArrayBufferand returns aPromise. BluetoothRemoteGATTCharacteristic.startNotifications()Read only- Returns a
Promisewhennavigator.bluetoothis added to the active notification context. BluetoothRemoteGATTCharacteristic.stopNotifications()Read only- Returns a
Promisewhennavigator.bluetoothis removed from the active notification context.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Bluetooth | Draft | Initial definition. |
Browser Compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 45.0 [1] | ? | ? | ? | ? |
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|
| Basic support | No support | No support | ? | ? | ? | ? | ? | No support |
[1] Behind a flag. Chrome OS only.
Document Tags and Contributors
Tags:
Contributors to this page:
jpmedley,
chrisdavidmills
Last updated by:
jpmedley,