Adding recent k8s changes

This commit is contained in:
Moritz Graf
2026-07-07 21:01:20 +02:00
parent d163416758
commit 1501d7562e
8 changed files with 1434 additions and 250 deletions
@@ -1,98 +1,224 @@
apiVersion: v1
data:
home-climate.json: '{"uid": "home-climate", "title": "\ud83c\udfe0 Home Climate",
"tags": ["home", "climate", "temperature", "humidity", "auto-generated", "prometheus"],
"timezone": "browser", "schemaVersion": 39, "version": 2, "refresh": "5m", "editable":
false, "graphTooltip": 1, "time": {"from": "now-24h", "to": "now"}, "panels":
[{"type": "row", "title": "\ud83c\udf10 Overview Trends", "gridPos": {"x": 0,
"y": 0, "w": 24, "h": 1}, "collapsed": false}, {"type": "timeseries", "title":
"Indoor vs Outdoor Temperature", "datasource": {"type": "prometheus", "uid": "prometheus"},
"gridPos": {"x": 0, "y": 1, "w": 12, "h": 8}, "targets": [{"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.regensburg_regensburg_temperatur\"}",
"legendFormat": "Outdoor (Regensburg)"}, {"expr": "avg(homeassistant_sensor_temperature_celsius{entity=~\"sensor.home_.*_thermostat_temperature|sensor.home_wall_mounted_thermostat_pro_temperature\"})",
"legendFormat": "Average Indoor"}], "fieldConfig": {"defaults": {"unit": "celsius",
"custom": {"lineWidth": 2, "fillOpacity": 5}}, "overrides": [{"matcher": {"id":
"byName", "options": "Outdoor (Regensburg)"}, "properties": [{"id": "color", "value":
{"fixedColor": "light-blue", "mode": "fixed"}}, {"id": "custom.lineStyle", "value":
{"fill": "dash", "dash": [10, 5]}}]}, {"matcher": {"id": "byName", "options":
"Average Indoor"}, "properties": [{"id": "color", "value": {"fixedColor": "orange",
"mode": "fixed"}}]}]}, "options": {"legend": {"displayMode": "table", "placement":
"bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip": {"mode": "multi", "sort":
"desc"}}}, {"type": "timeseries", "title": "Average Indoor Humidity", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 12, "y": 1, "w":
12, "h": 8}, "targets": [{"expr": "avg(homeassistant_sensor_humidity_percent{entity=~\".*_humidity\"})",
"legendFormat": "Average Humidity"}], "fieldConfig": {"defaults": {"unit": "percent",
"custom": {"lineWidth": 2, "fillOpacity": 20}, "color": {"mode": "fixed", "fixedColor":
"blue"}}}, "options": {"legend": {"displayMode": "table", "placement": "bottom",
"calcs": ["mean", "lastNotNull"]}, "tooltip": {"mode": "multi"}}}, {"type": "row",
"title": "\ud83d\udcca Room Details", "gridPos": {"x": 0, "y": 9, "w": 24, "h":
1}, "collapsed": false}, {"type": "timeseries", "title": "Wohnzimmer", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 0, "y": 10, "w":
12, "h": 9}, "targets": [{"expr": "homeassistant_climate_target_temperature_celsius{entity=\"climate.home_wohnzimmer\"}",
"legendFormat": "\ud83c\udfaf Target"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wall_mounted_thermostat_pro_temperature\"}",
"legendFormat": "\ud83c\udf21\ufe0f Thermostat"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wohnzimmer_temperature\"}",
"legendFormat": "\ud83d\udd25 Heater"}, {"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_wall_mounted_thermostat_pro_humidity\"}",
"legendFormat": "\ud83d\udca7 Humidity"}], "fieldConfig": {"defaults": {"unit":
"celsius", "custom": {"spanNulls": true}}, "overrides": [{"matcher": {"id": "byName",
"options": "\ud83c\udfaf Target"}, "properties": [{"id": "custom.lineStyle", "value":
{"fill": "dash", "dash": [10, 10]}}, {"id": "color", "value": {"fixedColor": "dark-orange",
"mode": "fixed"}}, {"id": "custom.lineWidth", "value": 3}]}, {"matcher": {"id":
"byName", "options": "\ud83c\udf21\ufe0f Thermostat"}, "properties": [{"id": "color",
"value": {"fixedColor": "orange", "mode": "fixed"}}, {"id": "custom.lineWidth",
"value": 2}]}, {"matcher": {"id": "byRegexp", "options": ".*Heater.*"}, "properties":
[{"id": "custom.lineStyle", "value": {"fill": "dash", "dash": [2, 5]}}, {"id":
"color", "value": {"fixedColor": "red", "mode": "fixed"}}]}, {"matcher": {"id":
"byName", "options": "\ud83d\udca7 Humidity"}, "properties": [{"id": "custom.axisPlacement",
"value": "right"}, {"id": "unit", "value": "percent"}, {"id": "custom.fillOpacity",
"value": 10}, {"id": "custom.lineWidth", "value": 1}, {"id": "color", "value":
{"fixedColor": "blue", "mode": "fixed"}}]}]}, "options": {"legend": {"displayMode":
"table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip":
{"mode": "multi", "sort": "desc"}}}, {"type": "timeseries", "title": "Wohnzimmer
#2", "datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x":
12, "y": 10, "w": 12, "h": 9}, "targets": [{"expr": "homeassistant_climate_target_temperature_celsius{entity=\"climate.home_wohnzimmer_2_og\"}",
"legendFormat": "\ud83c\udfaf Target"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wohnzimmer_2_thermostat_temperature\"}",
"legendFormat": "\ud83c\udf21\ufe0f Thermostat"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wohnzimmer_2_temperature\"}",
"legendFormat": "\ud83d\udd25 Heater"}, {"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_wohnzimmer_2_thermostat_humidity\"}",
"legendFormat": "\ud83d\udca7 Humidity"}], "fieldConfig": {"defaults": {"unit":
"celsius", "custom": {"spanNulls": true}}, "overrides": [{"matcher": {"id": "byName",
"options": "\ud83c\udfaf Target"}, "properties": [{"id": "custom.lineStyle", "value":
{"fill": "dash", "dash": [10, 10]}}, {"id": "color", "value": {"fixedColor": "dark-orange",
"mode": "fixed"}}, {"id": "custom.lineWidth", "value": 3}]}, {"matcher": {"id":
"byName", "options": "\ud83c\udf21\ufe0f Thermostat"}, "properties": [{"id": "color",
"value": {"fixedColor": "orange", "mode": "fixed"}}, {"id": "custom.lineWidth",
"value": 2}]}, {"matcher": {"id": "byRegexp", "options": ".*Heater.*"}, "properties":
[{"id": "custom.lineStyle", "value": {"fill": "dash", "dash": [2, 5]}}, {"id":
"color", "value": {"fixedColor": "red", "mode": "fixed"}}]}, {"matcher": {"id":
"byName", "options": "\ud83d\udca7 Humidity"}, "properties": [{"id": "custom.axisPlacement",
"value": "right"}, {"id": "unit", "value": "percent"}, {"id": "custom.fillOpacity",
"value": 10}, {"id": "custom.lineWidth", "value": 1}, {"id": "color", "value":
{"fixedColor": "blue", "mode": "fixed"}}]}]}, "options": {"legend": {"displayMode":
"table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip":
{"mode": "multi", "sort": "desc"}}}, {"type": "timeseries", "title": "Arbeitszimmer",
"datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 0,
"y": 19, "w": 12, "h": 9}, "targets": [{"expr": "homeassistant_climate_target_temperature_celsius{entity=\"climate.home_arbeitszimmer_og\"}",
"legendFormat": "\ud83c\udfaf Target"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_arbeitszimmer_thermostat_temperature\"}",
"legendFormat": "\ud83c\udf21\ufe0f Thermostat"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_arbeitszimmer_temperature\"}",
"legendFormat": "\ud83d\udd25 Heater"}, {"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_arbeitszimmer_thermostat_humidity\"}",
"legendFormat": "\ud83d\udca7 Humidity"}], "fieldConfig": {"defaults": {"unit":
"celsius", "custom": {"spanNulls": true}}, "overrides": [{"matcher": {"id": "byName",
"options": "\ud83c\udfaf Target"}, "properties": [{"id": "custom.lineStyle", "value":
{"fill": "dash", "dash": [10, 10]}}, {"id": "color", "value": {"fixedColor": "dark-orange",
"mode": "fixed"}}, {"id": "custom.lineWidth", "value": 3}]}, {"matcher": {"id":
"byName", "options": "\ud83c\udf21\ufe0f Thermostat"}, "properties": [{"id": "color",
"value": {"fixedColor": "orange", "mode": "fixed"}}, {"id": "custom.lineWidth",
"value": 2}]}, {"matcher": {"id": "byRegexp", "options": ".*Heater.*"}, "properties":
[{"id": "custom.lineStyle", "value": {"fill": "dash", "dash": [2, 5]}}, {"id":
"color", "value": {"fixedColor": "red", "mode": "fixed"}}]}, {"matcher": {"id":
"byName", "options": "\ud83d\udca7 Humidity"}, "properties": [{"id": "custom.axisPlacement",
"value": "right"}, {"id": "unit", "value": "percent"}, {"id": "custom.fillOpacity",
"value": 10}, {"id": "custom.lineWidth", "value": 1}, {"id": "color", "value":
{"fixedColor": "blue", "mode": "fixed"}}]}]}, "options": {"legend": {"displayMode":
"table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip":
{"mode": "multi", "sort": "desc"}}}, {"type": "timeseries", "title": "K\u00fcche",
"datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 12,
"y": 19, "w": 12, "h": 9}, "targets": [{"expr": "homeassistant_climate_target_temperature_celsius{entity=\"climate.home_kuche\"}",
"legendFormat": "\ud83c\udfaf Target"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_kuche_wandthermostat_temperature\"}",
"legendFormat": "\ud83c\udf21\ufe0f Thermostat"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_kuche_vorne_temperature\"}",
"legendFormat": "\ud83d\udd25 Heater 1"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_kuche_bar_temperature\"}",
"legendFormat": "\ud83d\udd25 Heater 2"}, {"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_kuche_wandthermostat_humidity\"}",
"legendFormat": "\ud83d\udca7 Humidity"}], "fieldConfig": {"defaults": {"unit":
"celsius", "custom": {"spanNulls": true}}, "overrides": [{"matcher": {"id": "byName",
"options": "\ud83c\udfaf Target"}, "properties": [{"id": "custom.lineStyle", "value":
{"fill": "dash", "dash": [10, 10]}}, {"id": "color", "value": {"fixedColor": "dark-orange",
"mode": "fixed"}}, {"id": "custom.lineWidth", "value": 3}]}, {"matcher": {"id":
"byName", "options": "\ud83c\udf21\ufe0f Thermostat"}, "properties": [{"id": "color",
"value": {"fixedColor": "orange", "mode": "fixed"}}, {"id": "custom.lineWidth",
"value": 2}]}, {"matcher": {"id": "byRegexp", "options": ".*Heater.*"}, "properties":
[{"id": "custom.lineStyle", "value": {"fill": "dash", "dash": [2, 5]}}, {"id":
"color", "value": {"fixedColor": "red", "mode": "fixed"}}]}, {"matcher": {"id":
"byName", "options": "\ud83d\udca7 Humidity"}, "properties": [{"id": "custom.axisPlacement",
"value": "right"}, {"id": "unit", "value": "percent"}, {"id": "custom.fillOpacity",
"value": 10}, {"id": "custom.lineWidth", "value": 1}, {"id": "color", "value":
{"fixedColor": "blue", "mode": "fixed"}}]}]}, "options": {"legend": {"displayMode":
"table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip":
{"mode": "multi", "sort": "desc"}}}, {"type": "timeseries", "title": "Badezimmer",
"datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 0,
"y": 28, "w": 12, "h": 9}, "targets": [{"expr": "homeassistant_climate_target_temperature_celsius{entity=\"climate.home_badezimmer\"}",
"legendFormat": "\ud83c\udfaf Target"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wandthermostat_bad_temperature\"}",
"legendFormat": "\ud83c\udf21\ufe0f Thermostat"}, {"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_badezimmer_thermostat_temperature\"}",
"legendFormat": "\ud83d\udd25 Heater"}, {"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_wandthermostat_bad_humidity\"}",
"legendFormat": "\ud83d\udca7 Humidity"}], "fieldConfig": {"defaults": {"unit":
"celsius", "custom": {"spanNulls": true}}, "overrides": [{"matcher": {"id": "byName",
"options": "\ud83c\udfaf Target"}, "properties": [{"id": "custom.lineStyle", "value":
{"fill": "dash", "dash": [10, 10]}}, {"id": "color", "value": {"fixedColor": "dark-orange",
"mode": "fixed"}}, {"id": "custom.lineWidth", "value": 3}]}, {"matcher": {"id":
"byName", "options": "\ud83c\udf21\ufe0f Thermostat"}, "properties": [{"id": "color",
"value": {"fixedColor": "orange", "mode": "fixed"}}, {"id": "custom.lineWidth",
"value": 2}]}, {"matcher": {"id": "byRegexp", "options": ".*Heater.*"}, "properties":
[{"id": "custom.lineStyle", "value": {"fill": "dash", "dash": [2, 5]}}, {"id":
"color", "value": {"fixedColor": "red", "mode": "fixed"}}]}, {"matcher": {"id":
"byName", "options": "\ud83d\udca7 Humidity"}, "properties": [{"id": "custom.axisPlacement",
"value": "right"}, {"id": "unit", "value": "percent"}, {"id": "custom.fillOpacity",
"value": 10}, {"id": "custom.lineWidth", "value": 1}, {"id": "color", "value":
{"fixedColor": "blue", "mode": "fixed"}}]}]}, "options": {"legend": {"displayMode":
"table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip":
{"mode": "multi", "sort": "desc"}}}, {"type": "row", "title": "\ud83c\udf21\ufe0f
Current State", "gridPos": {"x": 0, "y": 37, "w": 24, "h": 1}, "collapsed": false},
{"type": "stat", "title": "Wohnzimmer Temp", "datasource": {"type": "prometheus",
"uid": "prometheus"}, "gridPos": {"x": 2, "y": 38, "w": 4, "h": 4}, "targets":
[{"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wall_mounted_thermostat_pro_temperature\"}",
"legendFormat": "Temp"}], "fieldConfig": {"defaults": {"unit": "celsius", "decimals":
1, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps":
[{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color":
"orange", "value": 22}, {"color": "red", "value": 26}]}}}, "options": {"graphMode":
"area", "colorMode": "background", "reduceOptions": {"values": false, "calcs":
["lastNotNull"]}}}, {"type": "stat", "title": "Wohnzimmer #2 Temp", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 6, "y": 38, "w":
4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wohnzimmer_2_thermostat_temperature\"}",
"legendFormat": "Temp"}], "fieldConfig": {"defaults": {"unit": "celsius", "decimals":
1, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps":
[{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color":
"orange", "value": 22}, {"color": "red", "value": 26}]}}}, "options": {"graphMode":
"area", "colorMode": "background", "reduceOptions": {"values": false, "calcs":
["lastNotNull"]}}}, {"type": "stat", "title": "Arbeitszimmer Temp", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 10, "y": 38, "w":
4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_arbeitszimmer_thermostat_temperature\"}",
"legendFormat": "Temp"}], "fieldConfig": {"defaults": {"unit": "celsius", "decimals":
1, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps":
[{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color":
"orange", "value": 22}, {"color": "red", "value": 26}]}}}, "options": {"graphMode":
"area", "colorMode": "background", "reduceOptions": {"values": false, "calcs":
["lastNotNull"]}}}, {"type": "stat", "title": "K\u00fcche Temp", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 14, "y": 38, "w":
4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_kuche_wandthermostat_temperature\"}",
"legendFormat": "Temp"}], "fieldConfig": {"defaults": {"unit": "celsius", "decimals":
1, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps":
[{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color":
"orange", "value": 22}, {"color": "red", "value": 26}]}}}, "options": {"graphMode":
"area", "colorMode": "background", "reduceOptions": {"values": false, "calcs":
["lastNotNull"]}}}, {"type": "stat", "title": "Badezimmer Temp", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 18, "y": 38, "w":
4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.home_wandthermostat_bad_temperature\"}",
"legendFormat": "Temp"}], "fieldConfig": {"defaults": {"unit": "celsius", "decimals":
1, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute", "steps":
[{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color":
"orange", "value": 22}, {"color": "red", "value": 26}]}}}, "options": {"graphMode":
"area", "colorMode": "background", "reduceOptions": {"values": false, "calcs":
["lastNotNull"]}}}, {"type": "stat", "title": "Wohnzimmer Hum", "datasource":
{"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x": 2, "y": 42, "w":
4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_wall_mounted_thermostat_pro_humidity\"}",
"legendFormat": "Humidity"}], "fieldConfig": {"defaults": {"unit": "percent",
"decimals": 0, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute",
"steps": [{"color": "red", "value": null}, {"color": "orange", "value": 30}, {"color":
"green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value":
70}]}}}, "options": {"graphMode": "area", "colorMode": "background", "reduceOptions":
{"values": false, "calcs": ["lastNotNull"]}}}, {"type": "stat", "title": "Wohnzimmer
#2 Hum", "datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos":
{"x": 6, "y": 42, "w": 4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_wohnzimmer_2_thermostat_humidity\"}",
"legendFormat": "Humidity"}], "fieldConfig": {"defaults": {"unit": "percent",
"decimals": 0, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute",
"steps": [{"color": "red", "value": null}, {"color": "orange", "value": 30}, {"color":
"green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value":
70}]}}}, "options": {"graphMode": "area", "colorMode": "background", "reduceOptions":
{"values": false, "calcs": ["lastNotNull"]}}}, {"type": "stat", "title": "Arbeitszimmer
Hum", "datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x":
10, "y": 42, "w": 4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_arbeitszimmer_thermostat_humidity\"}",
"legendFormat": "Humidity"}], "fieldConfig": {"defaults": {"unit": "percent",
"decimals": 0, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute",
"steps": [{"color": "red", "value": null}, {"color": "orange", "value": 30}, {"color":
"green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value":
70}]}}}, "options": {"graphMode": "area", "colorMode": "background", "reduceOptions":
{"values": false, "calcs": ["lastNotNull"]}}}, {"type": "stat", "title": "K\u00fcche
Hum", "datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x":
14, "y": 42, "w": 4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_kuche_wandthermostat_humidity\"}",
"legendFormat": "Humidity"}], "fieldConfig": {"defaults": {"unit": "percent",
"decimals": 0, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute",
"steps": [{"color": "red", "value": null}, {"color": "orange", "value": 30}, {"color":
"green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value":
70}]}}}, "options": {"graphMode": "area", "colorMode": "background", "reduceOptions":
{"values": false, "calcs": ["lastNotNull"]}}}, {"type": "stat", "title": "Badezimmer
Hum", "datasource": {"type": "prometheus", "uid": "prometheus"}, "gridPos": {"x":
18, "y": 42, "w": 4, "h": 4}, "targets": [{"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.home_wandthermostat_bad_humidity\"}",
"legendFormat": "Humidity"}], "fieldConfig": {"defaults": {"unit": "percent",
"decimals": 0, "color": {"mode": "thresholds"}, "thresholds": {"mode": "absolute",
"steps": [{"color": "red", "value": null}, {"color": "orange", "value": 30}, {"color":
"green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value":
70}]}}}, "options": {"graphMode": "area", "colorMode": "background", "reduceOptions":
{"values": false, "calcs": ["lastNotNull"]}}}]}'
kind: ConfigMap
metadata:
name: grafana-dashboard-home-climate
namespace: monitoring
annotations:
grafana_dashboard_folder: "\U0001F3E0 Home"
labels:
grafana_dashboard: '1'
annotations:
grafana_dashboard_folder: 🏠 Home
data:
home-climate.json: '{"uid": "home-climate", "title": "🏠 Home Climate", "tags": ["home", "climate", "temperature", "humidity", "auto-generated"], "timezone": "browser", "schemaVersion": 39, "version":
1, "refresh": "5m", "editable": false, "graphTooltip": 1, "time": {"from": "now-24h", "to": "now"}, "panels": [{"title": "🌡️ Current Temperatures", "type": "row", "gridPos": {"h": 1, "w": 24, "x": 0,
"y": 0}, "collapsed": false}, {"title": "Wohnzimmer", "type": "stat", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 0, "y": 1}, "fieldConfig": {"defaults":
{"unit": "celsius", "decimals": 1, "thresholds": {"mode": "absolute", "steps": [{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color": "orange", "value": 22}, {"color": "red",
"value": 26}]}, "color": {"mode": "thresholds"}}}, "options": {"graphMode": "area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets":
[{"query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn:
(r) => r.entity_id == \"home_wall_mounted_thermostat_pro_temperature\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]},
{"title": "Wohnzimmer #2", "type": "stat", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 4, "y": 1}, "fieldConfig": {"defaults": {"unit": "celsius",
"decimals": 1, "thresholds": {"mode": "absolute", "steps": [{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color": "orange", "value": 22}, {"color": "red", "value": 26}]}, "color":
{"mode": "thresholds"}}}, "options": {"graphMode": "area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket:
\"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id ==
\"home_wohnzimmer_2_thermostat_temperature\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Arbeitszimmer",
"type": "stat", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 8, "y": 1}, "fieldConfig": {"defaults": {"unit": "celsius", "decimals": 1, "thresholds":
{"mode": "absolute", "steps": [{"color": "blue", "value": null}, {"color": "green", "value": 18}, {"color": "orange", "value": 22}, {"color": "red", "value": 26}]}, "color": {"mode": "thresholds"}}},
"options": {"graphMode": "area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |>
range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_arbeitszimmer_thermostat_temperature\")\n |>
aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Küche", "type": "stat", "datasource": {"type": "influxdb",
"uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 12, "y": 1}, "fieldConfig": {"defaults": {"unit": "celsius", "decimals": 1, "thresholds": {"mode": "absolute", "steps": [{"color": "blue",
"value": null}, {"color": "green", "value": 18}, {"color": "orange", "value": 22}, {"color": "red", "value": 26}]}, "color": {"mode": "thresholds"}}}, "options": {"graphMode": "area", "colorMode": "background",
"textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |>
filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_kuche_wandthermostat_temperature\")\n |> aggregateWindow(every: v.windowPeriod,
fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Bad", "type": "stat", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos":
{"h": 4, "w": 4, "x": 16, "y": 1}, "fieldConfig": {"defaults": {"unit": "celsius", "decimals": 1, "thresholds": {"mode": "absolute", "steps": [{"color": "blue", "value": null}, {"color": "green", "value":
18}, {"color": "orange", "value": 22}, {"color": "red", "value": 26}]}, "color": {"mode": "thresholds"}}}, "options": {"graphMode": "area", "colorMode": "background", "textMode": "auto", "reduceOptions":
{"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"]
== \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wandthermostat_bad_temperature\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |>
yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "📈 Temperature Trends", "type": "row", "gridPos": {"h": 1, "w": 24, "x": 0, "y": 5}, "collapsed": false}, {"title": "All Rooms Temperature",
"type": "timeseries", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 10, "w": 16, "x": 0, "y": 6}, "fieldConfig": {"defaults": {"unit": "celsius", "custom": {"lineWidth":
2, "fillOpacity": 5, "spanNulls": true, "showPoints": "never"}}}, "options": {"legend": {"displayMode": "table", "placement": "bottom", "calcs": ["mean", "lastNotNull", "min", "max"]}, "tooltip": {"mode":
"multi", "sort": "desc"}}, "targets": [{"refId": "Wo", "query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] ==
\"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wall_mounted_thermostat_pro_temperature\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |>
set(key: \"room\", value: \"Wohnzimmer\")\n |> yield(name: \"mean\")", "resultFormat": "time_series"}, {"refId": "Wo2", "query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop:
v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wohnzimmer_2_thermostat_temperature\")\n |> aggregateWindow(every:
v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Wohnzimmer #2\")\n |> yield(name: \"mean\")", "resultFormat": "time_series"}, {"refId": "Ar", "query": "from(bucket:
\"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id ==
\"home_arbeitszimmer_thermostat_temperature\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Arbeitszimmer\")\n |> yield(name: \"mean\")",
"resultFormat": "time_series"}, {"refId": "Kü", "query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\"
and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_kuche_wandthermostat_temperature\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Küche\")\n |> yield(name:
\"mean\")", "resultFormat": "time_series"}, {"refId": "Ba", "query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |>
filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wandthermostat_bad_temperature\")\n |> aggregateWindow(every: v.windowPeriod,
fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Bad\")\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Indoor vs Outdoor", "type": "timeseries", "datasource":
{"type": "influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 10, "w": 8, "x": 16, "y": 6}, "fieldConfig": {"defaults": {"unit": "celsius", "custom": {"lineWidth": 2, "fillOpacity": 5, "spanNulls":
true, "showPoints": "never"}}, "overrides": [{"matcher": {"id": "byName", "options": "Outdoor"}, "properties": [{"id": "color", "value": {"fixedColor": "light-blue", "mode": "fixed"}}, {"id": "custom.lineStyle",
"value": {"fill": "dash", "dash": [10, 5]}}]}, {"matcher": {"id": "byName", "options": "Indoor Avg"}, "properties": [{"id": "color", "value": {"fixedColor": "orange", "mode": "fixed"}}]}]}, "options":
{"legend": {"displayMode": "table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip": {"mode": "multi", "sort": "desc"}}, "targets": [{"refId": "OUT", "query": "from(bucket: \"default\")\n |>
range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"regensburg_regensburg_temperatur\")\n |>
aggregateWindow(every: 1h, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")\n |> set(key: \"location\", value: \"Outdoor\")", "resultFormat": "time_series"}, {"refId": "IN", "query": "from(bucket:
\"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"°C\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id =~
/^home_/)\n |> aggregateWindow(every: 1h, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")\n |> group()\n |> mean()\n |> set(key: \"location\", value: \"Indoor Avg\")", "resultFormat":
"time_series"}]}, {"title": "💧 Humidity", "type": "row", "gridPos": {"h": 1, "w": 24, "x": 0, "y": 16}, "collapsed": false}, {"title": "Wohnzimmer", "type": "stat", "datasource": {"type": "influxdb",
"uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 0, "y": 17}, "fieldConfig": {"defaults": {"unit": "percent", "decimals": 0, "thresholds": {"mode": "absolute", "steps": [{"color": "red",
"value": null}, {"color": "orange", "value": 30}, {"color": "green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value": 70}]}, "color": {"mode": "thresholds"}}}, "options": {"graphMode":
"area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart,
stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wall_mounted_thermostat_pro_humidity\")\n |>
aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Arbeitszimmer", "type": "stat", "datasource": {"type":
"influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 4, "y": 17}, "fieldConfig": {"defaults": {"unit": "percent", "decimals": 0, "thresholds": {"mode": "absolute", "steps": [{"color":
"red", "value": null}, {"color": "orange", "value": 30}, {"color": "green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value": 70}]}, "color": {"mode": "thresholds"}}}, "options":
{"graphMode": "area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start:
v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_arbeitszimmer_thermostat_humidity\")\n |>
aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Wohnzimmer #2", "type": "stat", "datasource": {"type":
"influxdb", "uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 8, "y": 17}, "fieldConfig": {"defaults": {"unit": "percent", "decimals": 0, "thresholds": {"mode": "absolute", "steps": [{"color":
"red", "value": null}, {"color": "orange", "value": 30}, {"color": "green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value": 70}]}, "color": {"mode": "thresholds"}}}, "options":
{"graphMode": "area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start:
v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wohnzimmer_2_thermostat_humidity\")\n |>
aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Bad", "type": "stat", "datasource": {"type": "influxdb",
"uid": "P2AB959DC95E5519F"}, "gridPos": {"h": 4, "w": 4, "x": 12, "y": 17}, "fieldConfig": {"defaults": {"unit": "percent", "decimals": 0, "thresholds": {"mode": "absolute", "steps": [{"color": "red",
"value": null}, {"color": "orange", "value": 30}, {"color": "green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value": 70}]}, "color": {"mode": "thresholds"}}}, "options": {"graphMode":
"area", "colorMode": "background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart,
stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wandthermostat_bad_humidity\")\n |> aggregateWindow(every:
v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Küche", "type": "stat", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"},
"gridPos": {"h": 4, "w": 4, "x": 16, "y": 17}, "fieldConfig": {"defaults": {"unit": "percent", "decimals": 0, "thresholds": {"mode": "absolute", "steps": [{"color": "red", "value": null}, {"color":
"orange", "value": 30}, {"color": "green", "value": 40}, {"color": "orange", "value": 60}, {"color": "red", "value": 70}]}, "color": {"mode": "thresholds"}}}, "options": {"graphMode": "area", "colorMode":
"background", "textMode": "auto", "reduceOptions": {"values": false, "calcs": ["lastNotNull"]}}, "targets": [{"query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |>
filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_kuche_wandthermostat_humidity\")\n |> aggregateWindow(every: v.windowPeriod,
fn: mean, createEmpty: false)\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}, {"title": "Humidity Trends", "type": "timeseries", "datasource": {"type": "influxdb", "uid": "P2AB959DC95E5519F"},
"gridPos": {"h": 8, "w": 24, "x": 0, "y": 20}, "fieldConfig": {"defaults": {"unit": "percent", "custom": {"lineWidth": 2, "fillOpacity": 5, "spanNulls": true, "showPoints": "never"}}}, "options": {"legend":
{"displayMode": "table", "placement": "bottom", "calcs": ["mean", "lastNotNull"]}, "tooltip": {"mode": "multi", "sort": "desc"}}, "targets": [{"refId": "Wo", "query": "from(bucket: \"default\")\n |>
range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wall_mounted_thermostat_pro_humidity\")\n |>
aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Wohnzimmer\")\n |> yield(name: \"mean\")", "resultFormat": "time_series"}, {"refId": "Ar", "query":
"from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id
== \"home_arbeitszimmer_thermostat_humidity\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Arbeitszimmer\")\n |> yield(name: \"mean\")",
"resultFormat": "time_series"}, {"refId": "Wo2", "query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and
r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wohnzimmer_2_thermostat_humidity\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Wohnzimmer #2\")\n |> yield(name:
\"mean\")", "resultFormat": "time_series"}, {"refId": "Ba", "query": "from(bucket: \"default\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |>
filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_wandthermostat_bad_humidity\")\n |> aggregateWindow(every: v.windowPeriod,
fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Bad\")\n |> yield(name: \"mean\")", "resultFormat": "time_series"}, {"refId": "Kü", "query": "from(bucket: \"default\")\n |> range(start:
v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"%\" and r[\"_field\"] == \"value\")\n |> filter(fn: (r) => r.entity_id == \"home_kuche_wandthermostat_humidity\")\n |>
aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> set(key: \"room\", value: \"Küche\")\n |> yield(name: \"mean\")", "resultFormat": "time_series"}]}]}'
name: grafana-dashboard-home-climate
namespace: monitoring