From b8d1cda7bea3f669c1d5489a1c5ed222f0e69628 Mon Sep 17 00:00:00 2001 From: Homelab Cursor Date: Sat, 1 Aug 2026 05:15:16 +0200 Subject: [PATCH] auto-mirror: Live-Configs CT143 -> Git (2026-08-01) --- infra/grafana/klima-bewertung.json | 794 ++++++++++++++++++++++++++--- infra/telegraf/satellites.conf | 28 +- 2 files changed, 750 insertions(+), 72 deletions(-) diff --git a/infra/grafana/klima-bewertung.json b/infra/grafana/klima-bewertung.json index b08284a33..d306ff721 100644 --- a/infra/grafana/klima-bewertung.json +++ b/infra/grafana/klima-bewertung.json @@ -1,5 +1,7 @@ { - "annotations": { "list": [] }, + "annotations": { + "list": [] + }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, @@ -14,21 +16,35 @@ "liveNow": false, "panels": [ { - "gridPos": { "h": 3, "w": 24, "x": 0, "y": 0 }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 0 + }, "id": 100, "options": { - "code": { "language": "markdown", "showLineNumbers": false, "showMiniMap": false }, - "content": "**Klimatisierung bewerten:** Oben Leistung (W) der Klimaanlagen — unten Raumtemperaturen.\n\n- **Klima läuft + Räume fallen** → wirkt\n- **Klima läuft + Räume stagnieren** → schlechte Verteilung / zu große Last\n- **Klima aus + Räume fallen** → natürliche Abkühlung\n\n`klima_flur_unten` (Panasonic) erscheint automatisch, sobald Shelly + MQTT aktiv.", + "code": { + "language": "markdown", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "**Klimatisierung bewerten:** Oben Leistung (W) — Mitte Raumtemperaturen — unten **Verbrauch** Panasonic Flur unten (Tag/Woche/Monat/Jahr + Tagesbalken).\n\n- Shelly `192.168.178.95` → Influx `power` / `klima_flur_unten`\n- Aufzeichnung seit 31.07.2026 — ältere Zeiträume sind leer bzw. unvollständig\n- Panel „Flur unten: Leistung vs. Temperatur“: Wirkung (Watt + Raumtemp)", "mode": "markdown" }, "title": "Hinweis", "type": "text" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "color": { "mode": "palette-classic" }, + "color": { + "mode": "palette-classic" + }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, @@ -42,15 +58,34 @@ }, "overrides": [] }, - "gridPos": { "h": 8, "w": 16, "x": 0, "y": 3 }, + "gridPos": { + "h": 8, + "w": 16, + "x": 0, + "y": 3 + }, "id": 1, "options": { - "legend": { "calcs": ["lastNotNull", "max", "mean"], "displayMode": "table", "placement": "bottom" }, - "tooltip": { "mode": "multi", "sort": "desc" } + "legend": { + "calcs": [ + "lastNotNull", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, "targets": [ { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT mean(\"watt\") FROM \"power\" WHERE $timeFilter GROUP BY \"node\", time($__interval) fill(null)", "rawQuery": true, "refId": "A", @@ -61,35 +96,66 @@ "type": "timeseries" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "color": { "mode": "thresholds" }, + "color": { + "mode": "thresholds" + }, "thresholds": { "mode": "absolute", "steps": [ - { "color": "blue", "value": null }, - { "color": "green", "value": 100 }, - { "color": "orange", "value": 800 }, - { "color": "red", "value": 2000 } + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 100 + }, + { + "color": "orange", + "value": 800 + }, + { + "color": "red", + "value": 2000 + } ] }, "unit": "watt" }, "overrides": [] }, - "gridPos": { "h": 8, "w": 8, "x": 16, "y": 3 }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 3 + }, "id": 2, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", - "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false } + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + } }, "targets": [ { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT last(\"watt\") FROM \"power\" WHERE $timeFilter GROUP BY \"node\"", "rawQuery": true, "refId": "A", @@ -100,34 +166,75 @@ "type": "stat" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "color": { "mode": "palette-classic" }, - "custom": { "drawStyle": "line", "fillOpacity": 8, "lineWidth": 2, "showPoints": "never", "spanNulls": true }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "drawStyle": "line", + "fillOpacity": 8, + "lineWidth": 2, + "showPoints": "never", + "spanNulls": true + }, "unit": "watt" }, "overrides": [ { - "matcher": { "id": "byRegexp", "options": "/.*temp.*/" }, + "matcher": { + "id": "byRegexp", + "options": "/.*temp.*/" + }, "properties": [ - { "id": "unit", "value": "celsius" }, - { "id": "custom.axisPlacement", "value": "right" }, - { "id": "color", "value": { "fixedColor": "light-blue", "mode": "fixed" } } + { + "id": "unit", + "value": "celsius" + }, + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "color", + "value": { + "fixedColor": "light-blue", + "mode": "fixed" + } + } ] } ] }, - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 11 }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 11 + }, "id": 3, "options": { - "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, - "tooltip": { "mode": "multi", "sort": "none" } + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, "targets": [ { "alias": "Leistung Split oben", - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT mean(\"watt\") FROM \"power\" WHERE \"node\"='klima_flur_oben' AND $timeFilter GROUP BY time($__interval) fill(null)", "rawQuery": true, "refId": "A", @@ -135,7 +242,10 @@ }, { "alias": "Temp flur_oben", - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='flur_oben' AND $timeFilter GROUP BY time($__interval) fill(null)", "rawQuery": true, "refId": "B", @@ -146,70 +256,184 @@ "type": "timeseries" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "color": { "mode": "palette-classic" }, - "custom": { "drawStyle": "line", "fillOpacity": 8, "lineWidth": 2, "showPoints": "never", "spanNulls": true }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "drawStyle": "line", + "fillOpacity": 8, + "lineWidth": 2, + "showPoints": "never", + "spanNulls": true + }, "unit": "watt" }, "overrides": [ { - "matcher": { "id": "byRegexp", "options": "/.*temp.*/" }, + "matcher": { + "id": "byRegexp", + "options": "/.*temp.*/" + }, "properties": [ - { "id": "unit", "value": "celsius" }, - { "id": "custom.axisPlacement", "value": "right" }, - { "id": "color", "value": { "fixedColor": "light-green", "mode": "fixed" } } + { + "id": "unit", + "value": "celsius" + }, + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "color", + "value": { + "fixedColor": "light-green", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "Temp.*" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "unit", + "value": "celsius" + }, + { + "id": "custom.axisLabel", + "value": "°C" + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": "Leistung.*" + }, + "properties": [ + { + "id": "custom.axisPlacement", + "value": "left" + }, + { + "id": "unit", + "value": "watt" + }, + { + "id": "custom.axisLabel", + "value": "W" + } ] } ] }, - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 11 }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 11 + }, "id": 4, "options": { - "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" }, - "tooltip": { "mode": "multi", "sort": "none" } + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } }, "targets": [ { - "alias": "Leistung Panasonic unten", - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "alias": "Leistung Panasonic (W)", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT mean(\"watt\") FROM \"power\" WHERE \"node\"='klima_flur_unten' AND $timeFilter GROUP BY time($__interval) fill(null)", "rawQuery": true, "refId": "A", "resultFormat": "time_series" }, { - "alias": "Temp flur_unten", - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "alias": "Temp Flur unten (°C)", + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE \"node\"='flur_unten' AND $timeFilter GROUP BY time($__interval) fill(null)", "rawQuery": true, "refId": "B", "resultFormat": "time_series" } ], - "title": "Flur unten: Leistung vs. Temperatur (Panasonic folgt)", + "title": "Flur unten: Leistung vs. Temperatur", "type": "timeseries" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "color": { "mode": "palette-classic" }, - "custom": { "drawStyle": "line", "fillOpacity": 5, "lineWidth": 1, "showPoints": "never", "spanNulls": true }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "drawStyle": "line", + "fillOpacity": 5, + "lineWidth": 1, + "showPoints": "never", + "spanNulls": true + }, "unit": "celsius" }, "overrides": [] }, - "gridPos": { "h": 10, "w": 24, "x": 0, "y": 19 }, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 19 + }, "id": 5, "options": { - "legend": { "calcs": ["lastNotNull", "min", "max"], "displayMode": "table", "placement": "right" }, - "tooltip": { "mode": "multi", "sort": "desc" } + "legend": { + "calcs": [ + "lastNotNull", + "min", + "max" + ], + "displayMode": "table", + "placement": "right" + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, "targets": [ { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT mean(\"value\") FROM \"temperature\" WHERE $timeFilter AND (\"node\"='flur_oben' OR \"node\"='flur_unten' OR \"node\"='wohnstube' OR \"node\"='schlafzimmer' OR \"node\"='gaestezimmer' OR \"node\"='kueche' OR \"node\"='trockenraum') GROUP BY \"node\", time($__interval) fill(null)", "rawQuery": true, "refId": "A", @@ -220,24 +444,42 @@ "type": "timeseries" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "custom": { "align": "auto", "cellOptions": { "type": "auto" } }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + } + }, "unit": "celsius" }, "overrides": [] }, - "gridPos": { "h": 8, "w": 12, "x": 0, "y": 29 }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 29 + }, "id": 6, "options": { "cellHeight": "sm", - "footer": { "show": false }, + "footer": { + "show": false + }, "showHeader": true }, "targets": [ { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT last(\"value\") AS \"aktuell\", min(\"value\") AS \"min\", max(\"value\") AS \"max\", mean(\"value\") AS \"mittel\" FROM \"temperature\" WHERE $timeFilter AND (\"node\"='flur_oben' OR \"node\"='flur_unten' OR \"node\"='wohnstube' OR \"node\"='schlafzimmer' OR \"node\"='gaestezimmer' OR \"node\"='kueche' OR \"node\"='trockenraum') GROUP BY \"node\"", "rawQuery": true, "refId": "A", @@ -245,43 +487,455 @@ } ], "title": "Raumtemperaturen — Übersicht", - "transformations": [{ "id": "organize", "options": { "renameByName": { "node": "Raum" } } }], + "transformations": [ + { + "id": "organize", + "options": { + "renameByName": { + "node": "Raum" + } + } + } + ], "type": "table" }, { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "fieldConfig": { "defaults": { - "color": { "mode": "palette-classic" }, - "custom": { "drawStyle": "bars", "fillOpacity": 80, "lineWidth": 1 }, + "color": { + "mode": "palette-classic" + }, + "custom": { + "drawStyle": "bars", + "fillOpacity": 80, + "lineWidth": 1 + }, "unit": "kwatth" }, "overrides": [] }, - "gridPos": { "h": 8, "w": 12, "x": 12, "y": 29 }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 29 + }, "id": 7, "options": { - "legend": { "calcs": ["sum"], "displayMode": "table", "placement": "bottom" }, - "tooltip": { "mode": "multi", "sort": "desc" } + "legend": { + "calcs": [ + "sum" + ], + "displayMode": "table", + "placement": "bottom" + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } }, "targets": [ { - "datasource": { "type": "influxdb", "uid": "ffptl25vzylfke" }, + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, "query": "SELECT difference(last(\"energy_wh_total\")) / 1000 FROM \"power\" WHERE $timeFilter GROUP BY \"node\", time(1h) fill(null)", "rawQuery": true, "refId": "A", "resultFormat": "time_series" } ], - "title": "Klima-Verbrauch (kWh/h, aus Shelly-Zähler)", + "title": "Verbrauch stündlich (kWh/h)", + "type": "timeseries", + "description": "Stündliche Differenz des Shelly-Zählers — Detailansicht, nicht Kalendertag." + }, + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "description": "Differenz Shelly-Zähler energy_wh_total im Zeitraum (kWh). Historie erst ab Start der Aufzeichnung 31.07.2026.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 5 + }, + { + "color": "orange", + "value": 15 + }, + { + "color": "red", + "value": 30 + } + ] + }, + "unit": "kwatth" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 0, + "y": 37 + }, + "id": 10, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT (last(\"energy_wh_total\") - first(\"energy_wh_total\")) / 1000 AS \"kWh\" FROM \"power\" WHERE \"node\"='klima_flur_unten' AND $timeFilter", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series" + } + ], + "title": "Verbrauch heute", + "type": "stat", + "timeFrom": "now/d", + "timeTo": "now" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "description": "Differenz Shelly-Zähler energy_wh_total im Zeitraum (kWh). Historie erst ab Start der Aufzeichnung 31.07.2026.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 5 + }, + { + "color": "orange", + "value": 15 + }, + { + "color": "red", + "value": 30 + } + ] + }, + "unit": "kwatth" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 6, + "y": 37 + }, + "id": 11, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT (last(\"energy_wh_total\") - first(\"energy_wh_total\")) / 1000 AS \"kWh\" FROM \"power\" WHERE \"node\"='klima_flur_unten' AND $timeFilter", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series" + } + ], + "title": "Verbrauch diese Woche", + "type": "stat", + "timeFrom": "now/w", + "timeTo": "now" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "description": "Differenz Shelly-Zähler energy_wh_total im Zeitraum (kWh). Historie erst ab Start der Aufzeichnung 31.07.2026.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 5 + }, + { + "color": "orange", + "value": 15 + }, + { + "color": "red", + "value": 30 + } + ] + }, + "unit": "kwatth" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 12, + "y": 37 + }, + "id": 12, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT (last(\"energy_wh_total\") - first(\"energy_wh_total\")) / 1000 AS \"kWh\" FROM \"power\" WHERE \"node\"='klima_flur_unten' AND $timeFilter", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series" + } + ], + "title": "Verbrauch dieser Monat", + "type": "stat", + "timeFrom": "now/M", + "timeTo": "now" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "description": "Differenz Shelly-Zähler energy_wh_total im Zeitraum (kWh). Historie erst ab Start der Aufzeichnung 31.07.2026.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 2, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 5 + }, + { + "color": "orange", + "value": 15 + }, + { + "color": "red", + "value": 30 + } + ] + }, + "unit": "kwatth" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 18, + "y": 37 + }, + "id": 13, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "query": "SELECT (last(\"energy_wh_total\") - first(\"energy_wh_total\")) / 1000 AS \"kWh\" FROM \"power\" WHERE \"node\"='klima_flur_unten' AND $timeFilter", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series" + } + ], + "title": "Verbrauch dieses Jahr", + "type": "stat", + "timeFrom": "now/y", + "timeTo": "now" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "description": "Tagesverbrauch Panasonic Flur unten aus Shelly-Zähler (max-min energy_wh_total je Kalendertag).", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "kWh", + "drawStyle": "bars", + "fillOpacity": 80, + "lineWidth": 1, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "mode": "none", + "group": "A" + } + }, + "decimals": 2, + "unit": "kwatth" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 42 + }, + "id": 14, + "options": { + "legend": { + "calcs": [ + "sum", + "mean", + "max" + ], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ffptl25vzylfke" + }, + "alias": "Panasonic Flur unten", + "query": "SELECT (max(\"energy_wh_total\") - min(\"energy_wh_total\")) / 1000 AS \"kWh\" FROM \"power\" WHERE \"node\"='klima_flur_unten' AND $timeFilter GROUP BY time(1d) fill(none)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series" + } + ], + "title": "Verbrauch pro Tag (kWh) — Panasonic Flur unten", "type": "timeseries" } ], "refresh": "30s", "schemaVersion": 39, - "tags": ["klima", "sensors", "homelab"], - "templating": { "list": [] }, - "time": { "from": "now-24h", "to": "now" }, + "tags": [ + "klima", + "sensors", + "homelab" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-24h", + "to": "now" + }, "timepicker": {}, "timezone": "browser", "title": "Klimatisierung", diff --git a/infra/telegraf/satellites.conf b/infra/telegraf/satellites.conf index 1dcc81ca7..a02def890 100644 --- a/infra/telegraf/satellites.conf +++ b/infra/telegraf/satellites.conf @@ -7,11 +7,13 @@ namepass = ["temperature", "io_state", "power", "node_status"] # --- Raum-Satelliten: /temp (ohne oelraum — siehe aussen-Block) --- +# 31.07.2026: schlafzimmer <-> flur_unten physisch vertauscht. +# MQTT-Topics bleiben (Firmware NODE_NAME), Influx-node hier korrigiert bis Reflash. [[inputs.mqtt_consumer]] servers = ["tcp://127.0.0.1:1883"] topics = [ - "kueche/temp", "wohnstube/temp", "schlafzimmer/temp", - "flur_unten/temp", "flur_oben/temp", "gaestezimmer/temp", + "kueche/temp", "wohnstube/temp", + "flur_oben/temp", "gaestezimmer/temp", "garage/temp", "trockenraum/temp", ] data_format = "value" @@ -23,6 +25,28 @@ measurement = "_/_" tags = "node/_" +# MQTT Topic schlafzimmer/temp = physisch Flur unten (~15C) +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["schlafzimmer/temp"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "flur_unten" + +# MQTT Topic flur_unten/temp = physisch Schlafzimmer (~25C) +[[inputs.mqtt_consumer]] + servers = ["tcp://127.0.0.1:1883"] + topics = ["flur_unten/temp"] + data_format = "value" + data_type = "float" + name_override = "temperature" + topic_tag = "" + [inputs.mqtt_consumer.tags] + node = "schlafzimmer" + # --- Brunnen-VL: ex-Dachfuehler oelraum/temp (ESP8266) jetzt an Brunnenwasserleitung -> node=heizraum, sensor=brunnen_vl_zum_heizraum --- [[inputs.mqtt_consumer]] servers = ["tcp://127.0.0.1:1883"]