{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0,255,255,1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 22, "links": [], "panels": [ { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 1, "panels": [], "title": "Realtime Prio flow", "type": "row" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 250, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 150 }, { "color": "red", "value": 180 } ] }, "unit": "m3/h" }, "overrides": [] }, "gridPos": { "h": 7, "w": 4, "x": 0, "y": 1 }, "id": 25, "options": { "minVizHeight": 75, "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, "sizing": "auto" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG1\" ) and ( r._field==\"downstream_predicted_flow\" ) )\n |> last()", "refId": "A" } ], "title": "Realtime flow", "transformations": [ { "id": "calculateField", "options": { "alias": "cost / h", "binary": { "left": "upstream_predicted_power {geoLocation=\"undefined\", id=\"eb9bc2362e755b9e\", model=\"undefined\", name=\"mG1\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "operator": "*", "right": "0.25" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "gauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 100 }, { "color": "red", "value": 180 } ] }, "unit": "kwatt" }, "overrides": [] }, "gridPos": { "h": 7, "w": 5, "x": 4, "y": 1 }, "id": 23, "options": { "minVizHeight": 75, "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, "sizing": "auto" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG1\" ) and ( r._field==\"upstream_measured_power\" or r._field==\"upstream_predicted_power\" ) )\n |> last()", "refId": "A" } ], "title": "Realtime verbruik", "type": "gauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 20 }, { "color": "red", "value": 50 } ] }, "unit": "currencyEUR" }, "overrides": [] }, "gridPos": { "h": 7, "w": 2, "x": 9, "y": 1 }, "id": 39, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"mG1\" and r._field == \"upstream_predicted_power\")\n |> last()\n |> map(fn: (r) => ({ r with _value: r._value * 0.25 }))\n |> yield(name: \"multiplied_value\")", "refId": "A" } ], "title": "Realtime kost", "transformations": [ { "id": "calculateField", "options": { "alias": "cost / h", "binary": { "left": "upstream_predicted_power {geoLocation=\"undefined\", id=\"07ec60b7b7c17582\", model=\"undefined\", name=\"mG2\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "operator": "*", "right": "0.25" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 20 }, { "color": "red", "value": 50 } ] }, "unit": "m3/kW" }, "overrides": [] }, "gridPos": { "h": 7, "w": 3, "x": 11, "y": 1 }, "id": 44, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"mG1\" and r._field == \"downstream_predicted_efficiency\")\n |> last()\n |> map(fn: (r) => ({ r with _value: r._value}))\n |> yield(name: \"multiplied_value\")", "refId": "A" } ], "title": "Flow / Power", "transformations": [ { "id": "calculateField", "options": { "alias": "cost / h", "binary": { "left": "upstream_predicted_power {geoLocation=\"undefined\", id=\"07ec60b7b7c17582\", model=\"undefined\", name=\"mG2\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "operator": "*", "right": "0.25" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": 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": "blue", "value": null } ] }, "unit": "kwatth" }, "overrides": [] }, "gridPos": { "h": 7, "w": 7, "x": 14, "y": 1 }, "id": 27, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => \n r._measurement == \"mG1\" and \n r._field == \"upstream_predicted_power\"\n )\n |> group()\n |> window(every: $__interval, period: $__interval)\n |> mean(column: \"_value\")\n |> duplicate(column: \"_start\", as: \"_time\")\n |> drop(columns: [\"_start\", \"_stop\"])\n |> yield(name: \"rolling_average_predicted_power\")\n", "refId": "A" } ], "title": "Verbruik", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 7, "w": 3, "x": 21, "y": 1 }, "id": 42, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG1\" ) and ( r._field==\"absDistFromPeak\" ) )\n |> last()\n", "refId": "A" } ], "title": "Distance from group BEP", "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 8 }, "id": 34, "panels": [], "title": "Realtime Optimaal", "type": "row" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 250, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 150 }, { "color": "red", "value": 180 } ] }, "unit": "m3/h" }, "overrides": [] }, "gridPos": { "h": 7, "w": 4, "x": 0, "y": 9 }, "id": 37, "options": { "minVizHeight": 75, "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, "sizing": "auto" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG2\" ) and ( r._field==\"downstream_predicted_flow\" ) )\n |> last()", "refId": "A" } ], "title": "Realtime flow", "transformations": [ { "id": "calculateField", "options": { "alias": "cost / h", "binary": { "left": "upstream_predicted_power {geoLocation=\"undefined\", id=\"eb9bc2362e755b9e\", model=\"undefined\", name=\"mG1\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "operator": "*", "right": "0.25" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "gauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 100 }, { "color": "red", "value": 180 } ] }, "unit": "kwatt" }, "overrides": [] }, "gridPos": { "h": 7, "w": 5, "x": 4, "y": 9 }, "id": 24, "options": { "minVizHeight": 75, "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, "sizing": "auto" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG2\" ) and ( r._field==\"upstream_measured_power\" or r._field==\"upstream_predicted_power\" ) )\n |> last()", "refId": "A" } ], "title": "Realtime verbruik", "type": "gauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 20 }, { "color": "red", "value": 50 } ] }, "unit": "currencyEUR" }, "overrides": [] }, "gridPos": { "h": 7, "w": 2, "x": 9, "y": 9 }, "id": 30, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"mG2\" and r._field == \"upstream_predicted_power\")\n |> last()\n |> map(fn: (r) => ({ r with _value: r._value * 0.25 }))\n |> yield(name: \"multiplied_value\")", "refId": "A" } ], "title": "Realtime kost", "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 20 }, { "color": "red", "value": 50 } ] }, "unit": "m3/kW" }, "overrides": [] }, "gridPos": { "h": 7, "w": 3, "x": 11, "y": 9 }, "id": 45, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r._measurement == \"mG2\" and r._field == \"downstream_predicted_efficiency\")\n |> last()\n |> map(fn: (r) => ({ r with _value: r._value}))\n |> yield(name: \"multiplied_value\")", "refId": "A" } ], "title": "Flow / Power", "transformations": [ { "id": "calculateField", "options": { "alias": "cost / h", "binary": { "left": "upstream_predicted_power {geoLocation=\"undefined\", id=\"07ec60b7b7c17582\", model=\"undefined\", name=\"mG2\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "operator": "*", "right": "0.25" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": 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": "blue", "value": null } ] }, "unit": "kwatth" }, "overrides": [] }, "gridPos": { "h": 7, "w": 7, "x": 14, "y": 9 }, "id": 28, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => \n r._measurement == \"mG2\" and \n r._field == \"upstream_predicted_power\"\n )\n |> group()\n |> window(every: $__interval, period: $__interval)\n |> mean(column: \"_value\")\n |> duplicate(column: \"_start\", as: \"_time\")\n |> drop(columns: [\"_start\", \"_stop\"])\n |> yield(name: \"rolling_average_predicted_power\")\n", "refId": "A" } ], "title": "Verbruik", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 7, "w": 3, "x": 21, "y": 9 }, "id": 43, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG2\" ) and ( r._field==\"absDistFromPeak\" ) )\n |> last()\n", "refId": "A" } ], "title": "Distance from group BEP", "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 16 }, "id": 35, "panels": [], "title": "Verschillen", "type": "row" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 250, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 150 }, { "color": "red", "value": 180 } ] }, "unit": "m3/h" }, "overrides": [] }, "gridPos": { "h": 7, "w": 4, "x": 0, "y": 17 }, "id": 38, "options": { "minVizHeight": 75, "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, "sizing": "auto" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) =>\n (r._measurement == \"mG2\" or r._measurement == \"mG1\") and \n r._field == \"downstream_predicted_flow\"\n )\n |> last()\n // Add a constant key so that both records share the same pivot key\n |> map(fn: (r) => ({ r with pivotKey: \"last\" }))\n // Drop _time to ensure both records are combined in the pivot\n |> drop(columns: [\"_time\"])\n |> group(columns: [\"pivotKey\"])\n // Pivot using the constant key, so that both mG2 and mG1 values appear in one row\n |> pivot(rowKey: [\"pivotKey\"], columnKey: [\"_measurement\"], valueColumn: \"_value\")\n // Compute the difference: mG2 minus mG1\n |> map(fn: (r) => ({ r with diff: r.mG1 - r.mG2 }))\n |> keep(columns: [\"diff\"])\n |> yield(name: \"difference\")", "refId": "A" } ], "title": "Realtime flow verschil", "transformations": [ { "id": "calculateField", "options": { "alias": "cost / h", "binary": { "left": "upstream_predicted_power {geoLocation=\"undefined\", id=\"eb9bc2362e755b9e\", model=\"undefined\", name=\"mG1\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "operator": "*", "right": "0.25" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "gauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 300, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 100 }, { "color": "red", "value": 180 } ] }, "unit": "kwatt" }, "overrides": [] }, "gridPos": { "h": 7, "w": 5, "x": 4, "y": 17 }, "id": 29, "options": { "minVizHeight": 75, "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true, "sizing": "auto" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) =>\n (r._measurement == \"mG2\" or r._measurement == \"mG1\") and \n r._field == \"upstream_predicted_power\"\n )\n |> last()\n // Add a constant key so that both records share the same pivot key\n |> map(fn: (r) => ({ r with pivotKey: \"last\" }))\n // Drop _time to ensure both records are combined in the pivot\n |> drop(columns: [\"_time\"])\n |> group(columns: [\"pivotKey\"])\n // Pivot using the constant key, so that both mG2 and mG1 values appear in one row\n |> pivot(rowKey: [\"pivotKey\"], columnKey: [\"_measurement\"], valueColumn: \"_value\")\n // Compute the difference: mG2 minus mG1\n |> map(fn: (r) => ({ r with diff: r.mG1 - r.mG2 }))\n |> keep(columns: [\"diff\"])\n |> yield(name: \"difference\")\n", "refId": "A" } ], "title": "Realtime power verschil", "type": "gauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 2, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#EAB839", "value": 20 }, { "color": "red", "value": 50 } ] }, "unit": "Euro (€) / h" }, "overrides": [ { "__systemRef": "hideSeriesFrom", "matcher": { "id": "byNames", "options": { "mode": "exclude", "names": [ "diff upstream_predicted_power" ], "prefix": "All except:", "readOnly": true } }, "properties": [] } ] }, "gridPos": { "h": 7, "w": 5, "x": 9, "y": 17 }, "id": 26, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "mG1 = from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => r._measurement == \"mG1\" and r._field == \"upstream_predicted_power\")\n |> last()\n |> map(fn: (r) => ({\n _time: now(), // set a common timestamp\n joinKey: \"last\", // add a constant key for joining\n mG1_Cost: float(v: r._value) * 0.25\n }))\n\nmG2 = from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => r._measurement == \"mG2\" and r._field == \"upstream_predicted_power\")\n |> last()\n |> map(fn: (r) => ({\n _time: now(), // set the same common timestamp\n joinKey: \"last\", // add the constant key for joining\n mG2_Cost: float(v: r._value) * 0.25\n }))\n\njoin(\n tables: {mG1: mG1, mG2: mG2},\n on: [\"joinKey\"],\n method: \"inner\"\n)\n |> map(fn: (r) => ({\n _time: r._time,\n diff: r.mG1_Cost - r.mG2_Cost\n }))\n |> yield(name: \"diff\")", "refId": "A" } ], "title": "Realtime verschil", "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "Over een tijdsperiode van 1 uur het rollend gemiddelde in euro/h", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 2, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "Euro (€) / h" }, "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 14, "y": 17 }, "id": 32, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "vertical", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "/^scaled_difference$/", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "// Process mG1: Aggregate at 1m, compute moving average, and scale\nmG1 = from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => r._measurement == \"mG1\" and r._field == \"upstream_predicted_power\")\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n |> movingAverage(n: 60)\n |> map(fn: (r) => ({\n _time: r._time,\n mG1_scaled: float(v: r._value)\n }))\n\n// Process mG2: Same processing as mG1\nmG2 = from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => r._measurement == \"mG2\" and r._field == \"upstream_predicted_power\")\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n |> movingAverage(n: 60)\n |> map(fn: (r) => ({\n _time: r._time,\n mG2_scaled: float(v: r._value)\n }))\n\n// Join the two streams on _time and compute the cost difference\njoin(\n tables: {mG1: mG1, mG2: mG2},\n on: [\"_time\"],\n method: \"inner\"\n)\n |> map(fn: (r) => ({\n _time: r._time,\n // Assuming 0.25 Euro per kWh:\n scaled_difference: (r.mG1_scaled - r.mG2_scaled) * 0.25\n }))\n |> yield(name: \"scaled_rolling_difference\")", "refId": "A" } ], "title": "Rollend gemiddeld verschil / h", "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "Rollend gemiddelde kost / h", "fieldConfig": { "defaults": { "color": { "mode": "continuous-GrYlRd" }, "mappings": [], "max": 16, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] }, "unit": "Euro (€) / h" }, "overrides": [] }, "gridPos": { "h": 14, "w": 9, "x": 0, "y": 24 }, "id": 31, "options": { "displayMode": "lcd", "maxVizHeight": 300, "minVizHeight": 16, "minVizWidth": 8, "namePlacement": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showUnfilled": true, "sizing": "auto", "valueMode": "text" }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => \n r._measurement == \"mG1\" and \n r._field == \"upstream_predicted_power\"\n )\n // Aggregate raw data to 1-minute intervals.\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n // Compute a 60-point moving average (rolling average over the last 60 minutes).\n |> movingAverage(n: 60)\n // Re-aggregate to 1-minute intervals (adjust if you meant 6m for 10 points per hour)\n |> aggregateWindow(every: 1m, fn: last, createEmpty: false)\n // Multiply each value by 0.25\n |> map(fn: (r) => ({\n _time: r._time,\n _value: r._value * 0.25\n }))\n |> yield(name: \"mG1\")\n", "refId": "A" }, { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "hide": false, "query": "from(bucket: \"${bucket}\")\r\n |> range(start: -90m, stop: now())\r\n |> filter(fn: (r) => \r\n r._measurement == \"mG2\" and \r\n r._field == \"upstream_predicted_power\"\r\n )\r\n // Aggregate raw data to 1-minute intervals.\r\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\r\n // Compute a 60-point moving average (rolling average over the last 60 minutes).\r\n |> movingAverage(n: 60)\r\n // Re-aggregate to 1-minute intervals (adjust if you meant 6m for 10 points per hour)\r\n |> aggregateWindow(every: 1m, fn: last, createEmpty: false)\r\n // Multiply each value by 0.25\r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: r._value * 0.25\r\n }))\r\n |> yield(name: \"mG2\")\r\n", "refId": "B" } ], "title": "Kosten Rollend gemiddelde / h", "type": "bargauge" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "Over een tijdsperiode van 1 uur het rollend gemiddelde in kWh", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "kwatth" }, "overrides": [] }, "gridPos": { "h": 7, "w": 7, "x": 9, "y": 24 }, "id": 41, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => \n r._measurement == \"mG1\" and \n r._field == \"upstream_predicted_power\"\n )\n // Aggregate raw data to 1-minute intervals.\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n // Compute a 60-point moving average (rolling average over the last 60 minutes).\n |> movingAverage(n: 60)\n // Re-aggregate to 6-minute intervals to consistently yield 60 data points per hour.\n |> aggregateWindow(every: 1m, fn: last, createEmpty: false)\n |> yield(name: \"rolling_average\")\n", "refId": "A" } ], "title": "mG1 Rollend gemiddeld verschil / kWh", "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "Het rollend gemiddelde * 8766 uur", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "max": 20, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null } ] }, "unit": "currencyEUR" }, "overrides": [] }, "gridPos": { "h": 14, "w": 6, "x": 16, "y": 24 }, "id": 33, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "/^scaled_difference$/", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "// Process mG1: Filter, aggregate, compute moving average, and scale\nmG1 = from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => r._measurement == \"mG1\" and r._field == \"upstream_predicted_power\")\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n |> movingAverage(n: 60)\n |> map(fn: (r) => ({\n _time: r._time,\n mG1_scaled: float(v: r._value) * 8766.0\n }))\n\n// Process mG2: Filter, aggregate, compute moving average, and scale\nmG2 = from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => r._measurement == \"mG2\" and r._field == \"upstream_predicted_power\")\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n |> movingAverage(n: 60)\n |> map(fn: (r) => ({\n _time: r._time,\n mG2_scaled: float(v: r._value) * 8766.0\n }))\n\n// Join the two streams on _time and compute the difference\njoin(\n tables: {mG1: mG1, mG2: mG2},\n on: [\"_time\"],\n method: \"inner\"\n)\n |> map(fn: (r) => ({\n _time: r._time,\n scaled_difference: ( r.mG1_scaled - r.mG2_scaled ) * 0.25\n }))\n |> yield(name: \"scaled_rolling_difference\")\n\n\n\n\n\n", "refId": "A" } ], "title": "Projectie over 1 jaar", "type": "stat" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "Over een tijdsperiode van 1 uur het rollend gemiddelde in kWh", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "kwatth" }, "overrides": [] }, "gridPos": { "h": 7, "w": 7, "x": 9, "y": 31 }, "id": 40, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "vertical", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: -90m, stop: now())\n |> filter(fn: (r) => \n r._measurement == \"mG2\" and \n r._field == \"upstream_predicted_power\"\n )\n // Aggregate raw data to 1-minute intervals.\n |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)\n // Compute a 60-point moving average (rolling average over the last 60 minutes).\n |> movingAverage(n: 60)\n // Re-aggregate to 6-minute intervals to consistently yield 60 data points per hour.\n |> aggregateWindow(every: 1m, fn: last, createEmpty: false)\n |> yield(name: \"rolling_average\")\n\n", "refId": "A" } ], "title": "MG2 Rollend gemiddeld verschil / kWh", "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 38 }, "id": 5, "panels": [], "title": "Measurements", "type": "row" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "description": "Flow / Power", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 13, "w": 24, "x": 0, "y": 39 }, "id": 17, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG1\" or r._measurement==\"mG2\" ) and ( r._field==\"downstream_measured_efficiency\" or r._field==\"downstream_predicted_efficiency\") )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" } ], "title": "Efficiency", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "diff {_field=\"upstream_predicted_power\"}" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" }, { "id": "custom.drawStyle", "value": "points" } ] } ] }, "gridPos": { "h": 12, "w": 24, "x": 0, "y": 52 }, "id": 16, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG1\" or r._measurement==\"mG2\" ) and ( r._field==\"upstream_measured_power\" or r._field==\"upstream_predicted_power\" ) )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" }, { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "hide": false, "query": "mg1 = from(bucket: \"${bucket}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => \r\n r._measurement == \"mG1\" and \r\n (r._field == \"upstream_measured_power\" or r._field == \"upstream_predicted_power\")\r\n )\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)\r\n\r\nmg2 = from(bucket: \"${bucket}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => \r\n r._measurement == \"mG2\" and \r\n (r._field == \"upstream_measured_power\" or r._field == \"upstream_predicted_power\")\r\n )\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)\r\n\r\njoin(\r\n tables: {mg1: mg1, mg2: mg2},\r\n on: [\"_time\", \"_field\"],\r\n method: \"inner\"\r\n)\r\n|> map(fn: (r) => ({\r\n _time: r._time,\r\n _field: r._field,\r\n diff: r._value_mg1 - r._value_mg2\r\n}))", "refId": "B" } ], "title": "machineGroup power comparison", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 11, "w": 24, "x": 0, "y": 64 }, "id": 14, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "11.2.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"mG1\" or r._measurement==\"mG2\" ) and (r._field==\"downstream_predicted_flow\") )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" } ], "title": "Flow", "type": "timeseries" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 75 }, "id": 10, "panels": [], "title": "Machine control", "type": "row" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "fieldMinMax": false, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 10 }, { "color": "#EAB839", "value": 20 }, { "color": "yellow", "value": 80 }, { "color": "red", "value": 90 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "m1 ctrl {geoLocation_x=\"0\", geoLocation_y=\"0\", geoLocation_z=\"0\", id=\"b1226bbc99239bc5\", model=\"H05K-S03R+HGM1X-X280KO\", name=\"m1\", role=\"RotationalDeviceController\", softwareType=\"machine\", subType=\"centrifugal pumps\", supplier=\"hydrostal\", type=\"generic\", unit=\"m3/h\", uuid=\"null\"}" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" } ] }, { "matcher": { "id": "byName", "options": "m2 ctrl {geoLocation_x=\"0\", geoLocation_y=\"0\", geoLocation_z=\"0\", id=\"f8a5f0524be2a754\", model=\"H05K-S03R+HGM1X-X280KO\", name=\"m2\", role=\"RotationalDeviceController\", softwareType=\"machine\", subType=\"centrifugal pumps\", supplier=\"hydrostal\", type=\"generic\", unit=\"m3/h\", uuid=\"null\"}" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" } ] }, { "matcher": { "id": "byName", "options": "m3 ctrl {geoLocation_x=\"0\", geoLocation_y=\"0\", geoLocation_z=\"0\", id=\"b7cee587e61eeef4\", model=\"H05K-S03R+HGM1X-X280KO\", name=\"m3\", role=\"RotationalDeviceController\", softwareType=\"machine\", subType=\"centrifugal pumps\", supplier=\"hydrostal\", type=\"generic\", unit=\"m3/h\", uuid=\"null\"}" }, "properties": [ { "id": "custom.axisPlacement", "value": "right" } ] }, { "__systemRef": "hideSeriesFrom", "matcher": { "id": "byNames", "options": { "mode": "exclude", "names": [ "m1 ctrl {geoLocation_x=\"0\", geoLocation_y=\"0\", geoLocation_z=\"0\", id=\"b1226bbc99239bc5\", model=\"H05K-S03R+HGM1X-X280KO\", name=\"m1\", role=\"RotationalDeviceController\", softwareType=\"machine\", subType=\"centrifugal pumps\", supplier=\"hydrostal\", type=\"generic\", unit=\"m3/h\", uuid=\"null\"}" ], "prefix": "All except:", "readOnly": true } }, "properties": [ { "id": "custom.hideFrom", "value": { "legend": false, "tooltip": false, "viz": true } } ] } ] }, "gridPos": { "h": 11, "w": 24, "x": 0, "y": 76 }, "id": 13, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "8.0.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) =>\n r._field == \"ctrl\" and \n (r._measurement == \"m1\" or \n r._measurement == \"m2\" or \n r._measurement == \"m3\" or \n r._measurement == \"m4\" or \n r._measurement == \"m5\" or \n r._measurement == \"m6\")\n )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" }, { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "hide": false, "query": "", "refId": "B" } ], "title": "Control", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "fieldMinMax": false, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 10 }, { "color": "#EAB839", "value": 20 }, { "color": "yellow", "value": 80 }, { "color": "red", "value": 90 } ] } }, "overrides": [] }, "gridPos": { "h": 12, "w": 12, "x": 0, "y": 87 }, "id": 18, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "8.0.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"m1\" or r._measurement==\"m2\" or r._measurement==\"m3\" or r._measurement==\"mG1\" ) and ( r._field==\"downstream_predicted_flow\") )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" } ], "title": "mG1 flow", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "fieldMinMax": false, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 10 }, { "color": "#EAB839", "value": 20 }, { "color": "yellow", "value": 80 }, { "color": "red", "value": 90 } ] } }, "overrides": [] }, "gridPos": { "h": 12, "w": 12, "x": 12, "y": 87 }, "id": 20, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "8.0.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"m4\" or r._measurement==\"m5\" or r._measurement==\"m6\" or r._measurement==\"mG2\" ) and (r._field==\"downstream_predicted_flow\") )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" } ], "title": "mG2 flow", "type": "timeseries" }, { "datasource": { "default": true, "type": "influxdb", "uid": "cdzg44tv250jkd" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "decimals": 2, "fieldMinMax": false, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 10 }, { "color": "#EAB839", "value": 20 }, { "color": "yellow", "value": 80 }, { "color": "red", "value": 90 } ] } }, "overrides": [ { "__systemRef": "hideSeriesFrom", "matcher": { "id": "byNames", "options": { "mode": "exclude", "names": [ "mG2 downstream_predicted_flow {geoLocation=\"undefined\", id=\"07ec60b7b7c17582\", model=\"undefined\", name=\"mG2\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}", "mG1 downstream_predicted_flow {geoLocation=\"undefined\", id=\"eb9bc2362e755b9e\", model=\"undefined\", name=\"mG1\", role=\"GroupController\", softwareType=\"machineGroup\", subType=\"undefined\", supplier=\"undefined\", type=\"undefined\", unit=\"undefined\", uuid=\"undefined\"}" ], "prefix": "All except:", "readOnly": true } }, "properties": [ { "id": "custom.hideFrom", "value": { "legend": false, "tooltip": false, "viz": true } } ] } ] }, "gridPos": { "h": 12, "w": 24, "x": 0, "y": 99 }, "id": 21, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "8.0.0", "targets": [ { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "query": "from(bucket: \"${bucket}\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn:(r) => ( r._measurement==\"m1\" or r._measurement==\"m2\" or r._measurement==\"m3\" or r._measurement==\"mG1\" ) and (r._field==\"downstream_predicted_flow\") )\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "A" }, { "datasource": { "type": "influxdb", "uid": "cdzg44tv250jkd" }, "hide": false, "query": "from(bucket: \"${bucket}\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn:(r) => ( r._measurement==\"m4\" or r._measurement==\"m5\" or r._measurement==\"m6\" or r._measurement==\"mG2\" ) and (r._field==\"downstream_predicted_flow\") )\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: true)", "refId": "B" } ], "title": "mG1 and mG2 Flow", "type": "timeseries" } ], "refresh": "10s", "schemaVersion": 39, "tags": [], "templating": { "list": [ { "current": { "selected": false, "text": "influxdb", "value": "influxdb" }, "hide": 0, "includeAll": false, "label": "dbase", "multi": false, "name": "dbase", "options": [ { "selected": true, "text": "influxdb", "value": "influxdb" } ], "query": "influxdb", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "current": { "selected": true, "text": "> mG1", "value": "mG1" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "measurement", "options": [ { "selected": false, "text": "template", "value": "template" } ], "query": "template", "queryValue": "mG1", "skipUrlSync": false, "type": "custom" }, { "current": { "selected": true, "text": "> lvl2", "value": "lvl2" }, "hide": 0, "includeAll": false, "multi": false, "name": "bucket", "options": [ { "selected": false, "text": "template", "value": "template" } ], "query": "template", "queryValue": "lvl2", "skipUrlSync": false, "type": "custom" } ] }, "time": { "from": "now-30m", "to": "now" }, "timepicker": { "refresh_intervals": [ "10s", "30s", "1m", "5m", "15m", "30m", "1h" ] }, "timezone": "browser", "title": "MultipleMachineGroups", "uid": "eefi4duhkar5sd", "version": 94, "weekStart": "" }