Last active
February 1, 2023 14:49
-
-
Save kn100/a004de9c66a515b72da347230509b7c0 to your computer and use it in GitHub Desktop.
Grafana dashboard for ESP32/BME680 Project here: https://kn100.me/aqi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": 1, | |
"links": [], | |
"panels": [ | |
{ | |
"datasource": null, | |
"fieldConfig": { | |
"defaults": { | |
"custom": {}, | |
"displayName": "AQI", | |
"mappings": [], | |
"max": 500, | |
"min": 0, | |
"noValue": "-", | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "super-light-green", | |
"value": null | |
}, | |
{ | |
"color": "dark-green", | |
"value": 0 | |
}, | |
{ | |
"color": "light-green", | |
"value": 50 | |
}, | |
{ | |
"color": "super-light-yellow", | |
"value": 100 | |
}, | |
{ | |
"color": "dark-yellow", | |
"value": 150 | |
}, | |
{ | |
"color": "light-red", | |
"value": 200 | |
}, | |
{ | |
"color": "dark-red", | |
"value": 300 | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 14, | |
"w": 5, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 4, | |
"options": { | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"mean" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"showThresholdLabels": false, | |
"showThresholdMarkers": true | |
}, | |
"pluginVersion": "7.0.5", | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"hide": false, | |
"measurement": "bme680/iaq", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"query": "SELECT top(\"bme680/iaq\", 3) FROM \"30_days\".\"bme680/iaq\" WHERE $timeFilter GROUP BY time($__interval) fill(previous)", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"value" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [ | |
3 | |
], | |
"type": "top" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Air Quality", | |
"transparent": true, | |
"type": "gauge" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {} | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 14, | |
"w": 6, | |
"x": 5, | |
"y": 0 | |
}, | |
"hiddenSeries": false, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"hide": false, | |
"measurement": "bme680/iaq", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"query": "SELECT top(\"bme680/aqi\", 3), \"bme680/aqi\" FROM \"30_days\".\"bme680/aqi\" WHERE $timeFilter GROUP BY time($__interval) fill(previous)", | |
"rawQuery": false, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"bme680/iaq" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "AQI", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "short", | |
"label": "Air quality", | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {} | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 3, | |
"gridPos": { | |
"h": 14, | |
"w": 13, | |
"x": 11, | |
"y": 0 | |
}, | |
"hiddenSeries": false, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 3, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"alias": "Temperature", | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "bme680/temperature", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"query": "SELECT top(\"bme680/temperature\", 3), FROM \"30_days\".\"bme680/temperature\" WHERE $timeFilter GROUP BY time($__interval) fill(previous)", | |
"rawQuery": false, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"bme680/temperature" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [ | |
3 | |
], | |
"type": "top" | |
} | |
], | |
[ | |
{ | |
"params": [ | |
"bme680/temperature" | |
], | |
"type": "field" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Temperature", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "celsius", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {}, | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "green", | |
"value": null | |
}, | |
{ | |
"color": "red", | |
"value": 80 | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 14, | |
"w": 11, | |
"x": 0, | |
"y": 14 | |
}, | |
"hiddenSeries": false, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pluginVersion": "7.0.5", | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "bme680/humidity", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"bme680/humidity" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Humidity", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "humidity", | |
"label": "Relative Humidity", | |
"logBase": 1, | |
"max": "100", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"description": "", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {} | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 14, | |
"w": 13, | |
"x": 11, | |
"y": 14 | |
}, | |
"hiddenSeries": false, | |
"id": 10, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "bme680/voc", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"bme680/voc" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "VOC Concentration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ppm", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"datasource": null, | |
"fieldConfig": { | |
"defaults": { | |
"custom": {}, | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "green", | |
"value": null | |
} | |
] | |
}, | |
"unit": "pressurehpa" | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 13, | |
"w": 11, | |
"x": 0, | |
"y": 28 | |
}, | |
"id": 14, | |
"options": { | |
"colorMode": "value", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"mean" | |
], | |
"fields": "", | |
"values": false | |
} | |
}, | |
"pluginVersion": "7.0.5", | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "bme680/pressure", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"bme680/pressure" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Pressure", | |
"type": "stat" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"description": "", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {} | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 13, | |
"w": 13, | |
"x": 11, | |
"y": 28 | |
}, | |
"hiddenSeries": false, | |
"id": 12, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "bme680/co", | |
"orderByTime": "ASC", | |
"policy": "30_days", | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"bme680/co" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "CO2 Concentration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ppm", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 25, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-6h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
] | |
}, | |
"timezone": "", | |
"title": "bme680", | |
"uid": "pYKw-Hggk", | |
"version": 7 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment