A custom integration for Home Assistant that fetches pollen data from the Google Maps Pollen API.
It creates one sensor per pollen type (e.g. grass, tree, weed, plus individual plant codes like OAK, PINE, etc.) and groups them under a single device representing your location.
- Current pollen levels (Universal Pollen Index) for grass, tree, weed
- Individual plant‑type sensors (e.g. OAK, PINE, BIRCH, etc.) with value & category
- Configurable update interval (default: 6 hours)
- Automatic device grouping by location
- No YAML configuration—setup entirely via UI
- HACS‑compatible
- Multi-language support for configuration UI (English, Spanish, Catalan, German, French, Italian, Polish)
- In HACS, go to Integrations → three‑dot menu → Custom repositories.
- Add this repository URL:
https://github.com/eXPerience83/pollenlevels
- Choose Integration as category and click Add.
- In Integrations, search for Pollen Levels and install.
- Restart Home Assistant.
-
Copy the
pollenlevels
folder intoconfig/custom_components/
. -
Ensure the structure is:
config/ └── custom_components/ └── pollenlevels/ ├── __init__.py ├── config_flow.py ├── const.py ├── manifest.json ├── sensor.py └── translations/ ├── en.json ├── es.json ├── ca.json ├── de.json ├── fr.json ├── it.json └── pl.json assets/ └── logo.png hacs.json README.md
-
Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration.
- Search Pollen Levels.
- Enter:
- Google API Key
- Latitude & Longitude (defaults to Home Assistant’s configured location)
- Update interval in hours (default: 6)
- Language Code for the API response (en, es, de, ca, …).
Once configured, you’ll see a device named Pollen Levels (LAT,LON)
under Devices, with one sensor per pollen code under Entities.
- Open the Google Cloud Console.
- Create (or select) a project with billing enabled.
- Go to APIs & Services → Library, enable Maps Pollen API.
- In APIs & Services → Credentials, click Create credentials → API key.
- (Recommended) Restrict key to Maps Pollen API.
- Use this key when setting up the integration.
- Forecast lookup (use for both current levels and forecast for up to 5 days):
GET https://pollen.googleapis.com/v1/forecast:lookup ?key={API_KEY} &location.latitude={LAT} &location.longitude={LON} &days={N}
- days: number of days (1 for today only)
The response includes:
- dailyInfo[n].pollenTypeInfo → UPI per pollen category (
GRASS
,TREE
,WEED
) - dailyInfo[n].plantInfo → individual plant codes (
OAK
,PINE
,BIRCH
, …), with:indexInfo.value
→ numeric indexindexInfo.category
→ one of:
"Very Low"
,"Low"
,"Moderate"
,"High"
,"Very High"
See Google’s docs for full details:
If you find this integration useful and would like to support its development, please consider donating:
This project is licensed under the MIT License.
See LICENSE for details.
Built by @eXPerience83 using the Google Maps Pollen API and the Home Assistant integration framework.