From b35876518e4e2eb2df7afe77646aca9d8359d7ba Mon Sep 17 00:00:00 2001 From: Konstantin Renner Date: Tue, 7 Jul 2026 18:34:25 +0200 Subject: [PATCH] =?UTF-8?q?monitoring:=20Grafana-Dashboard=20WW-Ladeleistu?= =?UTF-8?q?ng=20vs.=20Au=C3=9Fentemperatur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neues Dashboard heatpump-dhw-loading (uid heatpump-dhw-loading): Scatter WP-Ladeleistung vs. Außentemperatur + Zeitreihen + Ø-Kennzahl, auf Basis von sensor.vitocal_dhw_loading_power (nur während WW-Ladung verfügbar) und der Außentemperatur. Datenquelle Prometheus (HA- prometheus-Integration; diese HA schreibt nicht nach InfluxDB). Gegenstück zum HA-Sensor-PR im homeassistant-Repo. Co-Authored-By: Claude Fable 5 --- .../dashboards/heatpump-dhw-loading.json | 140 ++++++++++++++++++ .../monitoring/dashboards/kustomization.yaml | 3 + 2 files changed, 143 insertions(+) create mode 100644 kubernetes/apps/monitoring/dashboards/heatpump-dhw-loading.json diff --git a/kubernetes/apps/monitoring/dashboards/heatpump-dhw-loading.json b/kubernetes/apps/monitoring/dashboards/heatpump-dhw-loading.json new file mode 100644 index 00000000..a2409a3f --- /dev/null +++ b/kubernetes/apps/monitoring/dashboards/heatpump-dhw-loading.json @@ -0,0 +1,140 @@ +{ + "annotations": { "list": [] }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "links": [], + "liveNow": false, + "panels": [ + { + "id": 1, + "type": "xychart", + "title": "WW-Ladeleistung vs. Außentemperatur", + "description": "Jeder Punkt = ein Scrape-Sample der WP-Leistungsaufnahme während einer aktiven WW-Ladung (Sensor ist nur dann verfügbar), gegen die gleichzeitige Außentemperatur. Zeigt, ob die Ladeleistung von der Außentemperatur abhängt. Baut sich mit jeder WW-Ladung weiter auf.", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "gridPos": { "h": 12, "w": 16, "x": 0, "y": 0 }, + "options": { + "seriesMapping": "auto", + "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false }, + "tooltip": { "mode": "single", "sort": "none" } + }, + "fieldConfig": { + "defaults": { "custom": { "show": "points", "pointSize": { "fixed": 6 } } }, + "overrides": [ + { "matcher": { "id": "byName", "options": "Ladeleistung" }, "properties": [ { "id": "unit", "value": "watt" } ] }, + { "matcher": { "id": "byName", "options": "Aussentemp" }, "properties": [ { "id": "unit", "value": "celsius" } ] } + ] + }, + "targets": [ + { + "refId": "A", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "expr": "homeassistant_sensor_power_w{entity=\"sensor.vitocal_dhw_loading_power\"}", + "legendFormat": "Ladeleistung", + "format": "time_series" + }, + { + "refId": "B", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.vitocal_250_a_vitocal_outside_temperature\"}", + "legendFormat": "Aussentemp", + "format": "time_series" + } + ], + "transformations": [ + { "id": "joinByField", "options": { "byField": "Time", "mode": "outer" } }, + { "id": "organize", "options": { "excludeByName": { "Time": true }, "indexByName": { "Aussentemp": 0, "Ladeleistung": 1 }, "renameByName": {} } }, + { "id": "filterByValue", "options": { "type": "include", "match": "all", "filters": [ { "fieldName": "Ladeleistung", "config": { "id": "isNotNull", "options": {} } } ] } } + ] + }, + { + "id": 2, + "type": "stat", + "title": "Ø Ladeleistung (Zeitraum)", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "gridPos": { "h": 12, "w": 8, "x": 16, "y": 0 }, + "options": { + "reduceOptions": { "calcs": ["mean"], "fields": "", "values": false }, + "orientation": "vertical", + "textMode": "value_and_name", + "colorMode": "value", + "graphMode": "area" + }, + "fieldConfig": { + "defaults": { "unit": "watt", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "expr": "homeassistant_sensor_power_w{entity=\"sensor.vitocal_dhw_loading_power\"}", + "legendFormat": "Ladeleistung" + } + ] + }, + { + "id": 3, + "type": "timeseries", + "title": "WW-Ladeleistung über Zeit", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "gridPos": { "h": 9, "w": 12, "x": 0, "y": 12 }, + "options": { + "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false }, + "tooltip": { "mode": "single", "sort": "none" } + }, + "fieldConfig": { + "defaults": { + "unit": "watt", + "custom": { "drawStyle": "points", "pointSize": 4, "showPoints": "always", "lineWidth": 0, "axisLabel": "Ladeleistung (W)" } + }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "expr": "homeassistant_sensor_power_w{entity=\"sensor.vitocal_dhw_loading_power\"}", + "legendFormat": "Ladeleistung" + } + ] + }, + { + "id": 4, + "type": "timeseries", + "title": "Außentemperatur", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "gridPos": { "h": 9, "w": 12, "x": 12, "y": 12 }, + "options": { + "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false }, + "tooltip": { "mode": "single", "sort": "none" } + }, + "fieldConfig": { + "defaults": { + "unit": "celsius", + "custom": { "drawStyle": "line", "lineWidth": 1, "fillOpacity": 8, "axisLabel": "Außentemp (°C)" } + }, + "overrides": [] + }, + "targets": [ + { + "refId": "A", + "datasource": { "type": "prometheus", "uid": "prometheus" }, + "expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.vitocal_250_a_vitocal_outside_temperature\"}", + "legendFormat": "Außentemp" + } + ] + } + ], + "refresh": "", + "schemaVersion": 38, + "tags": ["homelab", "heatpump", "dhw", "warmwasser"], + "templating": { "list": [] }, + "time": { "from": "now-90d", "to": "now" }, + "timepicker": {}, + "timezone": "browser", + "title": "Wärmepumpe — WW-Ladeleistung vs. Außentemperatur", + "uid": "heatpump-dhw-loading", + "version": 1, + "weekStart": "" +} diff --git a/kubernetes/apps/monitoring/dashboards/kustomization.yaml b/kubernetes/apps/monitoring/dashboards/kustomization.yaml index ae348c83..6647c7cf 100644 --- a/kubernetes/apps/monitoring/dashboards/kustomization.yaml +++ b/kubernetes/apps/monitoring/dashboards/kustomization.yaml @@ -38,6 +38,9 @@ configMapGenerator: - name: dashboard-gitea-overview files: - gitea-overview.json + - name: dashboard-heatpump-dhw-loading + files: + - heatpump-dhw-loading.json - name: dashboard-heatpump-roi files: - heatpump-roi.json