Skip to content

Smart Air Quality

Health CO2 Automation

Poor indoor air quality can cause headaches, fatigue, concentration problems and long-term health issues. With smart air quality monitoring you can track CO2, particles and VOC - and automate ventilation.


ParameterDanger LevelSymptomsSensor
CO2Over 1000 ppmHeadache, fatigue, poor concentrationSenseAir S8
PM2.5Over 35 µg/m³Respiratory problems, allergiesPlantower PMS5003
VOCOver 500 ppbHeadache, dizzinessSGP30, SGP41
RadonOver 4 pCi/LLung cancer (long-term)Airthings
HumidityUnder 30% / Over 60%Dry skin, moldSHT30, DHT22
ProductHA IntegrationCO2PM2.5VOCRadonPrice
Airthings View Plus✅ Cloud API💰💰💰
Airthings Wave Plus✅ BLE💰💰
Awair Element✅ Local API💰💰
AirGradient ONE✅ ESPHome💰💰
ESPHome DIY✅ Local⚠️💰

Airthings View Plus: ~$300 Airthings Wave Plus: ~$230 Airthings Wave Mini: ~$100

Specialized in radon measurement:

  • ✅ Only consumer sensor with radon
  • ✅ CO2, VOC, temperature, humidity
  • ✅ View Plus: also PM2.5
  • ✅ Cloud API + BLE integration
  • ✅ Battery: up to 2 years
  • ⚠️ Cloud-dependent (API)
  • ⚠️ BLE only for Wave series

Buy: Airthings.com, Amazon


🌿 Awair Element (Local API - 1,468 users)

Section titled “🌿 Awair Element (Local API - 1,468 users)”

Price: ~$200

Local API without cloud:

  • ✅ CO2 (0-4000 ppm)
  • ✅ PM2.5 particles
  • ✅ VOC (total volatile organic compounds)
  • ✅ Temperature and humidity
  • ✅ Local API (no cloud required!)
  • ✅ Beautiful display with score
  • ❌ No radon
  • ❌ Requires power (USB-C)

Buy: Awair.com, Amazon


Section titled “🔧 AirGradient ONE (ESPHome - Recommended DIY)”

Price: ~$150 (assembled) DIY kit: ~$95

Open source air quality monitor:

  • ✅ CO2 (SenseAir S8 - NDIR)
  • ✅ PM2.5/PM10 (Plantower PMS5003)
  • ✅ VOC + NOx (Sensirion SGP41)
  • ✅ Temperature and humidity
  • ✅ ESPHome firmware (100% local)
  • ✅ Color LED bar for quick status
  • ✅ OLED display
  • ❌ No radon
  • ❌ Requires power (USB-C)

Buy: AirGradient.com, DIY components from AliExpress


CO2 ppmStatusEffect
400-600🟢 OptimalFresh air, good concentration
600-800🟡 AcceptableSlightly reduced attention
800-1000🟠 ModerateHeadache, fatigue begins
1000-1500🔴 PoorClear fatigue, concentration issues
1500-2000🟣 Very poorStrong headache, dizziness
>2000⚫ DangerousNausea, heart palpitations

