Skip to content

Instantly share code, notes, and snippets.

@gyng
Last active March 16, 2023 08:19
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gyng/5afd2756497b5ceffd277ca6509baeb4 to your computer and use it in GitHub Desktop.
Save gyng/5afd2756497b5ceffd277ca6509baeb4 to your computer and use it in GitHub Desktop.
Awair Grafana dashboard
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"description": "",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 1,
"links": [],
"panels": [
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-BlYlRd"
},
"mappings": [],
"max": 35,
"min": 15,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "text",
"value": null
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 4,
"x": 0,
"y": 0
},
"id": 20,
"options": {
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showThresholdLabels": false,
"showThresholdMarkers": true,
"text": {}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "temp",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"title": "Temperature",
"type": "gauge"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-BlYlRd"
},
"custom": {
"axisLabel": "",
"axisPlacement": "right",
"axisSoftMax": 35,
"axisSoftMin": 15,
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "super-light-blue",
"value": null
}
]
},
"unit": "celsius"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Dew point (°C)"
},
"properties": [
{
"id": "color",
"value": {
"mode": "continuous-blues"
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 8,
"x": 4,
"y": 0
},
"id": 7,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "multi"
}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "temp",
"hide": false,
"interval": "",
"legendFormat": "Temperature (°C)",
"refId": "A"
},
{
"exemplar": true,
"expr": "dew_point",
"hide": false,
"interval": "",
"legendFormat": "Dew point (°C)",
"refId": "B"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Temperature",
"type": "timeseries"
},
{
"alert": {
"alertRuleTags": {},
"conditions": [
{
"evaluator": {
"params": [
1500
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"CO2 30m avg",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "5m",
"frequency": "1m",
"handler": 1,
"message": "",
"name": "CO₂ alert",
"noDataState": "no_data",
"notifications": [
{
"uid": "AV851V4nk"
}
]
},
"datasource": null,
"description": "|Where|What|\n|-|-|\n|US NIOSH, HK EPD|<1000 ppm|\n|UK EFSA (BB101)|<1500 ppm|\n|EU|?|\n\n[Atmospheric concentration: >400ppm](https://en.wikipedia.org/wiki/Carbon_dioxide_in_Earth%27s_atmosphere#Current_concentration) \n[Awair CO₂ floor: 400ppm](https://support.getawair.com/hc/en-us/articles/115004440608-Why-doesn-t-my-CO2-reading-go-below-400ppm-)",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisLabel": "",
"axisPlacement": "right",
"axisSoftMax": 2000,
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "light-green",
"value": 500
},
{
"color": "light-yellow",
"value": 1000
},
{
"color": "dark-orange",
"value": 2000
},
{
"color": "dark-red",
"value": 5000
}
]
},
"unit": "ppm"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "CO₂ (ppm)"
},
"properties": [
{
"id": "custom.gradientMode",
"value": "scheme"
}
]
},
{
"matcher": {
"id": "byName",
"options": "30m mean CO₂ (ppm)"
},
"properties": [
{
"id": "custom.lineStyle",
"value": {
"dash": [
10,
10
],
"fill": "dash"
}
},
{
"id": "custom.gradientMode",
"value": "scheme"
}
]
},
{
"__systemRef": "hideSeriesFrom",
"matcher": {
"id": "byNames",
"options": {
"mode": "exclude",
"names": [
"CO₂ (ppm)"
],
"prefix": "All except:",
"readOnly": true
}
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": false,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 8,
"x": 12,
"y": 0
},
"id": 12,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"exemplar": true,
"expr": "co2",
"interval": "",
"legendFormat": "CO₂ (ppm)",
"refId": "CO2"
},
{
"exemplar": true,
"expr": "co2_est",
"hide": false,
"interval": "",
"legendFormat": "co2_est",
"refId": "F"
},
{
"exemplar": true,
"expr": "co2_est_baseline",
"hide": false,
"interval": "",
"legendFormat": "co2_est_baseline",
"refId": "A"
},
{
"exemplar": true,
"expr": "avg_over_time(co2[30m])",
"hide": false,
"interval": "",
"legendFormat": "30m mean CO₂ (ppm)",
"refId": "CO2 30m avg"
}
],
"thresholds": [
{
"colorMode": "critical",
"op": "gt",
"value": 1500,
"visible": true
}
],
"title": "CO₂",
"type": "timeseries"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"max": 6000,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "green",
"value": 500
},
{
"color": "light-yellow",
"value": 1000
},
{
"color": "dark-orange",
"value": 2000
},
{
"color": "dark-red",
"value": 5000
}
]
},
"unit": "ppm"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "temp{instance=\"192.168.1.168:9290\", job=\"awair-study\"}"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#FADE2A",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 4,
"x": 20,
"y": 0
},
"id": 10,
"options": {
"reduceOptions": {
"calcs": [
"last"
],
"fields": "",
"values": false
},
"showThresholdLabels": true,
"showThresholdMarkers": false,
"text": {}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "co2",
"interval": "",
"legendFormat": "CO₂ (ppm)",
"refId": "CO2"
}
],
"title": "CO₂",
"type": "gauge"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-BlPu"
},
"mappings": [],
"max": 100,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "semi-dark-blue",
"value": null
}
]
},
"unit": "humidity"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 4,
"x": 0,
"y": 10
},
"id": 21,
"options": {
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showThresholdLabels": false,
"showThresholdMarkers": true,
"text": {}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "humid",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"title": "Relative humidity",
"type": "gauge"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-BlPu"
},
"custom": {
"axisLabel": "",
"axisPlacement": "right",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 100,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "humidity"
},
"overrides": [
{
"__systemRef": "hideSeriesFrom",
"matcher": {
"id": "byNames",
"options": {
"mode": "exclude",
"names": [
"Relative humidity (%)"
],
"prefix": "All except:",
"readOnly": true
}
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": false,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 8,
"x": 4,
"y": 10
},
"id": 8,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "humid",
"hide": false,
"interval": "",
"legendFormat": "Relative humidity (%)",
"refId": "B"
},
{
"exemplar": true,
"expr": "abs_humid",
"format": "time_series",
"hide": false,
"interval": "",
"legendFormat": "abs_humid",
"refId": "E"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Relative humidity",
"type": "timeseries"
},
{
"datasource": null,
"description": "Fine particulate matter.\n\n[Thresholds according to EPA 2012 AQI guidelines](https://www.epa.gov/sites/default/files/2016-04/documents/2012_aqi_factsheet.pdf)",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisLabel": "",
"axisPlacement": "right",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "semi-dark-green",
"value": 12
},
{
"color": "light-green",
"value": 35.4
},
{
"color": "super-light-orange",
"value": 55.4
},
{
"color": "semi-dark-red",
"value": 150.4
},
{
"color": "dark-red",
"value": 250.4
},
{
"color": "semi-dark-purple",
"value": 350.4
},
{
"color": "dark-purple",
"value": 500.4
}
]
},
"unit": "conμgm3"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": " PM₂.₅ (µg/m ³)"
},
"properties": [
{
"id": "custom.gradientMode",
"value": "scheme"
}
]
},
{
"matcher": {
"id": "byName",
"options": "24hr mean PM₂.₅ (µg/m ³)"
},
"properties": [
{
"id": "custom.lineStyle",
"value": {
"dash": [
10,
10
],
"fill": "dash"
}
},
{
"id": "custom.gradientMode",
"value": "scheme"
}
]
},
{
"__systemRef": "hideSeriesFrom",
"matcher": {
"id": "byNames",
"options": {
"mode": "exclude",
"names": [
" PM₂.₅ (µg/m ³)",
"24hr mean PM₂.₅ (µg/m ³)"
],
"prefix": "All except:",
"readOnly": true
}
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": false,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 8,
"x": 12,
"y": 10
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "multi"
}
},
"targets": [
{
"exemplar": true,
"expr": "pm25",
"hide": false,
"interval": "",
"legendFormat": " PM₂.₅ (µg/m ³)",
"refId": "D"
},
{
"exemplar": true,
"expr": "pm10_est",
"hide": false,
"interval": "",
"legendFormat": "PM₁₀ estimate (µg/m ³)",
"refId": "A"
},
{
"exemplar": true,
"expr": "p",
"hide": false,
"interval": "",
"legendFormat": "",
"refId": "B"
},
{
"exemplar": true,
"expr": "avg_over_time(pm25[24h])",
"hide": false,
"interval": "",
"legendFormat": "24hr mean PM₂.₅ (µg/m ³)",
"refId": "C"
}
],
"title": " PM₂.₅",
"type": "timeseries"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"max": 200,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "semi-dark-green",
"value": 12
},
{
"color": "light-yellow",
"value": 35.4
},
{
"color": "dark-orange",
"value": 55.4
},
{
"color": "semi-dark-red",
"value": 150.4
},
{
"color": "dark-red",
"value": 250.4
},
{
"color": "semi-dark-purple",
"value": 350.4
},
{
"color": "dark-purple",
"value": 500.4
}
]
},
"unit": "conμgm3"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "temp{instance=\"192.168.1.168:9290\", job=\"awair-study\"}"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#FADE2A",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 4,
"x": 20,
"y": 10
},
"id": 15,
"options": {
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showThresholdLabels": true,
"showThresholdMarkers": false,
"text": {}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "pm25",
"hide": false,
"interval": "",
"legendFormat": " PM₂.₅ (µg/m ³)",
"refId": "D"
}
],
"title": " PM₂.₅",
"type": "gauge"
},
{
"datasource": null,
"description": "BBC (MeteoGroup) forecast",
"gridPos": {
"h": 10,
"w": 4,
"x": 0,
"y": 20
},
"id": 25,
"options": {
"feedUrl": "https://weather-broker-cdn.api.bbci.co.uk/en/forecast/rss/3day/1880252",
"showImage": true,
"useProxy": false
},
"title": "Forecast",
"type": "news"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-RdYlGr"
},
"custom": {
"axisLabel": "",
"axisPlacement": "right",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "scheme",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 100,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 4,
"y": 20
},
"id": 18,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"exemplar": true,
"expr": "score",
"interval": "",
"legendFormat": "Awair score",
"refId": "A"
}
],
"title": "Awair score",
"type": "timeseries"
},
{
"datasource": null,
"description": "Total volatile organic compounds",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisLabel": "",
"axisPlacement": "right",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "light-yellow",
"value": 333
},
{
"color": "semi-dark-orange",
"value": 1000
},
{
"color": "semi-dark-red",
"value": 3333
},
{
"color": "dark-purple",
"value": 8333
}
]
},
"unit": "conppb"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "TVOC (ppb)"
},
"properties": [
{
"id": "custom.gradientMode",
"value": "scheme"
}
]
},
{
"__systemRef": "hideSeriesFrom",
"matcher": {
"id": "byNames",
"options": {
"mode": "exclude",
"names": [
"TVOC (ppb)"
],
"prefix": "All except:",
"readOnly": true
}
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": false,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 8,
"x": 12,
"y": 20
},
"id": 6,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"exemplar": true,
"expr": "voc",
"hide": false,
"interval": "",
"legendFormat": "TVOC (ppb)",
"refId": "C"
},
{
"exemplar": true,
"expr": "voc_ethanol_raw",
"hide": false,
"interval": "",
"legendFormat": "voc_ethanol_raw",
"refId": "E"
},
{
"exemplar": true,
"expr": "voc_h2_raw",
"hide": false,
"interval": "",
"legendFormat": "voc_h2_raw",
"refId": "A"
},
{
"exemplar": true,
"expr": "voc_baseline",
"hide": false,
"interval": "",
"legendFormat": "voc_baseline",
"refId": "B"
}
],
"title": "TVOC",
"type": "timeseries"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"max": 1000,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "light-yellow",
"value": 333
},
{
"color": "semi-dark-orange",
"value": 1000
},
{
"color": "semi-dark-red",
"value": 3333
},
{
"color": "dark-purple",
"value": 8333
}
]
},
"unit": "conppb"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "temp{instance=\"192.168.1.168:9290\", job=\"awair-study\"}"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#FADE2A",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 4,
"x": 20,
"y": 20
},
"id": 16,
"options": {
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showThresholdLabels": true,
"showThresholdMarkers": false,
"text": {}
},
"pluginVersion": "8.1.2",
"targets": [
{
"exemplar": true,
"expr": "voc",
"hide": false,
"interval": "",
"legendFormat": "TVOC (ppb)",
"refId": "D"
}
],
"title": "TVOC",
"type": "gauge"
}
],
"refresh": "30s",
"schemaVersion": 30,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-24h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Air quality",
"uid": "jTrk7en7k",
"version": 145
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment