Hi community,
I spent the past few weeks building an air quality integration that solves problems I have here in Chicago. I have allergies, and until the wildfires a couple years ago didn’t realize how sensitive I was to particulates. Home Assistant came to the rescue, sort of. I found a fragmented landscape of air quality and pollen sources, and was disappointed by the lack of forecast data I knew existed — super helpful for both pollen and wildfire awareness.
So I built Particle Man, which pulls (almost) all possible information from the Google Pollen and
Google Air Quality APIs.
While this is the first release and it is self-published, it currently passes HACS validation and meets, to my best understanding, all HA Bronze quality standards (Gold is my goal).
Please review if you’d like, give it a try, and send me feedback publicly or privately — whatever
you’re comfortable with. Full docs at
mnestrud.github.io/particle-man.
Features: Current Conditions
- Universal AQI (UAQI) with health category, dominant pollutant, and trend
- Pollutant sensors — concentration, unit, EPA health category (where applicable), dominant
pollutant flag, sources, effects, and trend. Split by EPA breakpoint availability:- With EPA health category: PM2.5, PM10, Ozone (O3), Nitrogen Dioxide (NO2), Carbon Monoxide
(CO), Sulfur Dioxide (SO2) - Concentration only: Additional pollutants returned by the API for your region
- With EPA health category: PM2.5, PM10, Ozone (O3), Nitrogen Dioxide (NO2), Carbon Monoxide
- Pollen sensors by type (Grass, Tree, Weed) with index, color, and trend
- API usage tracking — billing-period call counts with projected usage and free-tier warnings
(details)
Forecast
All forecast data is stored as sensor attributes (hourly_forecast, daily_forecast) for use in
dashboard charts and automations.
- Hourly AQI forecast up to 96 hours
- Daily AQI forecast up to 5 days — peak AQI per day
- Hourly pollutant forecast up to 96 hours per pollutant
- Daily pollutant forecast up to 5 days — peak concentration per day
- Daily pollen forecast up to 5 days with trend and expected peak (no hourly pollen data available
from Google)
Optional
- Regional AQI index — US AQI and 12 other country-specific indices (supported
indices) - Health recommendations — text guidance included as sensor attributes
- Per-plant pollen sensors — individual species (Oak, Ragweed, etc.) with index, trend, and peak
- Plant descriptions — family, genus, and cross-reaction info added to plant sensor attributes
- Enforce API limits — suspend polling when a monthly call limit is reached, keeping usage within
the free tier
Pictures (no code yet, but here’s my working dashboard)
AI was harmed, cussed at, but in the end effectively used to help engineer this integration.

