fix garage_decke: Stat-Panels stabil (kein Rot/Grün-Flackern)

filterByRefId, eine Math-Expression, Wert-Farbe statt Hintergrund, blau bei Lücke.
This commit is contained in:
Homelab Cursor 2026-06-27 14:20:17 +02:00
parent 1bc71b9a81
commit b8d2898e92

View file

@ -9,7 +9,7 @@
],
"timezone": "browser",
"schemaVersion": 39,
"version": 12,
"version": 13,
"refresh": "30s",
"panels": [
{
@ -61,12 +61,13 @@
"values": false,
"calcs": [
"lastNotNull"
]
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "background",
"graphMode": "area",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
@ -77,8 +78,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "B",
@ -87,8 +87,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_kaeltedecke' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "RL",
@ -98,22 +97,20 @@
"name": "Expression"
},
"type": "math",
"expression": "($A + $B - ${kd_flussrichtung} * ($B - $A)) / 2",
"hide": false
},
{
"refId": "VL",
"datasource": {
"type": "__expr__",
"uid": "__expr__",
"name": "Expression"
},
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($B - $A)) / 2",
"hide": true
"expression": "($A + $B - ${kd_flussrichtung} * ($B - $A)) / 2"
}
],
"description": "Rücklauf Kältedecke (wärmer). Bei umgekehrter Flussrichtung wird der passende Rohr-Fühler per Schalter zugeordnet — Influx-Tags bleiben fix."
"description": "Rücklauf Kältedecke (wärmer). Bei umgekehrter Flussrichtung wird der passende Rohr-Fühler per Schalter zugeordnet — Influx-Tags bleiben fix.",
"transformations": [
{
"id": "filterByRefId",
"options": {
"include": [
"RL"
]
}
}
]
},
{
"id": 2,
@ -233,12 +230,13 @@
"values": false,
"calcs": [
"lastNotNull"
]
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "background",
"graphMode": "area",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
@ -249,8 +247,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "B",
@ -259,19 +256,7 @@
"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
"rawQuery": true
},
{
"refId": "VL",
@ -281,11 +266,20 @@
"name": "Expression"
},
"type": "math",
"expression": "($A + $B + ${kd_flussrichtung} * ($B - $A)) / 2",
"hide": false
"expression": "($A + $B + ${kd_flussrichtung} * ($B - $A)) / 2"
}
],
"description": "Vorlauf Kältedecke (kälter). Zuordnung über KD Flussrichtung oben."
"description": "Vorlauf Kältedecke (kälter). Zuordnung über KD Flussrichtung oben.",
"transformations": [
{
"id": "filterByRefId",
"options": {
"include": [
"VL"
]
}
}
]
},
{
"id": 4,
@ -445,14 +439,13 @@
"unit": "celsius",
"decimals": 2,
"color": {
"mode": "thresholds",
"fixedColor": "green"
"mode": "thresholds"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"color": "#5794F2",
"value": null
},
{
@ -476,12 +469,13 @@
"values": false,
"calcs": [
"lastNotNull"
]
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "background",
"graphMode": "area",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
@ -492,8 +486,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_klimadecke' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "B",
@ -502,30 +495,7 @@
"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
"rawQuery": true
},
{
"refId": "DT",
@ -535,8 +505,17 @@
"name": "Expression"
},
"type": "math",
"expression": "$RL - $VL",
"hide": false
"expression": "- ${kd_flussrichtung} * ($B - $A)"
}
],
"transformations": [
{
"id": "filterByRefId",
"options": {
"include": [
"DT"
]
}
}
]
},
@ -560,14 +539,13 @@
"unit": "celsius",
"decimals": 2,
"color": {
"mode": "thresholds",
"fixedColor": "green"
"mode": "thresholds"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"color": "#5794F2",
"value": null
},
{
@ -591,12 +569,13 @@
"values": false,
"calcs": [
"lastNotNull"
]
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "background",
"graphMode": "area",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
@ -607,8 +586,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "B",
@ -617,8 +595,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='rl_brunnen' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "DT",
@ -628,8 +605,17 @@
"name": "Expression"
},
"type": "math",
"expression": "$B - $A",
"hide": false
"expression": "$B - $A"
}
],
"transformations": [
{
"id": "filterByRefId",
"options": {
"include": [
"DT"
]
}
}
]
},
@ -653,14 +639,13 @@
"unit": "kwatt",
"decimals": 2,
"color": {
"mode": "thresholds",
"fixedColor": "green"
"mode": "thresholds"
},
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"color": "#5794F2",
"value": null
},
{
@ -684,12 +669,13 @@
"values": false,
"calcs": [
"lastNotNull"
]
],
"fields": ""
},
"orientation": "auto",
"textMode": "auto",
"colorMode": "background",
"graphMode": "area",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"targets": [
@ -700,8 +686,7 @@
"uid": "ffptl25vzylfke"
},
"query": "SELECT last(\"value\") FROM \"temperature\" WHERE \"node\"='garage_decke' AND \"sensor\"='vl_brunnen' AND $timeFilter",
"rawQuery": true,
"hide": true
"rawQuery": true
},
{
"refId": "B",
@ -710,19 +695,7 @@
"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
"rawQuery": true
},
{
"refId": "Q",
@ -732,8 +705,17 @@
"name": "Expression"
},
"type": "math",
"expression": "${brunnen_durchfluss} * $DT * 0.0698",
"hide": false
"expression": "${brunnen_durchfluss} * ($B - $A) * 0.0698"
}
],
"transformations": [
{
"id": "filterByRefId",
"options": {
"include": [
"Q"
]
}
}
]
},