This package is currently in maintenance mode. Please use airthings-ble for new projects.
Wave Reader Utilities
The Airthings Wave is a series of devices that track Radon levels in the home. Radon is a radioactive
gas that comes from the breakdown of uranium in soil and rock. It's invisible, odourless and tasteless.
This is an unofficial Airthings Wave community library designed to provide utilities for device communication.
Features
- Using
bleakas a dependency for platform cross-compatibility and support for asynchronous operation. - Support for major models: Wave+, Wave, Wave (Version 2) and Wave Mini devices. View Plus is not supported, as it sends data over WiFi, not BTLE.
- Code testing, coverage reporting, linting, type hinting, and formatting.
- Provide a more comprehensive programming interface for a developer audience.
Requirements
In Ubuntu/Debian, make sure you have libglib2.0-dev and bluez installed:
sudo apt-get install libglib2.0-dev bluez -y
Other Linux distributions should have equivalent packages. In theory, other platforms
(Windows, Mac) are supported by using bleak as a dependency, but open a ticket
if you run into any issues.
Installation
You can install the library by running:
pip install wave-reader
Example Usage
There are various concrete examples available in the examples directory. That includes
CLI interaction and other interesting scenarios that demonstrate API usage.
import asyncio
from wave_reader import wave
if __name__ == "__main__":
# Scan for BTLE Wave devices.
devices = wave.scan()
# Event loop to run asynchronous tasks.
loop = asyncio.new_event_loop()
# Get sensor readings from available wave devices.
for d in devices:
sensor_readings = loop.run_until_complete(d.get_sensor_values())
print(sensor_readings)
# >>> DeviceSensors (humidity: 32.5, radon_sta: 116, radon_lta: 113 ...
Note: The
wave_reader/webmodule has been removed. It relied on an external API that we do not control and cannot guarantee works anymore.
Contribution
If you identify a bug, please open a ticket. Pull requests are always welcome.
Testing
You can run the entire test suite by running make test. It will run flake8, mypy and pytest.
If you'd like to just run unit tests, running poetry run pytest ./tests is sufficient.
Metadata
Release files for wave-reader 2.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wave_reader-2.0.2.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wave_reader-2.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.6 kB
Release files / wave_reader-2.0.2.tar.gz
| Download URL | wave_reader-2.0.2.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa51cbb9470ee1cb3d5e7778560c2be5b6c3af0d72ec93fd88e592eedaf864c2
|
|
BLAKE2b-256 checksum How to use checksums |
11fdf0375b82ea4cc0889c023964a4a4883fc55846768465a5dc502df5b56873
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.4 CPython/3.14.4 Darwin/25.4.0
|
Release files / wave_reader-2.0.2-py3-none-any.whl
| Download URL | wave_reader-2.0.2-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54c6a4a7ac393e2e5badd3c218289bc427a4a631067102556df24b876893e0ac
|
|
BLAKE2b-256 checksum How to use checksums |
a6994afe38367c9b8275c036a8b1ba06488e45a6a41ec6d9067853aa760f609e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.4 CPython/3.14.4 Darwin/25.4.0
|