diff --git a/infra/grafana/garage_decke.json b/infra/grafana/garage_decke.json index d4cbb17ee..c36171e7f 100644 --- a/infra/grafana/garage_decke.json +++ b/infra/grafana/garage_decke.json @@ -9,7 +9,7 @@ ], "timezone": "browser", "schemaVersion": 39, - "version": 11, + "version": 12, "refresh": "30s", "panels": [ { @@ -425,6 +425,318 @@ } ] }, + { + "id": 7, + "type": "stat", + "title": "ΔT Kältedecke", + "description": "Wärmeaufnahme Kältedecke = Rücklauf (warm) − Vorlauf (kalt). Flussrichtung tauscht Zuordnung der fest montierten Fühler.", + "gridPos": { + "h": 4, + "w": 8, + "x": 0, + "y": 4 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "unit": "celsius", + "decimals": 2, + "color": { + "mode": "thresholds", + "fixedColor": "green" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 0.5 + }, + { + "color": "yellow", + "value": 1.5 + }, + { + "color": "green", + "value": 2.5 + } + ] + } + } + }, + "options": { + "reduceOptions": { + "values": false, + "calcs": [ + "lastNotNull" + ] + }, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto" + }, + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter", + "rawQuery": true, + "hide": true + }, + { + "refId": "B", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter", + "rawQuery": true, + "hide": true + }, + { + "refId": "RL", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "($A + $B - ${kd_flussrichtung} * ($B - $A)) / 2", + "hide": true + }, + { + "refId": "VL", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "($A + $B + ${kd_flussrichtung} * ($B - $A)) / 2", + "hide": true + }, + { + "refId": "DT", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$RL - $VL", + "hide": false + } + ] + }, + { + "id": 10, + "type": "stat", + "title": "ΔT Brunnen (RL − VL)", + "description": "Temperaturhub Primärkreis am PWT: rl_brunnen minus vl_brunnen.", + "gridPos": { + "h": 4, + "w": 8, + "x": 8, + "y": 4 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "unit": "celsius", + "decimals": 2, + "color": { + "mode": "thresholds", + "fixedColor": "green" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 0.5 + }, + { + "color": "yellow", + "value": 1.5 + }, + { + "color": "green", + "value": 2.5 + } + ] + } + } + }, + "options": { + "reduceOptions": { + "values": false, + "calcs": [ + "lastNotNull" + ] + }, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto" + }, + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter", + "rawQuery": true, + "hide": true + }, + { + "refId": "B", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter", + "rawQuery": true, + "hide": true + }, + { + "refId": "DT", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$B - $A", + "hide": false + } + ] + }, + { + "id": 9, + "type": "stat", + "title": "Leistung Brunnen (Ziel >684 W)", + "description": "Q = l/min × ΔT × 0,0698 kW. Benchmark: 684 W (gemessen 3,5 l/min, isolierte Fühler). Grün ab 0,684 kW.", + "gridPos": { + "h": 4, + "w": 8, + "x": 16, + "y": 4 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "unit": "kwatt", + "decimals": 2, + "color": { + "mode": "thresholds", + "fixedColor": "green" + }, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "red", + "value": null + }, + { + "color": "orange", + "value": 0.5 + }, + { + "color": "yellow", + "value": 0.62 + }, + { + "color": "green", + "value": 0.684 + } + ] + } + } + }, + "options": { + "reduceOptions": { + "values": false, + "calcs": [ + "lastNotNull" + ] + }, + "orientation": "auto", + "textMode": "auto", + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto" + }, + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter", + "rawQuery": true, + "hide": true + }, + { + "refId": "B", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter", + "rawQuery": true, + "hide": true + }, + { + "refId": "DT", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$B - $A", + "hide": true + }, + { + "refId": "Q", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "${brunnen_durchfluss} * $DT * 0.0698", + "hide": false + } + ] + }, { "id": 6, "type": "timeseries", @@ -567,411 +879,6 @@ } ] }, - { - "id": 7, - "type": "stat", - "title": "ΔT Kältedecke", - "description": "Wärmeaufnahme Kältedecke = Rücklauf (warm) − Vorlauf (kalt). Flussrichtung tauscht Zuordnung der fest montierten Fühler.", - "gridPos": { - "h": 4, - "w": 6, - "x": 0, - "y": 4 - }, - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "decimals": 2, - "color": { - "mode": "thresholds", - "fixedColor": "green" - }, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "orange", - "value": 0.5 - }, - { - "color": "yellow", - "value": 1.5 - }, - { - "color": "green", - "value": 2.5 - } - ] - } - } - }, - "options": { - "reduceOptions": { - "values": false, - "calcs": [ - "lastNotNull" - ] - }, - "orientation": "auto", - "textMode": "auto", - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto" - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "B", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "RL", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "($A + $B - ${kd_flussrichtung} * ($B - $A)) / 2", - "hide": true - }, - { - "refId": "VL", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "($A + $B + ${kd_flussrichtung} * ($B - $A)) / 2", - "hide": true - }, - { - "refId": "DT", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "$RL - $VL", - "hide": false - } - ] - }, - { - "id": 8, - "type": "stat", - "title": "ΔT Brunnen (RL − VL)", - "description": "Temperaturhub Brunnenkreis am PWT: rl_brunnen minus vl_brunnen (nach Umbau Tauchhülse aussagekräftig).", - "gridPos": { - "h": 4, - "w": 6, - "x": 6, - "y": 4 - }, - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "decimals": 2, - "color": { - "mode": "thresholds", - "fixedColor": "green" - }, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "orange", - "value": 0.5 - }, - { - "color": "yellow", - "value": 1.5 - }, - { - "color": "green", - "value": 2.5 - } - ] - } - } - }, - "options": { - "reduceOptions": { - "values": false, - "calcs": [ - "lastNotNull" - ] - }, - "orientation": "auto", - "textMode": "auto", - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto" - }, - "targets": [ - { - "refId": "RL", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "VL", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "DT", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "$RL - $VL", - "hide": false - } - ] - }, - { - "id": 9, - "type": "stat", - "title": "Leistung Brunnen (Ziel >684 W)", - "description": "Q = l/min × ΔT × 0,0698 kW. Benchmark: 684 W (gemessen 3,5 l/min, isolierte Fühler). Grün ab 0,684 kW.", - "gridPos": { - "h": 4, - "w": 6, - "x": 12, - "y": 4 - }, - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "kwatt", - "decimals": 2, - "color": { - "mode": "thresholds", - "fixedColor": "green" - }, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "orange", - "value": 0.5 - }, - { - "color": "yellow", - "value": 0.62 - }, - { - "color": "green", - "value": 0.684 - } - ] - } - } - }, - "options": { - "reduceOptions": { - "values": false, - "calcs": [ - "lastNotNull" - ] - }, - "orientation": "auto", - "textMode": "auto", - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto" - }, - "targets": [ - { - "refId": "RL", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "VL", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "DT", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "$RL - $VL", - "hide": true - }, - { - "refId": "Q", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "${brunnen_durchfluss} * $DT * 0.0698", - "hide": false - } - ] - }, - { - "id": 10, - "type": "stat", - "title": "PWT ΔT (RL Brunnen − Oberfläche)", - "description": "Plausibilitätscheck: Differenz Brunnen-RL zu PWT-Oberfläche. Großer Wert = Fühler/Position noch prüfen.", - "gridPos": { - "h": 4, - "w": 6, - "x": 18, - "y": 4 - }, - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "decimals": 1, - "color": { - "mode": "thresholds", - "fixedColor": "green" - }, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null - }, - { - "color": "orange", - "value": 0.5 - }, - { - "color": "yellow", - "value": 1.5 - }, - { - "color": "green", - "value": 2.5 - } - ] - } - } - }, - "options": { - "reduceOptions": { - "values": false, - "calcs": [ - "lastNotNull" - ] - }, - "orientation": "auto", - "textMode": "auto", - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto" - }, - "targets": [ - { - "refId": "RL", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "PWT", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='pwt' AND $timeFilter", - "rawQuery": true, - "hide": true - }, - { - "refId": "DT", - "datasource": { - "type": "__expr__", - "uid": "__expr__", - "name": "Expression" - }, - "type": "math", - "expression": "$RL - $PWT", - "hide": false - } - ] - }, { "id": 11, "type": "timeseries",