automation:
# ===== CO2 BASED VENTILATION =====
# Smart ventilator control
- alias: "Air - Adaptive Ventilation"
trigger:
- platform: state
entity_id: sensor.airgradient_co2
action:
- choose:
# High CO2 - full speed
- conditions:
- condition: numeric_state
entity_id: sensor.airgradient_co2
above: 1000
sequence:
- service: fan.set_percentage
entity_id: fan.ventilation
data:
percentage: 100
# Moderate CO2 - medium
- conditions:
- condition: numeric_state
entity_id: sensor.airgradient_co2
above: 800
sequence:
- service: fan.set_percentage
entity_id: fan.ventilation
data:
percentage: 50
# Normal - turn off
- conditions:
- condition: numeric_state
entity_id: sensor.airgradient_co2
below: 600
sequence:
- service: fan.turn_off
entity_id: fan.ventilation
# ===== PM2.5 WARNINGS =====
- alias: "Air - High PM2.5"
trigger:
- platform: numeric_state
entity_id: sensor.airgradient_pm25
above: 35
for: "00:15:00"
action:
- service: notify.mobile_app
data:
title: "😷 Poor air quality"
message: >
PM2.5: {{ states('sensor.airgradient_pm25') }} µg/m³
Consider turning on air purifier.
- service: switch.turn_on
entity_id: switch.air_purifier
- alias: "Air - PM2.5 OK again"
trigger:
- platform: numeric_state
entity_id: sensor.airgradient_pm25
below: 12
for: "00:30:00"
action:
- service: switch.turn_off
entity_id: switch.air_purifier
# ===== VOC MONITORING =====
- alias: "Air - High VOC"
trigger:
- platform: numeric_state
entity_id: sensor.airgradient_voc_index
above: 250
action:
- service: notify.mobile_app
data:
title: "🧪 High VOC"
message: >
VOC Index: {{ states('sensor.airgradient_voc_index') }}
Ventilate - possible chemicals in the air.
# ===== BEDROOM AUTOMATION =====
- alias: "Air - Bedroom Night"
trigger:
- platform: time
at: "22:00:00"
action:
- service: fan.turn_on
entity_id: fan.bedroom_ventilation
data:
percentage: 30
- service: notify.mobile_app
data:
message: "Night ventilation started"
- alias: "Air - Bedroom Morning"
trigger:
- platform: time
at: "07:00:00"
action:
- if:
- condition: numeric_state
entity_id: sensor.bedroom_co2
above: 800
then:
- service: fan.set_percentage
entity_id: fan.bedroom_ventilation
data:
percentage: 100
- delay: "00:30:00"
- service: fan.turn_off
entity_id: fan.bedroom_ventilation

type: vertical-stack
cards:
# Air quality gauge
- type: gauge
entity: sensor.airgradient_co2
name: "CO2"
min: 400
max: 2000
severity:
green: 400
yellow: 800
red: 1000
# All measurements
- type: entities
title: "🌬️ Air Quality"
entities:
- entity: sensor.airgradient_co2
name: "CO2"
icon: mdi:molecule-co2
- entity: sensor.airgradient_pm25
name: "PM2.5"
icon: mdi:blur
- entity: sensor.airgradient_voc_index
name: "VOC Index"
icon: mdi:air-filter
- entity: sensor.airgradient_temperature
name: "Temperature"
- entity: sensor.airgradient_humidity
name: "Humidity"
# History
- type: history-graph
title: "CO2 (24 hours)"
entities:
- entity: sensor.airgradient_co2
hours_to_show: 24

  • ESP8266 D1 Mini (~$8)
  • SenseAir S8 (~$45)
  • SHT30 (~$4)
  • Total: ~$57 (CO2 only)
  • AirGradient ONE kit (~$150)
  • Includes CO2, PM2.5, VOC, temp, humidity
  • Total: ~$150
  • Airthings View Plus (~$300)
  • Includes everything + Radon
  • Total: ~$300

Ofte stillede spørgsmål

Do I need radon measurement?
Depends on your location. The EPA recommends testing homes in radon-prone areas. Airthings is the only consumer sensor with radon. Alternatively, you can order a professional test kit.
How accurate are cheap CO2 sensors?
SenseAir S8 (used in AirGradient) is an NDIR sensor with ±40ppm accuracy - that's industry standard. Cheap MQ-135 'CO2 sensors' actually measure VOC and are inaccurate. Avoid them.
Why is my CO2 level high at night?
A closed bedroom quickly accumulates CO2 from your breathing. One person exhales ~200 ml CO2 per minute. Keep the door open or use ventilation!
What's the difference between PM2.5 and PM10?
PM2.5 are particles under 2.5 micrometers (most dangerous - penetrate deep into lungs). PM10 are under 10 micrometers. PM2.5 is the most important health measurement.
Can I control my HRV with CO2?
Yes! Many HRV/ERV systems (Zehnder, Broan, Panasonic) can be controlled via 0-10V signal or modbus. Use ESPHome to send signals based on CO2 level.


Last updated: December 2025


Kommentarer