Skip to content

airthings2mqtt

License: MIT Python cosalette

Read Airthings Wave air quality sensors over BLE and publish to MQTT.

airthings2mqtt connects to Airthings Wave sensors via Bluetooth Low Energy on a Raspberry Pi, reads temperature, humidity, and radon levels, and publishes the data to an MQTT broker — ready for Home Assistant or any MQTT consumer.


Features

  • BLE sensor polling — connects to Airthings Wave, Wave Plus, and Wave Mini sensors via BlueZ
  • Radon monitoring — publishes 24-hour and long-term average radon concentrations
  • Temperature & humidity — ambient readings alongside air quality data
  • Health reporting — automatic heartbeats, per-device availability, and LWT
  • Simple .env configuration — all settings via environment variables or a .env file, powered by cosalette
  • Docker-ready — single docker compose up deployment with BLE passthrough

Hardware

Component Details
Sensor Airthings Wave, Wave Plus, or Wave Mini (BLE)
Interface Bluetooth Low Energy (BlueZ)
Platform Raspberry Pi (any model with Bluetooth: ¾/5, Zero 2 W)

  • Getting Started


    Install airthings2mqtt, find your sensor, and see your first MQTT messages.

    Get started

  • Configuration


    All settings — environment variables, .env files, and CLI flags.

    Configure

  • MQTT Topics


    Topic reference with payload schemas, directions, and retain flags.

    Topics

  • ADRs


    Architecture decision records documenting design choices.

    Decisions