home-assistant-bluetooth
Home Assistant Bluetooth Models and Helpers
What it is and what it does
home-assistant-bluetooth is a data model library that standardizes Bluetooth advertisement information for Home Assistant. It defines the BluetoothServiceInfo dataclass, which wraps Bluetooth device data from bleak (a popular BLE library) and adds a source field to track which Bluetooth transceiver reported the data. This is useful for Home Assistant integrations and libraries that need to parse and work with BLE advertisement data in a consistent format.
The package is lightweight, with only one runtime dependency (habluetooth), and is designed as a shared contract between Home Assistant's Bluetooth infrastructure and individual integrations. It supports Python 3.11, 3.12, and 3.13, and is actively maintained. The library is particularly relevant for scenarios where Home Assistant may eventually support remote Bluetooth transceivers, allowing the source field to help determine which device is closest.
Use it for:
- Parsing standardized Bluetooth advertisement data in Home Assistant integrations that work with BLE devices.
- Building Bluetooth device discovery and pairing workflows that need consistent data structures across multiple integrations.
- Determining the source of Bluetooth signals when multiple transceivers are available in a Home Assistant setup.
- Creating libraries that integrate with Home Assistant's Bluetooth infrastructure without reimplementing data models.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides standardized data models and helpers for working with Bluetooth advertisement data in Home Assistant, wrapping bleak's BLE device information into a unified BluetoothServiceInfo structure.
Yes, if you are developing a Home Assistant integration or library that works with Bluetooth devices. The low install friction, active maintenance, permissive license, and production-stable status make it a safe dependency. If you are working outside the Home Assistant ecosystem, verify whether this package's data models and source-tracking design align with your use case.
Install
home-assistant-bluetooth on PyPI
pip
pip install home-assistant-bluetoothuv
uv add home-assistant-bluetoothpoetry
poetry add home-assistant-bluetoothInstalling home-assistant-bluetooth
Before you install
Low install friction with a single runtime dependency (habluetooth). Active maintenance with a recent commit on 2026-08-10 and production-stable status.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install home-assistant-bluetooth
from home_assistant_bluetooth import BluetoothServiceInfo
# BluetoothServiceInfo dataclass provides standardized fields:
# name, address, rssi, manufacturer_data, service_data, service_uuids, source
Requires Python 3.11 or later.
Verify before relying
- Whether habluetooth is a Home Assistant-specific package or a general-purpose Bluetooth library.
- How the source field is populated and whether it requires Home Assistant infrastructure.
- Whether this package is intended for use outside Home Assistant integrations.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — habluetooth |
| Maintenance | actively maintained — 401 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 766,156/month — #5,117 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: home_assistant_bluetooth-2.0.0-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
bluetooth-sensor-state-dataProvides data models for parsing, storing, and…
permissive · top 15,000 on PyPI
bthome-bleParses and decodes BLE sensor data in the…
permissive · top 15,000 on PyPI
idasen-haProvides a Home Assistant helper library for…
permissive · top 15,000 on PyPI
bleak-retry-connectorWraps Bleak's Bluetooth client with automatic…
permissive · top 5,000 on PyPI
ibeacon-bleParses and decodes iBeacon BLE (Bluetooth Low…
permissive · top 15,000 on PyPI
oralb-blePassive parser for Oral-B toothbrush Bluetooth…
permissive · top 15,000 on PyPI
bluetooth-data-toolsParses and manipulates Bluetooth Low Energy…
permissive · top 5,000 on PyPI
bleakBleak is an async Python client for connecting…
permissive · top 5,000 on PyPI
bleak-esphomeProvides a Bleak backend that proxies Bluetooth…
permissive · top 15,000 on PyPI
inkbird-bleParses BLE advertisements from INKBIRD…
permissive · top 15,000 on PyPI