Preparing search index...

    Interface BLEApi

    interface BLEApi {
        localBluetoothManaged: boolean;
        connectGATT(mac: string, pluginId: string): Promise<BLEGattConnection>;
        getDevice(
            mac: string,
        ): Promise<
            | {
                connectable: boolean;
                lastSeen: number;
                mac: string;
                rssi: number;
                seenBy: { lastSeen: number; providerId: string; rssi: number }[];
                addressType?: "public" | "random";
                gattClaimedBy?: string | null;
                name?: string;
            }
            | null,
        >;
        getDevices(): Promise<
            {
                connectable: boolean;
                lastSeen: number;
                mac: string;
                rssi: number;
                seenBy: { lastSeen: number; providerId: string; rssi: number }[];
                addressType?: "public" | "random";
                gattClaimedBy?: string | null;
                name?: string;
            }[],
        >;
        getGATTClaims(): Map<string, string>;
        onAdvertisement(
            pluginId: string,
            callback: (
                adv: {
                    mac: string;
                    providerId: string;
                    rssi: number;
                    timestamp: number;
                    addressType?: "public" | "random";
                    connectable?: boolean;
                    manufacturerData?: { [key: number]: string };
                    name?: string;
                    serviceData?: { [key: string]: string };
                    serviceUuids?: string[];
                    txPower?: number;
                },
            ) => void,
        ): () => void;
        register(pluginId: string, provider: BLEProvider): void;
        releaseGATTDevice(mac: string, pluginId: string): Promise<void>;
        subscribeGATT(
            descriptor: GATTSubscriptionDescriptor,
            pluginId: string,
            callback: (charUuid: string, data: Buffer) => void,
        ): Promise<GATTSubscriptionHandle>;
        unRegister(pluginId: string): void;
    }
    Index
    localBluetoothManaged: boolean

    Whether the server manages the local Bluetooth adapter

    • Single device lookup

      Parameters

      • mac: string

      Returns Promise<
          | {
              connectable: boolean;
              lastSeen: number;
              mac: string;
              rssi: number;
              seenBy: { lastSeen: number; providerId: string; rssi: number }[];
              addressType?: "public" | "random";
              gattClaimedBy?: string | null;
              name?: string;
          }
          | null,
      >

    • All visible devices, deduplicated by MAC

      Returns Promise<
          {
              connectable: boolean;
              lastSeen: number;
              mac: string;
              rssi: number;
              seenBy: { lastSeen: number; providerId: string; rssi: number }[];
              addressType?: "public" | "random";
              gattClaimedBy?: string | null;
              name?: string;
          }[],
      >

    • Subscribe to a merged advertisement stream from all providers. pluginId is used to track consumer plugins in the BLE Manager UI. Returns an unsubscribe function.

      Parameters

      • pluginId: string
      • callback: (
            adv: {
                mac: string;
                providerId: string;
                rssi: number;
                timestamp: number;
                addressType?: "public" | "random";
                connectable?: boolean;
                manufacturerData?: { [key: number]: string };
                name?: string;
                serviceData?: { [key: string]: string };
                serviceUuids?: string[];
                txPower?: number;
            },
        ) => void

      Returns () => void