src.bluetooth_sig.advertising.service_resolver¶
Resolve advertised service UUIDs to GATT service classes.
Maps advertised service UUIDs (from AD types 0x02-0x07) to GATT service classes. This bridges advertising discovery with GATT service discovery, allowing callers to pre-plan which characteristics to read after connecting.
Based on Bluetooth SIG Core Specification Supplement for advertising data AD Type categories.
Classes¶
Name | Description |
|---|---|
Resolves advertised service UUIDs to GATT service classes. |
|
Information about a resolved advertised service. |
Module Contents¶
- class src.bluetooth_sig.advertising.service_resolver.AdvertisingServiceResolver¶
Resolves advertised service UUIDs to GATT service classes.
Maps service UUIDs advertised in BLE advertisements to their corresponding GATT service classes from the registry.
Example
resolver = AdvertisingServiceResolver()
# Resolve a single UUID resolved = resolver.resolve(BluetoothUUID(“0000180f-0000-1000-8000-00805f9b34fb”)) if resolved.service_class:
print(f”Found service: {resolved.name}”)
# Resolve multiple UUIDs from advertisement service_uuids = [
BluetoothUUID(“0000180f-0000-1000-8000-00805f9b34fb”), # Battery Service BluetoothUUID(“0000180d-0000-1000-8000-00805f9b34fb”), # Heart Rate Service
] resolved_services = resolver.resolve_all(service_uuids)
- get_known_services(uuids: list[bluetooth_sig.types.uuid.BluetoothUUID] | list[str]) list[ResolvedService]¶
Get only the services that have known GATT service classes.
Filters out unknown services from the result.
- Parameters:
uuids – List of service UUIDs to check.
- Returns:
List of ResolvedService objects for known services only.
- get_sig_services(uuids: list[bluetooth_sig.types.uuid.BluetoothUUID] | list[str]) list[ResolvedService]¶
Get only the SIG-defined services from the list.
Filters to return only services with SIG-assigned 16-bit UUIDs.
- Parameters:
uuids – List of service UUIDs to check.
- Returns:
List of ResolvedService objects for SIG-defined services only.
- resolve(uuid: bluetooth_sig.types.uuid.BluetoothUUID | str) ResolvedService¶
Resolve a single service UUID to its GATT service class.
- Parameters:
uuid – The service UUID to resolve.
- Returns:
ResolvedService with service class if found, or None if unknown.
- resolve_all(uuids: list[bluetooth_sig.types.uuid.BluetoothUUID] | list[str]) list[ResolvedService]¶
Resolve multiple service UUIDs.
- Parameters:
uuids – List of service UUIDs to resolve.
- Returns:
List of ResolvedService objects, one per input UUID.
- class src.bluetooth_sig.advertising.service_resolver.ResolvedService(uuid: bluetooth_sig.types.uuid.BluetoothUUID, service_class: type[bluetooth_sig.gatt.services.base.BaseGattService] | None, name: str, *, is_sig_defined: bool)¶
Information about a resolved advertised service.
- uuid¶
The service UUID from the advertisement.
- service_class¶
The GATT service class, or None if not in registry.
- name¶
Human-readable service name.
- is_sig_defined¶
Whether this is a SIG-defined service.
- is_sig_defined¶
- name¶
- service_class¶
- uuid¶