src.bluetooth_sig.advertising.pdu_parser

BLE Advertising PDU parser.

This module provides a parser for BLE advertising PDU data packets, extracting device information, manufacturer data, and service UUIDs from both legacy and extended advertising formats.

This is the low-level BLE spec parser. For interpreting vendor-specific sensor data (e.g., Xiaomi, RuuviTag, BTHome), see the AdvertisingDataInterpreter base class.

Attributes

Name

Description

logger

Classes

Name

Description

AdvertisingPDUParser

Parser for BLE advertising PDU data packets.

Module Contents

class src.bluetooth_sig.advertising.pdu_parser.AdvertisingPDUParser

Parser for BLE advertising PDU data packets.

Parses raw BLE advertising PDU bytes into structured AdvertisingData, handling both legacy and extended advertising formats.

This is the low-level parsing layer that extracts: - Manufacturer data (company_id → payload) - Service data (UUID → payload) - Flags, local name, appearance, TX power - Extended advertising fields (BLE 5.0+)

For vendor-specific interpretation (e.g., BTHome sensor values), use AdvertisingDataInterpreter subclasses.

parse_advertising_data(raw_data: bytes) bluetooth_sig.types.AdvertisingData

Parse raw advertising data and return structured information.

Parameters:

raw_data – Raw bytes from BLE advertising packet

Returns:

AdvertisingData with parsed information

src.bluetooth_sig.advertising.pdu_parser.logger