diff --git a/arakava-news/STATE.md b/arakava-news/STATE.md index a4e8d7f23..afe57c6fc 100644 --- a/arakava-news/STATE.md +++ b/arakava-news/STATE.md @@ -1,5 +1,5 @@ # Arakava News — Live State -> Auto-generiert: 2026-07-27 05:00 +> Auto-generiert: 2026-07-27 05:15 ## Service Status | Service | CT | Status | diff --git a/infra/grafana/heizraum.json b/infra/grafana/heizraum.json index 47521848b..7eda53f7c 100644 --- a/infra/grafana/heizraum.json +++ b/infra/grafana/heizraum.json @@ -1,35 +1,64 @@ { - "uid": "heizraum", - "title": "Heizraum", - "tags": [ - "heizraum", - "temperatur", - "puffer", - "heizkreise" + "annotations": { + "list": [] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "id": null, + "links": [ + { + "title": "Sensor-Inventar LIVE", + "type": "link", + "icon": "doc", + "targetBlank": true, + "url": "http://100.124.37.43:8080/projekte/esp32/sensor-inventar-LIVE.md", + "keepTime": false, + "includeVars": false, + "asDropdown": false, + "tags": [], + "tooltip": "" + } ], - "timezone": "browser", - "schemaVersion": 39, - "version": 3, - "refresh": "30s", + "liveNow": false, "panels": [ { "id": 1, + "type": "stat", + "title": "sensor-2", "gridPos": { - "h": 4, + "h": 3, "w": 4, "x": 0, "y": 0 }, - "type": "stat", - "title": "ESP32 IO", "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, "fieldConfig": { "defaults": { - "unit": "none", - "decimals": 0, + "mappings": [ + { + "type": "value", + "options": { + "1": { + "text": "online", + "color": "green" + } + } + }, + { + "type": "special", + "options": { + "match": "null", + "result": { + "text": "offline", + "color": "red" + } + } + } + ], "thresholds": { "mode": "absolute", "steps": [ @@ -45,20 +74,59 @@ }, "color": { "mode": "thresholds" + } + }, + "overrides": [] + }, + "options": { + "reduceOptions": { + "values": false, + "calcs": [ + "lastNotNull" + ], + "fields": "" + }, + "textMode": "value", + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto" + }, + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" }, + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"node_status\" WHERE \"node\"='heizraum-sensor-2'" + } + ] + }, + { + "id": 2, + "type": "stat", + "title": "sensor-3", + "gridPos": { + "h": 3, + "w": 4, + "x": 4, + "y": 0 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { "mappings": [ { "type": "value", "options": { "1": { - "text": "ONLINE", - "color": "green", - "index": 0 - }, - "0": { - "text": "OFFLINE", - "color": "red", - "index": 1 + "text": "online", + "color": "green" } } }, @@ -67,62 +135,12 @@ "options": { "match": "null", "result": { - "text": "OFFLINE", - "color": "red", - "index": 2 + "text": "offline", + "color": "red" } } } ], - "noValue": "OFFLINE" - } - }, - "options": { - "reduceOptions": { - "values": false, - "calcs": [ - "lastNotNull" - ] - }, - "orientation": "auto", - "textMode": "auto", - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto" - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT last(\"value\") FROM \"node_status\" WHERE \"node\"='heizraum'", - "rawQuery": true - } - ], - "description": "ESP32 Heizraum Aktor/Display LWT" - }, - { - "id": 2, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 0 - }, - "type": "gauge", - "title": "Puffer SoC %", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "percent", - "decimals": 0, - "min": 0, - "max": 100, "thresholds": { "mode": "absolute", "steps": [ @@ -130,35 +148,31 @@ "color": "red", "value": null }, - { - "color": "orange", - "value": 25 - }, - { - "color": "yellow", - "value": 50 - }, { "color": "green", - "value": 75 + "value": 1 } ] }, "color": { "mode": "thresholds" } - } + }, + "overrides": [] }, "options": { "reduceOptions": { "values": false, "calcs": [ "lastNotNull" - ] + ], + "fields": "" }, - "orientation": "auto", - "showThresholdLabels": false, - "showThresholdMarkers": true + "textMode": "value", + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto" }, "targets": [ { @@ -167,661 +181,1402 @@ "type": "influxdb", "uid": "ffptl25vzylfke" }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^puffer_/ AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"node_status\" WHERE \"node\"='heizraum-sensor-3'" } ] }, { "id": 3, + "type": "text", + "title": "", "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 4 - }, - "type": "timeseries", - "title": "Pufferschichtung", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } - } - } + "h": 3, + "w": 16, + "x": 8, + "y": 0 }, "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^puffer_/ AND $timeFilter GROUP BY time($__interval), \"sensor\"", - "rawQuery": true - } - ], - "description": "5 Schichten Pufferspeicher (1=oben \u2026 5=unten)" + "mode": "markdown", + "content": "**Heizraum Sensoren** \u2014 gruppiert \u00b7 Klarnamen \u00b7 **Min / Max / Letzter**.\n\n**Brunnen:** VL Heizraum + VL/RL Garage, **\u0394T Leitung** (Garage\u2212Heizraum) und **\u0394T PWT** (RL\u2212VL). [Inventar LIVE](http://100.124.37.43:8080/projekte/esp32/sensor-inventar-LIVE.md)" + } }, { "id": 4, - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 14 - }, - "type": "timeseries", - "title": "Heizkreise", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } - } - } - }, - "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^hk_/ AND $timeFilter GROUP BY time($__interval), \"sensor\"", - "rawQuery": true - } - ], - "description": "hk_vl_zum_mischer, hk_vl_nach_mischer, hk_rl_1_links, hk_rl_2_links, hk_rl_3_nebengelass, hk_rl_gesamt" - }, - { - "id": 5, + "type": "table", + "title": "Pufferspeicher", "gridPos": { "h": 8, "w": 12, "x": 0, - "y": 24 + "y": 3 }, - "type": "timeseries", - "title": "Thermosolar", "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, "fieldConfig": { "defaults": { - "unit": "celsius", + "decimals": 1, "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } + "filterable": false, + "align": "auto" } - } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "F\u00fchler" + }, + { + "id": "custom.width", + "value": 210 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "puffer_1_oben": { + "text": "01. Puffer 1 oben" + } + } + }, + { + "type": "value", + "options": { + "puffer_2_oben_mitte": { + "text": "02. Puffer 2 oben Mitte" + } + } + }, + { + "type": "value", + "options": { + "puffer_3_mitte": { + "text": "03. Puffer 3 Mitte" + } + } + }, + { + "type": "value", + "options": { + "puffer_4_unten_mitte": { + "text": "04. Puffer 4 unten Mitte" + } + } + }, + { + "type": "value", + "options": { + "puffer_5_unten": { + "text": "05. Puffer 5 unten" + } + } + }, + { + "type": "value", + "options": { + "puffer_vl_zum_mischer": { + "text": "06. Puffer-VL zum Mischer" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 78 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 40 + }, + { + "color": "yellow", + "value": 55 + }, + { + "color": "orange", + "value": 70 + }, + { + "color": "red", + "value": 85 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] }, "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^solar_/ AND $timeFilter GROUP BY time($__interval), \"sensor\"", - "rawQuery": true - } - ], - "description": "solar_vl, solar_rl" - }, - { - "id": 6, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 24 - }, - "type": "timeseries", - "title": "Erzeuger \u00d6l", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } + "sortBy": [ + { + "displayName": "F\u00fchler", + "desc": false } - } + ] }, - "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^oel_/ AND $timeFilter GROUP BY time($__interval), \"sensor\"", - "rawQuery": true - } - ], - "description": "oel_vl, oel_rl" - }, - { - "id": 7, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 32 - }, - "type": "timeseries", - "title": "Erzeuger Holzvergaser", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } - } - } - }, - "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^hv_/ AND $timeFilter GROUP BY time($__interval), \"sensor\"", - "rawQuery": true - } - ], - "description": "hv_vl, hv_body, hv_rl" - }, - { - "id": 8, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 32 - }, - "type": "timeseries", - "title": "Warmwasser / Au\u00dfen", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } - } - } - }, - "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND (\"sensor\"='ww_zirku_rl' OR \"sensor\"='aussen_heizraum') AND $timeFilter GROUP BY time($__interval), \"sensor\"", - "rawQuery": true - } - ], - "description": "ww_zirku_rl, aussen_heizraum" - }, - { - "id": 9, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 40 - }, - "type": "timeseries", - "title": "Spreizung \u0394T (VL\u2212RL)", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "off" - } - } - } - }, - "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "oel_vl", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='oel_vl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true, - "hide": false - }, - { - "refId": "oel_vl_rl", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='oel_rl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true, - "hide": false - }, - { - "refId": "hv_vl", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='hv_vl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true, - "hide": false - }, - { - "refId": "hv_vl_rl", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='hv_rl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true, - "hide": false - }, - { - "refId": "solar_vl", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='solar_vl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true, - "hide": false - }, - { - "refId": "solar_vl_rl", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='solar_rl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true, - "hide": false - } - ], "transformations": [ - { - "id": "calculateField", - "options": { - "mode": "binary", - "binary": { - "left": "oel_vl.value", - "operator": "-", - "right": "oel_rl.value" - }, - "alias": "\u0394T \u00d6l" - } - }, - { - "id": "calculateField", - "options": { - "mode": "binary", - "binary": { - "left": "hv_vl.value", - "operator": "-", - "right": "hv_rl.value" - }, - "alias": "\u0394T HV" - } - }, - { - "id": "calculateField", - "options": { - "mode": "binary", - "binary": { - "left": "solar_vl.value", - "operator": "-", - "right": "solar_rl.value" - }, - "alias": "\u0394T Solar" - } - }, { "id": "organize", "options": { "excludeByName": { - "oel_vl.value": true, - "oel_rl.value": true, - "hv_vl.value": true, - "hv_rl.value": true, - "solar_vl.value": true, - "solar_rl.value": true - } + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} } } ], - "description": "Spreizung \u0394T = Vorlauf \u2212 R\u00fccklauf f\u00fcr \u00d6l-, Holzvergaser- und Solarkreis. Positiv = W\u00e4rmeabgabe." + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^(puffer_1_oben|puffer_2_oben_mitte|puffer_3_mitte|puffer_4_unten_mitte|puffer_5_unten|puffer_vl_zum_mischer)$/ AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 5, + "type": "table", + "title": "Heizkreise", + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 3 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "custom": { + "filterable": false, + "align": "auto" + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "F\u00fchler" + }, + { + "id": "custom.width", + "value": 210 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "hk_vl_nach_mischer": { + "text": "01. HK-VL nach Mischer" + } + } + }, + { + "type": "value", + "options": { + "hk_rl_gesamt": { + "text": "02. HK-RL gesamt" + } + } + }, + { + "type": "value", + "options": { + "hk_rl_1_links": { + "text": "03. HK-RL 1 links" + } + } + }, + { + "type": "value", + "options": { + "hk_rl_2_links": { + "text": "04. HK-RL 2 links" + } + } + }, + { + "type": "value", + "options": { + "hk_rl_3_nebengelass": { + "text": "05. HK-RL 3 Nebengelass" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 78 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 25 + }, + { + "color": "yellow", + "value": 40 + }, + { + "color": "orange", + "value": 55 + }, + { + "color": "red", + "value": 70 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] + }, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false + }, + "sortBy": [ + { + "displayName": "F\u00fchler", + "desc": false + } + ] + }, + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} + } + } + ], + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^(hk_vl_nach_mischer|hk_rl_gesamt|hk_rl_1_links|hk_rl_2_links|hk_rl_3_nebengelass)$/ AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 6, + "type": "table", + "title": "\u00d6l", + "gridPos": { + "h": 5, + "w": 8, + "x": 0, + "y": 11 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "custom": { + "filterable": false, + "align": "auto" + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "F\u00fchler" + }, + { + "id": "custom.width", + "value": 210 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "oel_vl": { + "text": "01. \u00d6l-VL" + } + } + }, + { + "type": "value", + "options": { + "oel_rl": { + "text": "02. \u00d6l-RL" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 78 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 30 + }, + { + "color": "yellow", + "value": 50 + }, + { + "color": "orange", + "value": 65 + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] + }, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false + }, + "sortBy": [ + { + "displayName": "F\u00fchler", + "desc": false + } + ] + }, + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} + } + } + ], + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^(oel_vl|oel_rl)$/ AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 7, + "type": "table", + "title": "Holzvergaser", + "gridPos": { + "h": 5, + "w": 8, + "x": 8, + "y": 11 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "custom": { + "filterable": false, + "align": "auto" + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "F\u00fchler" + }, + { + "id": "custom.width", + "value": 210 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "hv_body": { + "text": "01. HV Body" + } + } + }, + { + "type": "value", + "options": { + "hv_vl": { + "text": "02. HV-VL" + } + } + }, + { + "type": "value", + "options": { + "hv_rl": { + "text": "03. HV-RL" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 78 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 30 + }, + { + "color": "yellow", + "value": 50 + }, + { + "color": "orange", + "value": 70 + }, + { + "color": "red", + "value": 85 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] + }, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false + }, + "sortBy": [ + { + "displayName": "F\u00fchler", + "desc": false + } + ] + }, + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} + } + } + ], + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^(hv_body|hv_vl|hv_rl)$/ AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 8, + "type": "table", + "title": "Solar", + "gridPos": { + "h": 5, + "w": 8, + "x": 16, + "y": 11 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "custom": { + "filterable": false, + "align": "auto" + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "F\u00fchler" + }, + { + "id": "custom.width", + "value": 210 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "solar_vl": { + "text": "01. Solar-VL" + } + } + }, + { + "type": "value", + "options": { + "solar_rl": { + "text": "02. Solar-RL" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 78 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 25 + }, + { + "color": "yellow", + "value": 45 + }, + { + "color": "orange", + "value": 70 + }, + { + "color": "red", + "value": 90 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] + }, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false + }, + "sortBy": [ + { + "displayName": "F\u00fchler", + "desc": false + } + ] + }, + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} + } + } + ], + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^(solar_vl|solar_rl)$/ AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 9, + "type": "table", + "title": "Sonstige", + "gridPos": { + "h": 5, + "w": 8, + "x": 0, + "y": 16 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "custom": { + "filterable": false, + "align": "auto" + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "F\u00fchler" + }, + { + "id": "custom.width", + "value": 210 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "aussen_heizraum": { + "text": "01. Au\u00dfen (Heizraum)" + } + } + }, + { + "type": "value", + "options": { + "ww_zirku_rl": { + "text": "02. WW-Zirkulation RL" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 78 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "#73BF69", + "value": 5 + }, + { + "color": "green", + "value": 15 + }, + { + "color": "yellow", + "value": 25 + }, + { + "color": "orange", + "value": 40 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] + }, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false + }, + "sortBy": [ + { + "displayName": "F\u00fchler", + "desc": false + } + ] + }, + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} + } + } + ], + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^(aussen_heizraum|ww_zirku_rl)$/ AND $timeFilter GROUP BY \"sensor\"" + } + ] }, { "id": 10, + "type": "bargauge", + "title": "Puffer-Schichtung (Letzter, oben\u2192unten)", "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 48 + "h": 5, + "w": 16, + "x": 8, + "y": 16 }, - "type": "timeseries", - "title": "HV-R\u00fccklauf-W\u00e4chter", "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" @@ -829,164 +1584,114 @@ "fieldConfig": { "defaults": { "unit": "celsius", - "custom": { - "drawStyle": "line", - "lineInterpolation": "linear", - "barAlignment": 0, - "lineWidth": 2, - "fillOpacity": 10, - "gradientMode": "none", - "spanNulls": 300000, - "showPoints": "never", - "pointSize": 5, - "stacking": { - "mode": "none", - "group": "A" - }, - "axisPlacement": "auto", - "axisLabel": "", - "axisColorMode": "text", - "scaleDistribution": { - "type": "linear" - }, - "axisCenteredZero": false, - "hideFrom": { - "tooltip": false, - "viz": false, - "legend": false - }, - "thresholdsStyle": { - "mode": "area" - } - }, + "min": 20, + "max": 90, + "decimals": 1, "thresholds": { "mode": "absolute", "steps": [ { - "color": "red", + "color": "blue", "value": null }, { - "color": "orange", - "value": 45 + "color": "green", + "value": 40 }, { "color": "yellow", "value": 55 }, { - "color": "green", - "value": 60 - } - ] - } - } - }, - "options": { - "legend": { - "displayMode": "table", - "placement": "bottom", - "calcs": [ - "last", - "mean", - "max" - ] - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "refId": "A", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='hv_rl' AND $timeFilter GROUP BY time($__interval)", - "rawQuery": true - } - ], - "description": "HV-R\u00fccklauftemperatur. Soll >55\u201360 \u00b0C im Betrieb (Mischventil-Diagnose)." - }, - { - "id": 11, - "gridPos": { - "h": 4, - "w": 4, - "x": 8, - "y": 0 - }, - "type": "stat", - "title": "Sensor-1", - "datasource": { - "type": "influxdb", - "uid": "ffptl25vzylfke" - }, - "fieldConfig": { - "defaults": { - "unit": "none", - "decimals": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "red", - "value": null + "color": "orange", + "value": 70 }, { - "color": "green", - "value": 1 + "color": "red", + "value": 85 } ] }, "color": { "mode": "thresholds" - }, - "mappings": [ - { - "type": "value", - "options": { - "1": { - "text": "ONLINE", - "color": "green", - "index": 0 - }, - "0": { - "text": "OFFLINE", - "color": "red", - "index": 1 - } - } + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "puffer_1_oben" }, - { - "type": "special", - "options": { - "match": "null", - "result": { - "text": "OFFLINE", - "color": "red", - "index": 2 - } + "properties": [ + { + "id": "displayName", + "value": "1 oben" } - } - ], - "noValue": "OFFLINE" - } + ] + }, + { + "matcher": { + "id": "byName", + "options": "puffer_2_oben_mitte" + }, + "properties": [ + { + "id": "displayName", + "value": "2 oben Mitte" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "puffer_3_mitte" + }, + "properties": [ + { + "id": "displayName", + "value": "3 Mitte" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "puffer_4_unten_mitte" + }, + "properties": [ + { + "id": "displayName", + "value": "4 unten Mitte" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "puffer_5_unten" + }, + "properties": [ + { + "id": "displayName", + "value": "5 unten" + } + ] + } + ] }, "options": { "reduceOptions": { "values": false, "calcs": [ "lastNotNull" - ] + ], + "fields": "" }, - "orientation": "auto", - "textMode": "auto", - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto" + "orientation": "horizontal", + "displayMode": "gradient", + "showUnfilled": true, + "valueMode": "color", + "namePlacement": "left" }, "targets": [ { @@ -995,25 +1700,681 @@ "type": "influxdb", "uid": "ffptl25vzylfke" }, - "query": "SELECT last(\"value\") FROM \"node_status\" WHERE \"node\"='heizraum-sensor-1'", - "rawQuery": true + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\" =~ /^puffer_[1-5]/ AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 11, + "type": "table", + "title": "Brunnen \u2014 Temperaturen (Min / Max / Letzter)", + "description": "Heizraum: Topic oelraum/temp. Garage: Shelly node=garage_decke.", + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 21 + }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "fieldConfig": { + "defaults": { + "decimals": 1, + "custom": { + "filterable": false + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "sensor" + }, + "properties": [ + { + "id": "displayName", + "value": "Messpunkt" + }, + { + "id": "custom.width", + "value": 280 + }, + { + "id": "mappings", + "value": [ + { + "type": "value", + "options": { + "brunnen_vl_zum_heizraum": { + "text": "01. VL Heizraum (Garten-Zulauf)" + }, + "vl_brunnen": { + "text": "02. VL Garage (vor PWT)" + }, + "rl_brunnen": { + "text": "03. RL Garage (nach PWT)" + } + } + } + ] + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "/^(min|max|last)$/" + }, + "properties": [ + { + "id": "unit", + "value": "celsius" + }, + { + "id": "decimals", + "value": 1 + }, + { + "id": "custom.width", + "value": 80 + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "#73BF69", + "value": 8 + }, + { + "color": "green", + "value": 12 + }, + { + "color": "yellow", + "value": 16 + }, + { + "color": "orange", + "value": 20 + } + ] + } + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-background", + "mode": "gradient" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "min" + }, + "properties": [ + { + "id": "displayName", + "value": "Min" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "max" + }, + "properties": [ + { + "id": "displayName", + "value": "Max" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "last" + }, + "properties": [ + { + "id": "displayName", + "value": "Letzter" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Time" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "node" + }, + "properties": [ + { + "id": "custom.hidden", + "value": true + } + ] + } + ] + }, + "options": { + "showHeader": true, + "cellHeight": "sm", + "footer": { + "show": false + }, + "sortBy": [ + { + "displayName": "Messpunkt", + "desc": false + } + ] + }, + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "host": true, + "node": true + }, + "indexByName": { + "sensor": 0, + "min": 1, + "max": 2, + "last": 3 + }, + "renameByName": {} + } } ], - "description": "ESP Easy heizraum-sensor-1 LWT" + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "resultFormat": "table", + "query": "SELECT min(\"value\"), max(\"value\"), last(\"value\") FROM \"temperature\" WHERE ((\"node\"='heizraum' AND \"sensor\"='brunnen_vl_zum_heizraum') OR (\"node\"='garage_decke' AND (\"sensor\"='vl_brunnen' OR \"sensor\"='rl_brunnen'))) AND $timeFilter GROUP BY \"sensor\"" + } + ] + }, + { + "id": 12, + "type": "stat", + "title": "\u0394T Leitung (Garage VL \u2212 Heizraum VL)", + "description": "Erw\u00e4rmung auf dem Weg Garten/Heizraum \u2192 Garage vor PWT.", + "gridPos": { + "h": 3, + "w": 6, + "x": 12, + "y": 21 + }, + "datasource": { + "type": "datasource", + "uid": "-- Mixed --" + }, + "fieldConfig": { + "defaults": { + "unit": "celsius", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 0.3 + }, + { + "color": "yellow", + "value": 1.0 + }, + { + "color": "orange", + "value": 2.0 + }, + { + "color": "red", + "value": 3.5 + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + }, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "colorMode": "background", + "graphMode": "none", + "textMode": "value", + "justifyMode": "center", + "orientation": "auto" + }, + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='brunnen_vl_zum_heizraum' AND $timeFilter", + "hide": true + }, + { + "refId": "B", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter", + "hide": true + }, + { + "refId": "RA", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "reduce", + "expression": "A", + "reducer": "last", + "hide": true + }, + { + "refId": "RB", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "reduce", + "expression": "B", + "reducer": "last", + "hide": true + }, + { + "refId": "DT", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$RB - $RA", + "hide": false + } + ] + }, + { + "id": 13, + "type": "stat", + "title": "\u0394T PWT Garage (RL \u2212 VL)", + "description": "Spreizung am Plattenw\u00e4rmetauscher Garage.", + "gridPos": { + "h": 3, + "w": 6, + "x": 18, + "y": 21 + }, + "datasource": { + "type": "datasource", + "uid": "-- Mixed --" + }, + "fieldConfig": { + "defaults": { + "unit": "celsius", + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 0.3 + }, + { + "color": "yellow", + "value": 1.0 + }, + { + "color": "orange", + "value": 2.0 + }, + { + "color": "red", + "value": 3.5 + } + ] + }, + "color": { + "mode": "thresholds" + } + }, + "overrides": [] + }, + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "colorMode": "background", + "graphMode": "none", + "textMode": "value", + "justifyMode": "center", + "orientation": "auto" + }, + "targets": [ + { + "refId": "A", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter", + "hide": true + }, + { + "refId": "B", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter", + "hide": true + }, + { + "refId": "RA", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "reduce", + "expression": "A", + "reducer": "last", + "hide": true + }, + { + "refId": "RB", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "reduce", + "expression": "B", + "reducer": "last", + "hide": true + }, + { + "refId": "DT", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$RB - $RA", + "hide": false + } + ] + }, + { + "id": 14, + "type": "timeseries", + "title": "Brunnen Verlauf + \u0394T (Legende: Min / Max / Letzter)", + "gridPos": { + "h": 4, + "w": 12, + "x": 12, + "y": 24 + }, + "datasource": { + "type": "datasource", + "uid": "-- Mixed --" + }, + "fieldConfig": { + "defaults": { + "unit": "celsius", + "decimals": 2, + "custom": { + "drawStyle": "line", + "lineWidth": 2, + "fillOpacity": 5, + "showPoints": "never", + "lineInterpolation": "smooth" + }, + "color": { + "mode": "palette-classic" + } + }, + "overrides": [ + { + "matcher": { + "id": "byFrameRefID", + "options": "HR" + }, + "properties": [ + { + "id": "displayName", + "value": "VL Heizraum" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "VL" + }, + "properties": [ + { + "id": "displayName", + "value": "VL Garage" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "RL" + }, + "properties": [ + { + "id": "displayName", + "value": "RL Garage" + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "DT_L" + }, + "properties": [ + { + "id": "displayName", + "value": "\u0394T Leitung" + }, + { + "id": "custom.lineStyle", + "value": { + "fill": "dash", + "dash": [ + 4, + 4 + ] + } + } + ] + }, + { + "matcher": { + "id": "byFrameRefID", + "options": "DT_P" + }, + "properties": [ + { + "id": "displayName", + "value": "\u0394T PWT" + }, + { + "id": "custom.lineStyle", + "value": { + "fill": "dash", + "dash": [ + 4, + 4 + ] + } + } + ] + } + ] + }, + "options": { + "legend": { + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "calcs": [ + "min", + "max", + "lastNotNull" + ] + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "targets": [ + { + "refId": "HR", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='heizraum' AND \"sensor\"='brunnen_vl_zum_heizraum' AND $timeFilter GROUP BY time($__interval) fill(previous)" + }, + { + "refId": "VL", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter GROUP BY time($__interval) fill(previous)" + }, + { + "refId": "RL", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "rawQuery": true, + "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter GROUP BY time($__interval) fill(previous)" + }, + { + "refId": "DT_L", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$VL - $HR", + "hide": false + }, + { + "refId": "DT_P", + "datasource": { + "type": "__expr__", + "uid": "__expr__", + "name": "Expression" + }, + "type": "math", + "expression": "$RL - $VL", + "hide": false + } + ] } ], + "refresh": "30s", + "schemaVersion": 39, + "tags": [ + "heizraum", + "temperatur", + "sensoren" + ], + "templating": { + "list": [] + }, "time": { - "from": "now-6h", + "from": "now-12h", "to": "now" }, - "id": null, - "links": [ - { - "title": "Nebengelass / Erdtrasse", - "type": "link", - "url": "/d/heizung_nebengelass", - "icon": "dashboard", - "targetBlank": false - } - ] -} \ No newline at end of file + "timepicker": {}, + "timezone": "browser", + "title": "Heizraum Sensoren", + "uid": "heizraum", + "version": 16, + "description": "Heizraum gruppiert + Brunnen-Vergleich Garage (\u0394T Leitung / \u0394T PWT)." +} diff --git a/infrastructure/STATE.md b/infrastructure/STATE.md index 065cc139d..f46986988 100644 --- a/infrastructure/STATE.md +++ b/infrastructure/STATE.md @@ -1,5 +1,5 @@ # Infrastruktur — Live State -> Auto-generiert: 2026-07-27 05:00 +> Auto-generiert: 2026-07-27 05:15 ## pve-hetzner Disk | Mount | Belegt | diff --git a/smart-home/STATE.md b/smart-home/STATE.md index 3b6714b9d..5d6efc7cc 100644 --- a/smart-home/STATE.md +++ b/smart-home/STATE.md @@ -1,5 +1,5 @@ # Smart Home Muldenstein — Live State -> Auto-generiert: 2026-07-27 05:00 +> Auto-generiert: 2026-07-27 05:15 ## Backup-Status - Letztes Backup: 1179MB, 2026-07-27 04:02