ZA
Zachary-Higgins/air_quality_dashboard
Unofficial (obviously) Airthings Grafana Dashboard
Air Quality Dashboard
1. Create an Airthings API account
- Visit the Airthings developer portal: https://developer.airthings.com/docs/api-getting-started-consumer
- Follow the "Getting started" guide to create a consumer account, register an application, and obtain the following credentials:
AIRTHINGS_CLIENT_IDAIRTHINGS_CLIENT_SECRET
- Note the device IDs you want to monitor—they will be returned by the API once authentication works.
2. Configure environment variables
- Copy
.env.templateto.envin the repo root. - Fill in every value in
.env:AIRTHINGS_CLIENT_IDandAIRTHINGS_CLIENT_SECRETfrom the developer portal.WEATHER_ZIP_CODE(or any other variables you use in the worker).
- Keep
.envprivate; never commit it.
3. Build and start the stack
# from the repo root
docker compose up -d --build
The command provisions:
mysql: stores Airthings telemetrygrafana: visualizes the data (binds to http://localhost:3000)worker: polls the Airthings API and writes rows to MySQL
4. Basic usage
- Wait for the containers to finish initializing (
docker compose logs -f worker grafana). - Open Grafana at http://localhost:3000 and log in with
admin / admin(or your chosen password). - The provisioned "Air Quality Overview" dashboard should appear automatically; refresh if you edit
grafana/provisioning/dashboards/aqi_dashboard.json. - To stop the stack:
docker compose down. Add-vif you want to clear MySQL and Grafana volumes.
You are ready to monitor your indoor air quality with live data from the Airthings sensors.
On this page
Languages
Python97.4%Dockerfile2.6%
Latest Release
v1.0.0December 20, 2025Created December 7, 2025
Updated December 8, 2025
