Skip to main content

Unofficial package for Airthings Wave communication.

Project description

Build Status PyPI Version PyPI Downloads

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 bleak as 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/web module 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wave_reader-2.0.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wave_reader-2.0.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file wave_reader-2.0.0.tar.gz.

File metadata

  • Download URL: wave_reader-2.0.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.14.4 Darwin/25.4.0

File hashes

Hashes for wave_reader-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b25cd6b438ecfa16dafefb740e4f061fb09edfa995fbc980f3c462c0dc38c8d0
MD5 bdd4f4efc0168861449c79e18fa39381
BLAKE2b-256 def96d4144cbfbef53e4049fc33747a6f16d4e588c73643059e88d1b12a118d2

See more details on using hashes here.

File details

Details for the file wave_reader-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: wave_reader-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.14.4 Darwin/25.4.0

File hashes

Hashes for wave_reader-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a4e1f6830a6c7d2e8607e7f3d6f07b5b05e4c7b13710d7911a5b360c5f8e28f
MD5 64c1fa8a7332073d6702e8a6a9b6301a
BLAKE2b-256 09d88d53bdfe05dec1a698943ef797d85cf78ea19d9dad8cffa5b4fac43cd58d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page