Racks & WattsLOCAL HARDWARE / CLEAR PICKS

Home Assistant

Air quality monitoring in Home Assistant: CO2, PM2.5 and radon

Choose local CO₂ and PM2.5 monitoring or radon with cloud access. Compare AirGradient, THIRDREALITY, Qingping and Airthings, then build useful Home Assistant alerts.

OUR PICKS / YOUR SETUP

Find your fit.

Choose AirGradient ONE for native local CO₂ and particles, THIRDREALITY for CO₂/VOC over Zigbee2MQTT, Airthings View Plus for radon with cloud polling, or Qingping Gen 2 for its touchscreen and a manual MQTT setup.

  • Local all-rounderAirGradient ONE
  • Zigbee CO₂ / VOCTHIRDREALITY
  • With radonView Plus · cloud

How we evaluate hardware.

YOUR NEXT PROJECT / THE GEAR

Parts list

  • AirGradient ONE (I-9PSL-DE)

    Choose native local Home Assistant monitoring for CO₂, particles and VOC/NOx trends.

    Check price on Amazon
  • THIRDREALITY Smart Air Quality Sensor (3RAQ1096Z)

    Add CO₂, VOC index, temperature and humidity through the documented Zigbee2MQTT route.

    Check price on Amazon
  • Qingping Air Monitor Gen 2

    Choose the touchscreen for at-a-glance readings, with manual MQTT setup for Home Assistant.

    Check price on Amazon
  • Airthings View Plus (2960)

    Add radon alongside CO₂ and particles, using the Airthings cloud integration in Home Assistant.

    Check price on Amazon

Winter closes the windows. A useful Home Assistant air dashboard tells you when to bring in fresh air, when cooking has sent particles climbing, and which readings deserve a longer look rather than another notification.

Start with AirGradient ONE for local CO₂ and particle monitoring. Choose THIRDREALITY’s Zigbee air-quality sensor for a simpler CO₂/VOC setup on Zigbee2MQTT, Airthings View Plus when radon is part of the job, or Qingping Air Monitor Gen 2 for its large display and a hands-on MQTT integration. The screen, the sensor and the Home Assistant connection are three separate buying decisions.

Research guide: specifications from the makers; setup from Home Assistant and project documentation.

Quick picks: buy the readings you need

Best local all-rounder: AirGradient ONE. It combines NDIR CO₂, optical particle sensing, VOC/NOx monitoring, temperature and humidity with a native Home Assistant integration classified as Local Polling. It’s the first choice here for a local dashboard and the cooking-particle recipe below. AirGradient explains the sensor modules inside ONE.

Best Zigbee: THIRDREALITY Smart Air Quality Sensor. The documented Zigbee2MQTT route exposes CO₂, VOC index, temperature and humidity. It’s a good fit when those are the readings you want and you already run Zigbee2MQTT. It doesn’t measure PM2.5 or radon. The exact 3RAQ1096Z device page lists its exposed values.

Best with radon: Airthings View Plus. This adds radon to CO₂, PM2.5, VOC, temperature, humidity and pressure. The trade-off is simple: Home Assistant uses the Airthings cloud API and Cloud Polling, not a local connection to View Plus. Choose it for the pollutant coverage, with that cloud dependency in the plan. Airthings lists the View Plus sensors.

Best display, with MQTT setup: Qingping Air Monitor Gen 2. Its four-inch touchscreen makes it the glance-at-the-shelf pick. It reports CO₂, PM2.5, PM10, eTVOC, noise, temperature and humidity. For Home Assistant, budget time for the maker’s private MQTT provisioning and manual sensor configuration. Qingping describes the display and measurements.

Monitor CO₂ and particles Other useful readings Home Assistant route Radon
AirGradient ONE NDIR CO₂; optical PM2.5 and other particle metrics VOC/NOx indices, temperature, humidity Native integration; local polling No
THIRDREALITY 3RAQ1096Z Maker-listed CO₂; no PM2.5 VOC index, temperature, humidity Documented Zigbee2MQTT → MQTT route; local No
Qingping Air Monitor Gen 2 Maker-listed CO₂; PM2.5 and PM10 eTVOC, noise, temperature, humidity Private MQTT after vendor provisioning; manual HA sensors No
Airthings View Plus NDIR CO₂; optical PM2.5 VOC, temperature, humidity, pressure Airthings cloud API; cloud polling Yes

