Integrating Airthings Wave Plus with Home Assistant using ESPHome

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.

An illustration of a city covered in thick smog.

The Airthings Wave Plus is one of the most complete off-the-shelf air quality monitors you can buy today. As of ESPHome 2021.9.0, you can easily integrate this multisensor with Home Assistant. What makes the Airthings Wave Plus special is that it not only measures CO2 and VOCs (volatile organic compounds), but also Radon. This deadly radioactive gas is the second most frequent cause of lung cancer, causing 21,000 deaths per year in the US alone.

  • How to connect Airthings Wave Plus with ESPHome
  • Update: Airthings Wave Mini now also supported
  • There are no other sensors with a comparable functionality to the Airthings Wave Plus, supported by ESPHome. Depending on where you live, keeping an eye on the radon levels is something you definitely want to do. Luckily, I reside in a part of Switzerland that has the lowest probabilities of exceeding the reference value of the radon concentration, so I have no need to measure the levels.

    The only thing missing from the Airthings Wave Plus is a PM2.5 sensor, which would potentially make it the complete package. Just in case you don't have enough temperature and humidity sensors around your smart home yet, the Airthings Wave Plus does also measure both, along with the air pressure.

    Airthings' mission statement is “to offer accurate, user-friendly radon detectors to the masses, making them as common as smoke detectors.” While it definitely is a noble goal, and with us humans doing our best to pollute the air we breathe, definitely not a novelty, the one thing holding the Airthings Wave Plus is the MSRP of US$229/€229. But if you do live in an area with elevated radon levels, it might just be a life-saver.

    Why ESPHome is required to integrate Airthings with Home Assistant

    The reason as to why ESPHome is needed for the Airthings Wave Plus integration is because it uses Bluetooth. The device has onboard memory, and the intention is to view data using a smartphone. Alternatively, there is also the Airthings Hub, which allows you to remotely view data, but it does cost considerably more than an ESP32 board and can't be integrated with Home Assistant.

    The ESP32 is required because the integration uses Bluetooth. These boards can be bought online for ~US$3 (such as this one on AliExpress). There is no way of making this integration work with an ESP8266. The ESP32 board will simply replace your smartphone, and it will gather the data from the Airthings Wave Plus and relay it to Home Assistant using the ESPHome integration. You can also read the data with any other application by making use of ESPHome's MQTT capabilities.

    You should be aware that ESPHome currently only supports the Airthings Wave Plus and no other Airthings devices. The Wave Mini, Wave Radon, and View Plus currently can't be integrated.

    How to connect Airthings Wave Plus with ESPHome

    The configuration of Airthings Wave Plus is as easy as any other device. In your ESPHome configuration, you simply add the following lines of code:

    logger:
      level: DEBUG # Required for the tracker to show the device
    
    esp32_ble_tracker:
    airthings_ble:

    Once the ESP32 board boots, it will start looking for the Airthings Wave Plus, and will report a message similar to: Found AirThings device Serial: 123456789 (MAC: 01:02:03:04:05:06). If ESPHome can't find your Airthings Wave Plus, you might want to bring the two closer together. Once it has been discovered, you can copy the MAC and remove the airthings_ble: line. Using the following example, you can configure the device:

    sensor:
      - platform: airthings_wave_plus
        ble_client_id: airthings01
        update_interval: 5min # default
        temperature:
          name: "Airthings Wave Plus Temperature"
        radon:
          name: "Airthings Wave Plus Radon"
        radon_long_term:
          name: "Airthings Wave Plus Radon Long Term"
        pressure:
          name: "Airthings Wave Plus Pressure"
        humidity:
          name: "Airthings Wave Plus Humidity"
        co2:
          name: "Airthings Wave Plus CO2"
        tvoc:
          name: "Airthings Wave Plus VOC"
    
    ble_client:
      - mac_address: 01:02:03:04:05:06
        id: airthings01
    
    esp32_ble_tracker:

    Update: Airthings Wave Mini now also supported

    With the release of ESPHome 2021.10, support for the cheaper Airthings Wave Mini is now also part of the component. The Airthings Wave Mini monitors the Mold Risk Indicator, VOCs, temperature, and humidity.

    A portrait photo oif Liam Alexander Colman, the author, creator, and owner of Home Assistant Guide wearing a suit.

    About Liam Alexander Colman

    is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
    With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

    Comments

    1. Wow! Exactly what I was looking for, since I didn’t want to add a bluetooth dongle to my NAS that runs HA. Just added to my “central controller” ESP32 that already reads bluetooth data from Xiaomi temperature sensors.

      Reply

    Leave a Reply to Ken Cancel reply

    Share to...