airthings-ble
Manage Airthings BLE devices
What it is and what it does
airthings-ble is a Python library for reading sensor data from Airthings air-quality monitors via Bluetooth Low Energy. It wraps the BLE protocol used by Wave and Corentium devices, exposing a simple async API to fetch current measurements. The library is primarily designed as a backend for the Home Assistant Airthings integration but can be used standalone in any Python 3.11+ application that needs to monitor air quality from these devices.
The package depends on bleak (cross-platform BLE client), bleak-retry-connector (automatic reconnection), async-interrupt (async signal handling), and cbor2 (binary data decoding). It is actively maintained, has no known security vulnerabilities, and carries a permissive MIT license. Installation is straightforward with no compiled dependencies or system libraries required beyond a working BLE adapter.
Use it for:
- Integrate Airthings Wave or Corentium monitors into Home Assistant or other home automation platforms for air-quality dashboards.
- Build a standalone Python script to log radon, CO2, or humidity readings from an Airthings device to a database or time-series store.
- Monitor indoor air quality in real time and trigger alerts or automations when sensor values exceed thresholds.
- Collect historical air-quality data from multiple Airthings devices for analysis or compliance reporting.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Library to communicate with Airthings air-quality monitors over Bluetooth Low Energy, reading sensor data from supported Wave and Corentium models.
Yes, if you own a supported Airthings device (Wave Mini, Wave Plus, Wave Radon, Wave Enhance, Wave Gen 1, or Corentium Home 2) and need to read its sensor data programmatically. The library is actively maintained, has low install friction, carries no security vulnerabilities, and is the standard integration point for Home Assistant. Not useful for unsupported devices (Hub, Renew, View Plus, View Radon) which use BLE only for setup.
Install
airthings-ble on PyPI
pip
pip install airthings-bleuv
uv add airthings-blepoetry
poetry add airthings-bleInstalling airthings-ble
Before you install
Low install friction; pure Python wheel with four runtime dependencies (bleak, bleak-retry-connector, async-interrupt, cbor2). Actively maintained with recent release; last commit 2026-08-13.
License in practice
MIT license (permissive) — no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install airthings-ble
from airthings_ble import AirthingsDevice
import asyncio
async def main():
device = AirthingsDevice(address="XX:XX:XX:XX:XX:XX")
await device.update()
print(device.sensors)
Requires Python 3.11 or later; BLE adapter and Airthings device within range required at runtime.
Verify before relying
- Whether the library supports all sensor types (radon, CO2, humidity, etc.) across all listed devices or only a subset.
- Performance characteristics when polling multiple devices concurrently or at high frequency.
- Stability and reconnection behavior over extended periods or with intermittent BLE signal.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — async-interrupt, bleak, bleak-retry-connector, cbor2 |
| Maintenance | actively maintained — 289 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,879/month — #14,776 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: airthings_ble-1.2.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
airthings-cloudA Python library for communicating with…
permissive · top 15,000 on PyPI
xiaomi-bleManages Xiaomi BLE (Bluetooth Low Energy)…
permissive · top 15,000 on PyPI
nettigo-air-monitorFetches and parses air quality data from…
permissive · top 15,000 on PyPI
bthome-bleParses and decodes BLE sensor data in the…
permissive · top 15,000 on PyPI
aiobmsbleAsynchronous Python library for querying…
permissive · top 15,000 on PyPI
govee-bleProvides Python bindings to discover, connect…
permissive · top 15,000 on PyPI
inkbird-bleParses BLE advertisements from INKBIRD…
permissive · top 15,000 on PyPI
kegtron-bleProvides Bluetooth Low Energy (BLE) support for…
permissive · top 15,000 on PyPI
led-bleControls generic unbranded Bluetooth LE LED…
permissive · top 15,000 on PyPI
greeneye_monitorParses and processes binary data packets from…
permissive · top 15,000 on PyPI