The parts lists contain alternatives. You don’t need four monitors to build your first useful alert.

CO₂, eCO₂ and particles are different jobs

CO₂ is carbon dioxide. AirGradient and Airthings explicitly identify NDIR CO₂ sensors in the cited specifications. THIRDREALITY and Qingping list CO₂ readings without naming the sensing principle on the cited maker pages, so the table keeps those labels rather than assigning a sensor type.

eCO₂ or CO₂eq is an estimate, calculated from other gas-sensor signals. Sensirion’s SGP30 datasheet provides an example of that calculation; it isn’t a component claim about these four monitors. For a purchase built around explicitly documented NDIR CO₂, choose ONE or View Plus.

Qingping’s eTVOC is a different label again: an estimated VOC trend, not an eCO₂ reading or a formaldehyde measurement. Its product explanation makes that distinction. VOC indices are useful for noticing changes; don’t mix their numbers with CO₂ ppm.

PM2.5 is fine particulate matter. Use the particle sensor for a cooking response, not a CO₂ or VOC value wearing an “air quality” badge. Fresh-air ventilation and particle filtration do different work. EPA’s air-cleaner guide explains particle filtration and appropriate cleaner sizing.

Radon gets its own longer-term follow-up. Use View Plus history alongside EPA’s radon testing and mitigation guidance, rather than treating it as a cooking-spike alert. Keep smoke and carbon-monoxide alarms in place: CO₂ is not CO, and View Plus doesn’t replace those alarms. Airthings explains that distinction.

Connect the monitor before building the clever bits

AirGradient: the straightforward local route

Open Settings → Devices & services and configure the discovered device, or choose Add integration → AirGradient. Check firmware first: Home Assistant requires 3.1.1 or later for devices using the legacy local API. The integration page states the requirement and supported sensors.

Find the CO₂ and PM2.5 entities, give them recognisable names, and add them to a dashboard. The integration reads the device locally; a cloud dashboard isn’t the route carrying these readings into Home Assistant.

THIRDREALITY: use the documented Zigbee2MQTT route

Power the sensor with its included adapter and pair it to Zigbee2MQTT using the maker’s instructions. Then use your MQTT integration and Zigbee2MQTT discovery in Home Assistant. THIRDREALITY’s product page covers power and Zigbee requirements.

The exact-model project page documents all four readings. Follow that route rather than assuming every Zigbee platform exposes the same entities. Our Zigbee coordinator guide helps with the radio choice; ZHA and Zigbee2MQTT are separate coordinator stacks.

Qingping Gen 2: display first, MQTT project second

The core Qingping integration listens to supported Bluetooth devices and lists Air Monitor Lite. Gen 2 is a different Wi-Fi product. Use the maker’s documented MQTT route here, rather than following Lite Bluetooth or HomeKit instructions.

Qingping’s Private Access instructions explicitly list Air Monitor 2 with JSON data. They require adding the device to Qingping IoT and updating firmware, then using the Developer Platform’s Private Config → Configurations → Add Configuration → Self-built MQTT flow.

Point that configuration at your broker, inspect its reported JSON and create the corresponding Home Assistant MQTT sensors. Home Assistant’s MQTT documentation explains the broker connection and discovery. Maker JSON reporting doesn’t create Home Assistant discovery messages for you. If you want the simpler native setup, choose ONE; choose Gen 2 when the display and MQTT work both appeal.

Airthings: make the cloud connection explicit

Use your Airthings Dashboard account to request an API client, then add Airthings in Home Assistant with the generated credentials. The Airthings integration guide walks through it. This is Cloud Polling for View Plus; the separate BLE instructions for other Airthings models aren’t the route used here.

Use its radon and air-quality history for trends. For a quick local cooking automation, ONE is the stronger fit. Airthings’ starter guide explains that different sensors sample at different intervals.

Three recipes that earn their dashboard space

1. CO₂ above 1,000 ppm → a fresh-air nudge

