Last active
January 25, 2020 15:07
-
-
Save mfenniak/43c606e4b8eee4e62577e4aa74015d80 to your computer and use it in GitHub Desktop.
iotawatt power & energy Grafana dashboard
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": true, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": 12, | |
"iteration": 1579964813509, | |
"links": [], | |
"panels": [ | |
{ | |
"collapsed": false, | |
"datasource": null, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 14, | |
"panels": [], | |
"title": "Power", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB IoTaWatt", | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 8, | |
"w": 12, | |
"x": 0, | |
"y": 1 | |
}, | |
"hiddenSeries": false, | |
"id": 16, | |
"interval": "", | |
"legend": { | |
"avg": true, | |
"current": true, | |
"max": true, | |
"min": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "connected", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"alias": "Main A+B", | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"mean\") from (select mean(Watts) from iotawatt where $timeFilter and (input = 'Main_A' or input = 'Main_B') group by time($__interval), input) group by time($__interval)\n", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Whole-House Power", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "watt", | |
"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 IoTaWatt", | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 8, | |
"w": 12, | |
"x": 12, | |
"y": 1 | |
}, | |
"hiddenSeries": false, | |
"id": 17, | |
"interval": "", | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "connected", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"alias": "$tag_input", | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"input" | |
], | |
"type": "tag" | |
}, | |
{ | |
"params": [ | |
"previous" | |
], | |
"type": "fill" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "SELECT mean(\"Watts\") FROM \"iotawatt\" WHERE (\"input\" != 'Main_A' AND \"input\" != 'Main_B') AND $timeFilter GROUP BY time($__interval), \"input\"", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "!=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "AND", | |
"key": "input", | |
"operator": "!=", | |
"value": "Main_B" | |
} | |
] | |
}, | |
{ | |
"alias": "Other", | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"null" | |
], | |
"type": "fill" | |
} | |
], | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "SELECT sum(mains) - sum(non_mains) FROM (\n SELECT mean(\"Watts\") as mains FROM \"iotawatt\" WHERE (\"input\" = 'Main_A' OR \"input\" = 'Main_B') AND $timeFilter GROUP BY time($__interval), \"input\"\n), (\n SELECT mean(\"Watts\") as non_mains FROM \"iotawatt\" WHERE (\"input\" != 'Main_A' AND \"input\" != 'Main_B') AND $timeFilter GROUP BY time($__interval), \"input\"\n) GROUP BY time($__interval)", | |
"rawQuery": true, | |
"refId": "B", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"value" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Power by Circuit", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "watt", | |
"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": true, | |
"cacheTimeout": null, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB IoTaWatt", | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 9, | |
"x": 0, | |
"y": 9 | |
}, | |
"hiddenSeries": false, | |
"id": 18, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": false, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"1h" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"integral\") from (select integral(Watts,1h) from iotawatt where input = 'Main_A' or input = 'Main_B' group by input, time(1h)) group by time(1h)", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "integral" | |
}, | |
{ | |
"params": [ | |
" / 3600" | |
], | |
"type": "math" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Energy Consumed per Hour", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "watth", | |
"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": true, | |
"cacheTimeout": null, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB IoTaWatt", | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 9, | |
"x": 9, | |
"y": 9 | |
}, | |
"hiddenSeries": false, | |
"id": 19, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": false, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"1h" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"integral\") * $cost_per_kwh / 1000.0 from (select integral(Watts,1h) from iotawatt where input = 'Main_A' or input = 'Main_B' group by input, time(1h)) group by time(1h)\n", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "integral" | |
}, | |
{ | |
"params": [ | |
" / 3600" | |
], | |
"type": "math" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Energy Cost per Hour ($$cost_per_kwh/kWh)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "currencyUSD", | |
"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 | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "InfluxDB IoTaWatt", | |
"format": "watth", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 18, | |
"y": 9 | |
}, | |
"id": 20, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false, | |
"ymax": null, | |
"ymin": null | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"1h" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"integral\") from (select integral(Watts,1h) from iotawatt where input = 'Main_A' or input = 'Main_B' and $timeFilter group by input)", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "integral" | |
}, | |
{ | |
"params": [ | |
" / 3600" | |
], | |
"type": "math" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Energy Consumed", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "min" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "InfluxDB IoTaWatt", | |
"decimals": 2, | |
"format": "currencyUSD", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 21, | |
"y": 9 | |
}, | |
"id": 23, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false, | |
"ymax": null, | |
"ymin": null | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"1h" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"integral\") * $cost_per_kwh / 1000 from (select integral(Watts,1h) from iotawatt where input = 'Main_A' or input = 'Main_B' and time > (now() - 30d) group by input)", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "integral" | |
}, | |
{ | |
"params": [ | |
" / 3600" | |
], | |
"type": "math" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "(Last 30d)", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "min" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "InfluxDB IoTaWatt", | |
"decimals": 2, | |
"format": "currencyUSD", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 18, | |
"y": 12 | |
}, | |
"id": 21, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false, | |
"ymax": null, | |
"ymin": null | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"1h" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"integral\") * $cost_per_kwh / 1000 from (select integral(Watts,1h) from iotawatt where input = 'Main_A' or input = 'Main_B' and $timeFilter group by input)", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "integral" | |
}, | |
{ | |
"params": [ | |
" / 3600" | |
], | |
"type": "math" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Energy Cost", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "min" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "InfluxDB IoTaWatt", | |
"format": "watth", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 21, | |
"y": 12 | |
}, | |
"id": 22, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"options": {}, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false, | |
"ymax": null, | |
"ymin": null | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"1h" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "select sum(\"integral\") from (select integral(Watts,1h) from iotawatt where input = 'Main_A' or input = 'Main_B' and time > (now() - 30d) group by input)", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Watts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "integral" | |
}, | |
{ | |
"params": [ | |
" / 3600" | |
], | |
"type": "math" | |
} | |
] | |
], | |
"tags": [ | |
{ | |
"key": "input", | |
"operator": "=", | |
"value": "Main_A" | |
}, | |
{ | |
"condition": "OR", | |
"key": "input", | |
"operator": "=", | |
"value": "Main_B" | |
} | |
] | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "(Last 30d)", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "min" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "InfluxDB IoTaWatt", | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 18, | |
"x": 0, | |
"y": 15 | |
}, | |
"hiddenSeries": false, | |
"id": 27, | |
"interval": "", | |
"legend": { | |
"avg": true, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "connected", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"alias": "VRef", | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
} | |
], | |
"measurement": "iotawatt", | |
"orderByTime": "ASC", | |
"policy": "default", | |
"refId": "A", | |
"resultFormat": "time_series", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"Volts" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Reference Voltage", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "volt", | |
"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 | |
} | |
}, | |
{ | |
"columns": [], | |
"datasource": "InfluxDB IoTaWatt", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 5, | |
"w": 6, | |
"x": 18, | |
"y": 15 | |
}, | |
"id": 25, | |
"options": {}, | |
"pageSize": null, | |
"showHeader": true, | |
"sort": { | |
"col": 3, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Time", | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"pattern": "Time", | |
"type": "hidden" | |
}, | |
{ | |
"alias": "Energy", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"decimals": 2, | |
"pattern": "wh", | |
"thresholds": [], | |
"type": "number", | |
"unit": "watth" | |
}, | |
{ | |
"alias": "Cost", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"mappingType": 1, | |
"pattern": "dol", | |
"thresholds": [], | |
"type": "number", | |
"unit": "currencyUSD" | |
}, | |
{ | |
"alias": "Circuit", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"mappingType": 1, | |
"pattern": "input", | |
"thresholds": [], | |
"type": "string", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"groupBy": [ | |
{ | |
"params": [ | |
"$__interval" | |
], | |
"type": "time" | |
}, | |
{ | |
"params": [ | |
"null" | |
], | |
"type": "fill" | |
} | |
], | |
"orderByTime": "ASC", | |
"policy": "default", | |
"query": "SELECT integral(\"Watts\",1h) as wh, integral(\"Watts\",1h) * $cost_per_kwh / 1000.0 as dol FROM \"iotawatt\" WHERE (\"input\" != 'Main_A' AND \"input\" != 'Main_B') AND $timeFilter GROUP BY \"input\"", | |
"rawQuery": true, | |
"refId": "A", | |
"resultFormat": "table", | |
"select": [ | |
[ | |
{ | |
"params": [ | |
"value" | |
], | |
"type": "field" | |
}, | |
{ | |
"params": [], | |
"type": "mean" | |
} | |
] | |
], | |
"tags": [] | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Consumption by Circuit", | |
"transform": "table", | |
"type": "table" | |
}, | |
{ | |
"collapsed": false, | |
"datasource": null, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 12, | |
"panels": [], | |
"title": "Temperatures", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"decimals": null, | |
"fill": 0, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 8, | |
"w": 17, | |
"x": 0, | |
"y": 21 | |
}, | |
"hiddenSeries": false, | |
"id": 2, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 0.5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sensor_temperature and on(name) sensor_status{state=\"ONLINE\"} == 1", | |
"interval": "180s", | |
"intervalFactor": 1, | |
"legendFormat": "{{name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Household Temperatures", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "celsius", | |
"label": "", | |
"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, | |
"gridPos": { | |
"h": 8, | |
"w": 7, | |
"x": 17, | |
"y": 21 | |
}, | |
"id": 7, | |
"options": { | |
"displayMode": "lcd", | |
"fieldOptions": { | |
"calcs": [ | |
"last" | |
], | |
"defaults": { | |
"mappings": [], | |
"max": 30, | |
"min": 10, | |
"thresholds": [ | |
{ | |
"color": "blue", | |
"value": null | |
}, | |
{ | |
"color": "green", | |
"value": 17 | |
}, | |
{ | |
"color": "red", | |
"value": 22 | |
} | |
], | |
"unit": "celsius" | |
}, | |
"override": {}, | |
"values": true | |
}, | |
"orientation": "horizontal" | |
}, | |
"pluginVersion": "6.5.3", | |
"targets": [ | |
{ | |
"expr": "sensor_temperature and on(name) sensor_status{state=\"ONLINE\"} == 1", | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ name }}", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Current Temps", | |
"type": "bargauge" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"fill": 0, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 7, | |
"w": 24, | |
"x": 0, | |
"y": 29 | |
}, | |
"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": [ | |
{ | |
"expr": "sensor_power", | |
"interval": "180s", | |
"intervalFactor": 1, | |
"legendFormat": "{{name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Current Power Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "watt", | |
"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": null, | |
"fill": 0, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 9, | |
"w": 8, | |
"x": 0, | |
"y": 36 | |
}, | |
"hiddenSeries": false, | |
"id": 4, | |
"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": [ | |
{ | |
"expr": "avg_over_time(sensor_status{state=\"ONLINE\"}[$__interval])", | |
"interval": "180s", | |
"intervalFactor": 1, | |
"legendFormat": "{{name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Online Sensors", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "percentunit", | |
"label": "", | |
"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, | |
"cacheTimeout": null, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"fill": 0, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 9, | |
"w": 8, | |
"x": 8, | |
"y": 36 | |
}, | |
"hiddenSeries": false, | |
"id": 5, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pluginVersion": "6.3.5", | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "time() - sensor_last_activity", | |
"interval": "", | |
"intervalFactor": 5, | |
"legendFormat": "{{name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Last Sensor Update", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "s", | |
"label": "", | |
"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": null, | |
"fill": 0, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 9, | |
"w": 8, | |
"x": 16, | |
"y": 36 | |
}, | |
"hiddenSeries": false, | |
"id": 3, | |
"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": [ | |
{ | |
"expr": "sensor_battery and on(name) sensor_status{state=\"ONLINE\"} == 1", | |
"interval": "180s", | |
"intervalFactor": 1, | |
"legendFormat": "{{name}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Sensor Battery Life", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "percent", | |
"label": null, | |
"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 | |
} | |
} | |
], | |
"refresh": "5m", | |
"schemaVersion": 21, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"current": { | |
"selected": false, | |
"text": "0.07431", | |
"value": "0.07431" | |
}, | |
"hide": 2, | |
"label": null, | |
"name": "cost_per_kwh", | |
"options": [ | |
{ | |
"selected": true, | |
"text": "0.07431", | |
"value": "0.07431" | |
} | |
], | |
"query": "0.07431", | |
"skipUrlSync": false, | |
"type": "constant" | |
} | |
] | |
}, | |
"time": { | |
"from": "now-15m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
] | |
}, | |
"timezone": "", | |
"title": "Household Sensors", | |
"uid": "-b8a4UbZz", | |
"version": 41 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment