inkbird-ble
Parser for INKBIRD BLE devices
What it is and what it does
inkbird-ble is a parser library that converts Bluetooth Low Energy advertisements from INKBIRD environmental sensors into structured, typed sensor readings. It handles the low-level BLE advertisement decoding so you don't have to manually parse raw bytes. Most INKBIRD sensors broadcast their readings passively, so you can extract temperature, humidity, and battery values without establishing a connection—just pass a BluetoothServiceInfoBleak object from habluetooth to the parser and iterate over the results. A smaller subset of models require active polling or subscription over a persistent connection, which the library supports via async methods.
The package is built on top of habluetooth and sensor-state-data, integrating with the broader Bluetooth sensor ecosystem. It's classified as Pre-Alpha but is actively maintained and supports Python 3.11 through 3.14. The library is designed for integration into home automation platforms and custom BLE monitoring applications where you need reliable, structured access to INKBIRD sensor data.
Use it for:
- Extract temperature and humidity readings from INKBIRD sensors in a Home Assistant custom integration or standalone BLE scanner.
- Monitor battery levels of multiple INKBIRD devices and trigger alerts when they drop below a threshold.
- Build a passive BLE listener that collects environmental data from INKBIRD sensors without pairing or connecting.
- Integrate INKBIRD sensor data into a custom IoT dashboard or data logging pipeline.
- Poll or subscribe to active INKBIRD models that require a persistent connection for real-time updates.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses BLE advertisements from INKBIRD temperature, humidity, and battery sensors into structured sensor values, supporting both passive scanning and active polling/subscription modes.
Yes, if you are building a BLE integration or home automation system that needs to read INKBIRD sensors. The library handles the parsing complexity and integrates cleanly with habluetooth. Pre-Alpha status and 20 GitHub stars suggest early-stage maturity, so expect potential API changes; verify device model support against your hardware before committing to production use.
Install
inkbird-ble on PyPI
pip
pip install inkbird-bleuv
uv add inkbird-blepoetry
poetry add inkbird-bleInstalling inkbird-ble
Before you install
Low friction: pure Python wheel with five runtime dependencies (bleak-retry-connector, bluetooth-data-tools, bluetooth-sensor-state-data, habluetooth, sensor-state-data). Active maintenance with a recent release 47 days ago.
License in practice
MIT license permits commercial and private use, modification, and distribution with minimal restrictions—suitable for most projects.
Quickstart
from inkbird_ble import INKBIRDBluetoothDeviceData
data = INKBIRDBluetoothDeviceData()
if data.supported(service_info):
update = data.update(service_info)
for device_key, value in update.entity_values.items():
print(device_key.key, value.native_value)
Requires a BluetoothServiceInfoBleak object from habluetooth; typically used within a BLE scanning context (e.g., Home Assistant or custom bleak integration).
Verify before relying
- Exact list of INKBIRD device models supported and their sensor types beyond temperature, humidity, battery.
- Whether passive parsing works for all models or only a subset; active polling/subscription requirements for specific models.
- Real-world latency and parsing overhead when handling multiple concurrent device advertisements.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — bleak-retry-connector, bluetooth-data-tools, bluetooth-sensor-state-data, habluetooth, sensor-state-data |
| Maintenance | actively maintained — 47 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,663/month — #14,688 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: inkbird_ble-1.7.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
bthome-bleParses and decodes BLE sensor data in the…
permissive · top 15,000 on PyPI
oralb-blePassive parser for Oral-B toothbrush Bluetooth…
permissive · top 15,000 on PyPI
ibeacon-bleParses and decodes iBeacon BLE (Bluetooth Low…
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
home-assistant-bluetoothProvides standardized data models and helpers…
permissive · top 15,000 on PyPI
kegtron-bleProvides Bluetooth Low Energy (BLE) support for…
permissive · top 15,000 on PyPI
airthings-bleLibrary to communicate with Airthings…
permissive · top 15,000 on PyPI
sensor-state-dataProvides data models for storing and converting…
permissive · top 15,000 on PyPI
brotherQueries Brother laser and inkjet printers over…
permissive · top 15,000 on PyPI