Create an automation under Settings → Automations & scenes. Under When, add Numeric state crossed threshold, select your CO₂ entity and set Above: 1000. Under Then do, select Notifications → Send a notification via mobile_app_… for your phone. Try: “Air break? Give the room some fresh air.” Save it.

Here, 1,000 ppm is the chosen ventilation-reminder setting. The numeric-state trigger guide explains crossing behavior; Companion notification setup supplies the phone action.

Start with the nudge. If you already have a suitable ventilation fan or ERV control, add its supported action. Use a smart plug only when the equipment permits switched power and the plug supports its electrical load. A circulating fan or particle purifier doesn’t provide fresh outdoor air. EPA explains ventilation, and our local smart-plug guide covers the switching choices.

2. Cooking particles climb → extraction or a purifier

Use a monitor with a PM2.5 sensor. Create another Numeric state crossed threshold trigger for its PM2.5 entity. Above: 35 µg/m³ is an example automation setting; enter it only on an entity reporting that concentration, not an AQI score.

Send a phone nudge to use the range hood, or control an existing supported hood integration. For a plug-compatible purifier that resumes operation when powered, a Switch → Turn on action can start it through a suitably rated smart plug. Keep a hardwired hood on its proper controls.

Both recipes fire on entering the range, not continuously while the value stays high. If it is already above your threshold during setup, run the actions once; later crossings trigger normally. Leave automatic off rules for another pass, so a brief dip doesn’t stop extraction halfway through dinner.

3. A previous-week bedroom report

Give a bedroom dashboard a Statistic card showing the previous complete calendar week’s mean CO₂. Replace this example entity with your actual CO₂ sensor:

type: statistic
entity: sensor.example_co2
name: CO₂ · previous week
stat_type: mean
period:
  calendar:
    period: week
    offset: -1

Add a second card for maximum PM2.5 using your PM sensor and stat_type: max. The Statistic card guide documents these calendar periods and statistics. Use entities that supply Home Assistant statistics and have recorded history for the period; a newly added monitor needs time to build that history.

Pair the cards with the room-temperature guide. Now you can review air and comfort together, rather than trying to remember what one number said on Tuesday.

Test phone delivery with Run actions in the automation editor; test any plug or ventilation action separately. Then test the trigger with a controlled crossing: in Developer tools → States, set the selected CO₂ entity below its threshold and then above it, and check the automation trace. Use the same crossing test for the PM2.5 recipe. This is a quick software check; finish by checking real sensor updates. Home Assistant’s numeric-state guide explains when the trigger fires.

Check that the weekly card uses the intended entity, unit and calendar period. For local routes, verify readings continue when the internet connection is unavailable; cloud polling and phone push delivery have separate dependencies. Keep the monitor’s air inlets clear and follow its placement and settling instructions.

The buy: ONE for the easiest local CO₂-plus-particle setup; THIRDREALITY for CO₂/VOC on Zigbee2MQTT; View Plus for radon with cloud polling; Qingping Gen 2 for the touchscreen and a manual MQTT project. Start with the question you want answered, then build one useful rule. More projects live in the Home Assistant hub.

Pair your indoor air readings with an Ecowitt local weather station when you also want outdoor temperature, rain, wind and soil-moisture data in Home Assistant.

Sources & methodology

Where these facts come from.

Source dates are listed above.

As an Amazon Associate I earn from qualifying purchases.

YOUR NEXT PROJECT / THE GEAR

Parts list

  • AirGradient ONE (I-9PSL-DE)

    Choose native local Home Assistant monitoring for CO₂, particles and VOC/NOx trends.

    Check price on Amazon
  • THIRDREALITY Smart Air Quality Sensor (3RAQ1096Z)

    Add CO₂, VOC index, temperature and humidity through the documented Zigbee2MQTT route.

    Check price on Amazon
  • Qingping Air Monitor Gen 2

    Choose the touchscreen for at-a-glance readings, with manual MQTT setup for Home Assistant.

    Check price on Amazon
  • Airthings View Plus (2960)

    Add radon alongside CO₂ and particles, using the Airthings cloud integration in Home Assistant.

    Check price on Amazon

Prepared by Racks & Watts.