oralb-ble
Bluetooth library for Oral B devices
What it is and what it does
oralb-ble is a stateful Bluetooth advertisement parser designed to extract sensor data from Oral-B toothbrush broadcasts. It does not initiate connections; instead, it passively decodes manufacturer-specific data that the toothbrush transmits while in use. You feed each BLE advertisement into the parser and receive structured sensor updates containing device state, brush mode, pressure level, sector information, and signal strength.
The parser maintains state per device instance, allowing derived fields like sector timer and toothbrush state to remain accurate across multiple advertisements from the same device. It is built on top of bleak, bleak-retry-connector, bluetooth-data-tools, bluetooth-sensor-state-data, and home-assistant-bluetooth. The package is in pre-alpha development but actively maintained, supporting Python 3.10 through 3.14.
Use it for:
- Extract real-time toothbrush state and sensor readings from BLE advertisements in Home Assistant or similar home automation systems
- Monitor oral hygiene metrics from Oral-B devices without pairing or connecting
- Build a passive Bluetooth listener that collects and logs toothbrush activity data over time
- Integrate Oral-B device telemetry into a custom IoT application that processes BLE advertisements locally
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Passive parser for Oral-B toothbrush Bluetooth Low Energy advertisements that decodes manufacturer data broadcast by the device without establishing a connection.
Yes, if you need to parse Oral-B toothbrush Bluetooth advertisements in a Home Assistant context or similar passive BLE listener. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it safe to adopt. Pre-alpha status means the API may change, so pin the version if stability is critical; otherwise it is suitable for its narrow, well-defined use case.
Install
oralb-ble on PyPI
pip
pip install oralb-bleuv
uv add oralb-blepoetry
poetry add oralb-bleInstalling oralb-ble
Before you install
Low friction install with a pure-Python wheel. Active maintenance as of August 2026 with recent release history. Five runtime dependencies are all Bluetooth-focused libraries, suggesting stable, well-maintained peers.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions, making it suitable for both open and proprietary projects.
Quickstart
pip install oralb-ble
from home_assistant_bluetooth import BluetoothServiceInfo
from oralb_ble import OralBBluetoothDeviceData
parser = OralBBluetoothDeviceData()
update = parser.update(service_info)
print(update.title)
Requires Python 3.10 or later; requires a source of BLE advertisements (typically from home-assistant-bluetooth or similar Bluetooth integration).
Verify before relying
- Whether the parser handles all Oral-B toothbrush models or only specific series
- Performance characteristics when processing high-frequency advertisement streams
- Backward compatibility guarantees across minor versions given pre-alpha status
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — bleak, bleak-retry-connector, bluetooth-data-tools, bluetooth-sensor-state-data, home-assistant-bluetooth |
| Maintenance | actively maintained — 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,541/month — #14,616 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: oralb_ble-1.1.3-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
ibeacon-bleParses and decodes iBeacon BLE (Bluetooth Low…
permissive · top 15,000 on PyPI
inkbird-bleParses BLE advertisements from INKBIRD…
permissive · top 15,000 on PyPI
bthome-bleParses and decodes BLE sensor data in the…
permissive · top 15,000 on PyPI
home-assistant-bluetoothProvides standardized data models and helpers…
permissive · top 15,000 on PyPI
aiobmsbleAsynchronous Python library for querying…
permissive · top 15,000 on PyPI
bluetooth-sensor-state-dataProvides data models for parsing, storing, and…
permissive · top 15,000 on PyPI
aioblescanaioblescan listens for and parses Bluetooth Low…
permissive · top 15,000 on PyPI
govee-bleProvides Python bindings to discover, connect…
permissive · top 15,000 on PyPI
bluetooth-data-toolsParses and manipulates Bluetooth Low Energy…
permissive · top 5,000 on PyPI
led-bleControls generic unbranded Bluetooth LE LED…
permissive · top 15,000 on PyPI