skillfed

bthome-ble

BThome BLE support

bthome-ble v3.24.0 79.7K downloads/30d#14,335 on PyPI140
Permissive license MIT Active released

What it is and what it does

bthome-ble is a parser library for Bluetooth Low Energy sensors that advertise data using the BTHome format standard. It decodes BLE advertisement payloads into structured sensor readings, supporting both BTHome V1 and V2 protocol versions. The package wraps lower-level BLE handling via habluetooth and uses cryptography for any encrypted sensor data, making it suitable for home automation and IoT applications that need to ingest standardized BLE sensor broadcasts.

The library is in pre-alpha development but actively maintained, with recent releases and a small but engaged user base. It targets Python 3.11+ and integrates with the broader Bluetooth device ecosystem through its dependency chain, particularly sensor-state-data and bluetooth-sensor-state-data for normalized sensor representation.

Use it for:

  • Decode temperature, humidity, and other sensor readings from BTHome-compatible BLE devices in home automation systems.
  • Build a BLE gateway or hub that collects and normalizes sensor data from multiple BTHome devices.
  • Integrate BTHome sensor streams into Home Assistant or similar IoT platforms that support BLE discovery.
  • Parse raw BLE advertisement packets to extract structured metrics for monitoring or logging.
  • Prototype IoT applications that consume standardized BTHome sensor broadcasts without writing low-level BLE parsing code.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Parses and decodes BLE sensor data in the BTHome format (V1 and V2), extracting structured sensor readings from Bluetooth Low Energy advertisements.

Yes, if you are building BLE sensor integrations or home automation systems that work with BTHome-compatible devices. The low install friction, active maintenance, and MIT license make it a straightforward choice. The pre-alpha status means the API may shift, but recent activity and 140 repository stars suggest reasonable stability for current use. Not necessary if you are not working with BTHome format sensors.

Install

bthome-ble on PyPI

pip

pip install bthome-ble

uv

uv add bthome-ble

poetry

poetry add bthome-ble

Installing bthome-ble

Before you install

Low install friction with a pure-Python wheel. Active maintenance with a release 24 days ago and recent commits. Requires Python 3.11 or later and depends on five runtime packages including cryptography and habluetooth for BLE connectivity.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install bthome-ble

from bthome_ble import BTHomeBluetoothDeviceData

# Parse BLE advertisement data
device_data = BTHomeBluetoothDeviceData()

Requires Python 3.11 or later; BLE connectivity depends on the habluetooth library and underlying system Bluetooth support.

Verify before relying

  • Specific sensor types and measurement units supported by V1 and V2 format
  • Whether the package handles malformed or partial BTHome advertisements gracefully
  • Performance characteristics with high-frequency sensor updates

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 5 — bluetooth-data-tools, bluetooth-sensor-state-data, cryptography, habluetooth, sensor-state-data
Maintenance actively maintained — 24 days since the last release
Last repo commit
First released
Downloads 79,735/month — #14,335 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: bthome_ble-3.24.0-py3-none-any.whl

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries

Tags

bthome ble parserbluetooth sensor data decoderble format parserbthome v1 v2 supportbluetooth advertisement parsingiot sensor ble decoderbthome sensor reading
ble-parsingiot-sensorshome-automation

More Libraries packages