garage_decke: VL/RL-Anzeige folgt KD-Flussrichtung

Schalter tauscht hydraulische Zuordnung der fest montierten Fühler;
ΔT bleibt Rücklauf minus Vorlauf.
This commit is contained in:
Homelab Cursor 2026-06-27 11:47:53 +02:00
parent 92a5eca903
commit 5dd791aae0

View file

@ -9,7 +9,7 @@
], ],
"timezone": "browser", "timezone": "browser",
"schemaVersion": 39, "schemaVersion": 39,
"version": 3, "version": 4,
"refresh": "30s", "refresh": "30s",
"panels": [ "panels": [
{ {
@ -77,9 +77,43 @@
"uid": "ffptl25vzylfke" "uid": "ffptl25vzylfke"
}, },
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter", "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter",
"rawQuery": true "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} * ($A - $B)) / 2",
"hide": false
},
{
"refId": "VL",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true
} }
] ],
"description": "Rücklauf Kältedecke (wärmer). Bei umgekehrter Flussrichtung wird der passende Rohr-Fühler per Schalter zugeordnet — Influx-Tags bleiben fix."
}, },
{ {
"id": 2, "id": 2,
@ -214,10 +248,44 @@
"type": "influxdb", "type": "influxdb",
"uid": "ffptl25vzylfke" "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", "query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter",
"rawQuery": true "rawQuery": true,
"hide": true
},
{
"refId": "RL",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B - ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true
},
{
"refId": "VL",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": false
} }
] ],
"description": "Vorlauf Kältedecke (kälter). Zuordnung über KD Flussrichtung oben."
}, },
{ {
"id": 4, "id": 4,
@ -383,7 +451,33 @@
"showPoints": "never", "showPoints": "never",
"axisPlacement": "auto" "axisPlacement": "auto"
} }
} },
"overrides": [
{
"matcher": {
"id": "byFrameRefID",
"options": "RL_KD"
},
"properties": [
{
"id": "displayName",
"value": "RL Klimadecke"
}
]
},
{
"matcher": {
"id": "byFrameRefID",
"options": "VL_KD"
},
"properties": [
{
"id": "displayName",
"value": "VL Kältedecke"
}
]
}
]
}, },
"options": { "options": {
"legend": { "legend": {
@ -403,13 +497,46 @@
}, },
"targets": [ "targets": [
{ {
"refId": "rl_klimadecke", "refId": "KD_A",
"datasource": { "datasource": {
"type": "influxdb", "type": "influxdb",
"uid": "ffptl25vzylfke" "uid": "ffptl25vzylfke"
}, },
"query": "SELECT mean(\"value\") AS \"RL Klimadecke\" FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter GROUP BY time($__interval)", "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true "rawQuery": true,
"hide": true
},
{
"refId": "KD_B",
"datasource": {
"type": "influxdb",
"uid": "ffptl25vzylfke"
},
"query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true,
"hide": true
},
{
"refId": "RL_KD",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B - ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": false
},
{
"refId": "VL_KD",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": false
}, },
{ {
"refId": "pwt", "refId": "pwt",
@ -420,15 +547,6 @@
"query": "SELECT mean(\"value\") AS \"PWT-Oberfläche\" FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='pwt' AND $timeFilter GROUP BY time($__interval)", "query": "SELECT mean(\"value\") AS \"PWT-Oberfläche\" FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='pwt' AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true "rawQuery": true
}, },
{
"refId": "vl_kaeltedecke",
"datasource": {
"type": "influxdb",
"uid": "ffptl25vzylfke"
},
"query": "SELECT mean(\"value\") AS \"VL Kältedecke\" FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true
},
{ {
"refId": "vl_brunnen", "refId": "vl_brunnen",
"datasource": { "datasource": {
@ -453,7 +571,7 @@
"id": 7, "id": 7,
"type": "stat", "type": "stat",
"title": "ΔT Kältedecke", "title": "ΔT Kältedecke",
"description": "Wärmeaufnahme Kältedecke. Richtung über Variable „KD Flussrichtung“ oben: Normal = rl_klimadecke vl_kaeltedecke, Umgekehrt = vl rl (2. Pumpe).", "description": "Wärmeaufnahme Kältedecke = Rücklauf Vorlauf (hydraulisch, unabhängig vom Flussrichtungs-Schalter).",
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 6, "w": 6,
@ -510,7 +628,7 @@
}, },
"targets": [ "targets": [
{ {
"refId": "RL", "refId": "A",
"datasource": { "datasource": {
"type": "influxdb", "type": "influxdb",
"uid": "ffptl25vzylfke" "uid": "ffptl25vzylfke"
@ -520,7 +638,7 @@
"hide": true "hide": true
}, },
{ {
"refId": "VL", "refId": "B",
"datasource": { "datasource": {
"type": "influxdb", "type": "influxdb",
"uid": "ffptl25vzylfke" "uid": "ffptl25vzylfke"
@ -529,6 +647,28 @@
"rawQuery": true, "rawQuery": true,
"hide": true "hide": true
}, },
{
"refId": "RL",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B - ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true
},
{
"refId": "VL",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true
},
{ {
"refId": "DT", "refId": "DT",
"datasource": { "datasource": {
@ -537,7 +677,7 @@
"name": "Expression" "name": "Expression"
}, },
"type": "math", "type": "math",
"expression": "${kd_flussrichtung} * ($RL - $VL)", "expression": "$RL - $VL",
"hide": false "hide": false
} }
] ]
@ -932,23 +1072,45 @@
}, },
"targets": [ "targets": [
{ {
"refId": "RL_KD", "refId": "KD_A",
"datasource": { "datasource": {
"type": "influxdb", "type": "influxdb",
"uid": "ffptl25vzylfke" "uid": "ffptl25vzylfke"
}, },
"query": "SELECT mean(\"value\") AS \"RL KD\" FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter GROUP BY time($__interval)", "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true, "rawQuery": true,
"hide": true "hide": true
}, },
{
"refId": "KD_B",
"datasource": {
"type": "influxdb",
"uid": "ffptl25vzylfke"
},
"query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter GROUP BY time($__interval)",
"rawQuery": true,
"hide": true
},
{
"refId": "RL_KD",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B - ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true
},
{ {
"refId": "VL_KD", "refId": "VL_KD",
"datasource": { "datasource": {
"type": "influxdb", "type": "__expr__",
"uid": "ffptl25vzylfke" "uid": "__expr__",
"name": "Expression"
}, },
"query": "SELECT mean(\"value\") AS \"VL KD\" FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter GROUP BY time($__interval)", "type": "math",
"rawQuery": true, "expression": "($A + $B + ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true "hide": true
}, },
{ {
@ -959,7 +1121,7 @@
"name": "Expression" "name": "Expression"
}, },
"type": "math", "type": "math",
"expression": "${kd_flussrichtung} * ($RL_KD - $VL_KD)", "expression": "$RL_KD - $VL_KD",
"hide": false "hide": false
}, },
{ {
@ -1016,10 +1178,10 @@
{ {
"current": { "current": {
"selected": true, "selected": true,
"text": "Umgekehrt (VLRL)", "text": "Umgekehrt (Fühler getauscht)",
"value": "-1" "value": "-1"
}, },
"description": "Flussrichtung Kältedecke: Sensor-Tags rl_klimadecke/vl_kaeltedecke bleiben am Rohr, ΔT wird mit Faktor 1 (RLVL) oder 1 (VLRL) berechnet. Stand 27.06.: umgekehrt (2. Pumpe, Entlüftung).", "description": "Flussrichtung Kältedecke: tauscht hydraulische VL/RL-Zuordnung der fest montierten Fühler (rl_klimadecke, vl_kaeltedecke). Normal = Standard; Umgekehrt = 2. Pumpe / Entlüftung.",
"hide": 0, "hide": 0,
"includeAll": false, "includeAll": false,
"label": "KD Flussrichtung", "label": "KD Flussrichtung",
@ -1028,12 +1190,12 @@
"options": [ "options": [
{ {
"selected": false, "selected": false,
"text": "Normal (RLVL)", "text": "Normal (Fühler = VL/RL)",
"value": "1" "value": "1"
}, },
{ {
"selected": true, "selected": true,
"text": "Umgekehrt (VLRL)", "text": "Umgekehrt (Fühler getauscht)",
"value": "-1" "value": "-1"
} }
], ],