Firefox Tomorrow

web api interface

BluetoothCharacteristicProperties

View on MDN ↗

Secure contextLimited availability

The BluetoothCharacteristicProperties interface of the Web Bluetooth API provides the operations that are valid on the given BluetoothRemoteGATTCharacteristic.

This interface is returned by calling properties.

Instance properties

  • authenticatedSignedWrites Read only Experimental
    • : Returns a boolean that is true if signed writing to the characteristic value is permitted.
  • broadcast Read only Experimental
    • : Returns a boolean that is true if the broadcast of the characteristic value is permitted using the Server Characteristic Configuration Descriptor.
  • indicate Read only Experimental
    • : Returns a boolean that is true if indications of the characteristic value with acknowledgement is permitted.
  • notify Read only Experimental
    • : Returns a boolean that is true if notifications of the characteristic value without acknowledgement is permitted.
  • read Read only Experimental
    • : Returns a boolean that is true if the reading of the characteristic value is permitted.
  • reliableWrite Read only Experimental
    • : Returns a boolean that is true if reliable writes to the characteristic is permitted.
  • writableAuxiliaries Read only Experimental
    • : Returns a boolean that is true if reliable writes to the characteristic descriptor is permitted.
  • write Read only Experimental
    • : Returns a boolean that is true if the writing to the characteristic with response is permitted.
  • writeWithoutResponse Read only Experimental
    • : Returns a boolean that is true if the writing to the characteristic without response is permitted.

Examples

The following example shows how tell if a GATT characteristic supports value change notifications.

let device = await navigator.bluetooth.requestDevice({
  filters: [{ services: ["heart_rate"] }],
});
let gatt = await device.gatt.connect();
let service = await gatt.getPrimaryService("heart_rate");
let characteristic = await service.getCharacteristic("heart_rate_measurement");
if (characteristic.properties.notify) {
  characteristic.addEventListener(
    "characteristicvaluechanged",
    async (event) => {
      console.log(`Received heart rate measurement: ${event.target.value}`);
    },
  );
  await characteristic.startNotifications();
}

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.