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",
"schemaVersion": 39,
"version": 3,
"version": 4,
"refresh": "30s",
"panels": [
{
@ -77,9 +77,43 @@
"uid": "ffptl25vzylfke"
},
"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,
@ -214,10 +248,44 @@
"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
"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,
@ -383,7 +451,33 @@
"showPoints": "never",
"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": {
"legend": {
@ -403,13 +497,46 @@
},
"targets": [
{
"refId": "rl_klimadecke",
"refId": "KD_A",
"datasource": {
"type": "influxdb",
"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)",
"rawQuery": true
"query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter GROUP BY time($__interval)",
"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",
@ -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)",
"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",
"datasource": {
@ -453,7 +571,7 @@
"id": 7,
"type": "stat",
"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": {
"h": 4,
"w": 6,
@ -510,7 +628,7 @@
},
"targets": [
{
"refId": "RL",
"refId": "A",
"datasource": {
"type": "influxdb",
"uid": "ffptl25vzylfke"
@ -520,7 +638,7 @@
"hide": true
},
{
"refId": "VL",
"refId": "B",
"datasource": {
"type": "influxdb",
"uid": "ffptl25vzylfke"
@ -529,6 +647,28 @@
"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": true
},
{
"refId": "DT",
"datasource": {
@ -537,7 +677,7 @@
"name": "Expression"
},
"type": "math",
"expression": "${kd_flussrichtung} * ($RL - $VL)",
"expression": "$RL - $VL",
"hide": false
}
]
@ -932,23 +1072,45 @@
},
"targets": [
{
"refId": "RL_KD",
"refId": "KD_A",
"datasource": {
"type": "influxdb",
"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,
"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",
"datasource": {
"type": "influxdb",
"uid": "ffptl25vzylfke"
"type": "__expr__",
"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)",
"rawQuery": true,
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($A - $B)) / 2",
"hide": true
},
{
@ -959,7 +1121,7 @@
"name": "Expression"
},
"type": "math",
"expression": "${kd_flussrichtung} * ($RL_KD - $VL_KD)",
"expression": "$RL_KD - $VL_KD",
"hide": false
},
{
@ -1016,10 +1178,10 @@
{
"current": {
"selected": true,
"text": "Umgekehrt (VLRL)",
"text": "Umgekehrt (Fühler getauscht)",
"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,
"includeAll": false,
"label": "KD Flussrichtung",
@ -1028,12 +1190,12 @@
"options": [
{
"selected": false,
"text": "Normal (RLVL)",
"text": "Normal (Fühler = VL/RL)",
"value": "1"
},
{
"selected": true,
"text": "Umgekehrt (VLRL)",
"text": "Umgekehrt (Fühler getauscht)",
"value": "-1"
}
],