Oberer Teil (Current Temperatures, Temperature History):
Unterer Teil (Humidity, Air Quality, Heating System — vorher unsichtbar bzw. leer):
Review report
Device-/Elektronik-Temperaturen verschmutzen "All Room Temperatures" — critical ✅ FIXED — Regex /(shelly.*temp|meter_pro)/ selektierte nach Hersteller und zog Teichpumpe (33.9 °C), Shelly-Relais (75.6 °C), 3EM-Stromzähler (60.1 °C) und Switch-Innentemperaturen (49.3 °C) in die Raumübersicht. Ersetzt durch explizite Allow-List verifizierter Raumsensoren; Legende zeigt jetzt Raumnamen (Flux map() + displayName). max von 30 auf 35 angehoben, damit sommerliche 27 °C+ nicht am Anschlag kleben.
"Erdgeschoss Temperatures" Y-Achse durch Switch-Innentemperatur zerstört — critical ✅ FIXED — eg_wohnzimmer_shelly_nord_switch_0_device_temperature (~49 °C) raus, dafür die tatsächlich lebenden EG-Sensoren rein: i_9psl_temperature (EG Schlafzimmer), i_9psl_temperature_2 (EG Diele), treppenhaus_eg_bewegungsmelder_temperature (EG Treppenhaus). Achse skaliert jetzt auf ~18–30 °C.
"Obergeschoss & Dachgeschoss" enthielt keine OG-Daten und fast nur Geräte-Temps — critical ✅ FIXED — Das alte Regex /(^dg_|meter_pro|i_9psl.*temp)/ hatte keine einzige og_-Alternative; gezeigt wurden dg_buro_sw_temperature (62 °C, Switch), Fenster-/Türsensor-Innentemps und ein Schreibtischgerät (35 °C). Jetzt: nur dg_buro_meter_pro (der echte DG-Sensor, derzeit offline) + shellywalldisplay_00082266e106 (lt. HA friendly_name "DG Büro Wall Display Temperature", live, 31.6 °C — leichter Eigenwärme-Bias). Panel-Beschreibung dokumentiert: OG hat bewusst keinen Temperatursensor, darum ehrlich keine OG-Serie statt erfundener Daten.
Legenden zeigen rohe Entity-IDs mit _value-Prefix — major ✅ FIXED — Alle Panels mappen entity_ids in Flux auf Raumnamen (EG Diele, KG Waschküche, …) bzw. Heizungs-Begriffe (Vorlauf, Warmwasser Ist/Soll) und setzen displayName: ${__field.labels.entity_id} — der _value-Prefix ist weg.
Bargauge-Clamp min:10/max:30 versteckt Ausreißer-Magnitude — minor ✅ TEILWEISE FIXED — Nach Ausschluss der Gerätetemperaturen ist das Problem praktisch entschärft; max auf 35 erhöht. Der Zahlenwert zeigt ohnehin immer den echten Wert.
Humidity: Current und History nutzten verschiedene Sensor-Sets — minor ✅ FIXED — Beide Panels nutzen jetzt dieselbe explizite Liste (inkl. der bisher fehlenden i_9psl_humidity*, eg_schlafzimmer_vento_humidity, kg_waschkuche_vento_humidity, kg_vorratskeller_klimasensor_humidity, shelly_blu_h_t_7203_humidity).
CO2-Gauge und -History mit unterschiedlichen Schwellwerten — minor ✅ FIXED — Beide jetzt 800 / 1000 / 1500 ppm (History hatte rot schon bei 1000).
Heating System / Hot Water Panels waren LEER — major, verifiziert ✅ FIXED — Bestätigt: der domain-Tag im °C-Measurement enthält nur number und sensor — climate und water_heater existieren nicht, beide Panels waren garantiert leer. Jetzt: Heizung = vitocal_250_a_vitocal_{flow,return,buffer,outside}_temperature + HK2/HK3-Vorlauf; Warmwasser = dhw_temperature (Ist) + dhw_setpoint (Soll). Im After-Screenshot ist ein kompletter WW-Ladezyklus sichtbar.
Tote Sensoren zeigten stale Werte als "aktuell" — major (Querschnitts-Bug #4) ✅ FIXED — Die drei "Current"-Panels (Temperatur-Bargauge, Humidity-Bargauge, CO2-Gauge) nutzen jetzt ein festes range(start: -6h) statt des Dashboard-Zeitbereichs: Sensoren ohne Daten in den letzten 6 h verschwinden, statt einen Tage-alten Wert als live auszugeben. Trade-off: der Time-Picker beeinflusst diese drei Panels nicht mehr (für "current" m.E. korrekt). History-Panels folgen weiter dem Time-Picker.
Selektion per Hersteller-Regex (Root Cause) — major (design) ✅ FIXED (im Dashboard) / ⚠️ OFFEN (in HA) — Alle Queries nutzen jetzt explizite ^(…)$-Allow-Lists. Langfristig sauberer wäre, die Ausreißer-Entities in HA nach <floor>_<raum>_* zu benennen (i_9psl_*, shelly_blu_h_t_7203, shellywalldisplay_*).
Hardware-Findings (nicht per Query reparierbar)
EG Shelly H&T Trio (eg_bad, eg_schlafzimmer, eg_wohnzimmer): tot (Batterie), letzte Daten 2026-07-16 11:49. Bleiben in den Queries — sobald Batterien getauscht sind, erscheinen sie wieder automatisch.
DG Büro Meter Pro (dg_buro_meter_pro): offline seit 2026-07-15 04:31 (HA-State unavailable). Auch dieser bleibt in den Queries.
❓ Fragen an den Owner
Ist das Shelly Wall Display als DG-Büro-Referenz okay (Eigenwärme-Bias, zeigt ~31.6 °C vs. Meter Pro zuletzt 29.5 °C)? Sonst nehme ich es wieder raus und das DG-Panel bleibt leer, bis der Meter Pro zurück ist.
Sind die Vento-Feuchtesensoren (EG Schlafzimmer 47 %, KG Waschküche 55 %) als Raumwerte gewünscht? Werte sind plausibel, es sind aber Lüftungsgeräte.
vitocal_circuit_2_room_temperature liest konstant 14.5 °C (implausibel, vermutlich unbenutzter Heizkreis) — bewusst NICHT aufgenommen. Passt das?
Verification
Alle 10 neuen Flux-Queries wurden vor dem Commit gegen das Live-InfluxDB (Grafana /api/ds/query, Bucket suedstr28) ausgeführt:
schema.tagValues für °C, %, ppm → vollständige Entity-Listen; domain-Tag für °C = nur number+sensor (Beweis für leere Heating-Panels).
Letzte Werte + Timestamps aller Kandidaten (7 Tage) → Staleness-Befunde oben; Plausibilität: Räume 20.1–27.3 °C, Feuchte 40–64 %, CO2 492–670 ppm, WW 47.5/45 °C.
After-Screenshots stammen aus einem Temp-Preview (home-climate-preview), das anschließend gelöscht wurde. Das produktive Dashboard wurde nicht angefasst.
## Before

## After
Oberer Teil (Current Temperatures, Temperature History):

Unterer Teil (Humidity, Air Quality, Heating System — vorher unsichtbar bzw. leer):

## Review report
1. **Device-/Elektronik-Temperaturen verschmutzen "All Room Temperatures"** — `critical`
✅ FIXED — Regex `/(shelly.*temp|meter_pro)/` selektierte nach Hersteller und zog Teichpumpe (33.9 °C), Shelly-Relais (75.6 °C), 3EM-Stromzähler (60.1 °C) und Switch-Innentemperaturen (49.3 °C) in die Raumübersicht. Ersetzt durch explizite Allow-List verifizierter Raumsensoren; Legende zeigt jetzt Raumnamen (Flux `map()` + `displayName`). `max` von 30 auf 35 angehoben, damit sommerliche 27 °C+ nicht am Anschlag kleben.
2. **"Erdgeschoss Temperatures" Y-Achse durch Switch-Innentemperatur zerstört** — `critical`
✅ FIXED — `eg_wohnzimmer_shelly_nord_switch_0_device_temperature` (~49 °C) raus, dafür die tatsächlich lebenden EG-Sensoren rein: `i_9psl_temperature` (EG Schlafzimmer), `i_9psl_temperature_2` (EG Diele), `treppenhaus_eg_bewegungsmelder_temperature` (EG Treppenhaus). Achse skaliert jetzt auf ~18–30 °C.
3. **"Obergeschoss & Dachgeschoss" enthielt keine OG-Daten und fast nur Geräte-Temps** — `critical`
✅ FIXED — Das alte Regex `/(^dg_|meter_pro|i_9psl.*temp)/` hatte keine einzige `og_`-Alternative; gezeigt wurden `dg_buro_sw_temperature` (62 °C, Switch), Fenster-/Türsensor-Innentemps und ein Schreibtischgerät (35 °C). Jetzt: nur `dg_buro_meter_pro` (der echte DG-Sensor, derzeit offline) + `shellywalldisplay_00082266e106` (lt. HA friendly_name "DG Büro Wall Display Temperature", live, 31.6 °C — leichter Eigenwärme-Bias). Panel-Beschreibung dokumentiert: **OG hat bewusst keinen Temperatursensor**, darum ehrlich keine OG-Serie statt erfundener Daten.
4. **Legenden zeigen rohe Entity-IDs mit `_value`-Prefix** — `major`
✅ FIXED — Alle Panels mappen entity_ids in Flux auf Raumnamen (`EG Diele`, `KG Waschküche`, …) bzw. Heizungs-Begriffe (`Vorlauf`, `Warmwasser Ist/Soll`) und setzen `displayName: ${__field.labels.entity_id}` — der `_value`-Prefix ist weg.
5. **Bargauge-Clamp min:10/max:30 versteckt Ausreißer-Magnitude** — `minor`
✅ TEILWEISE FIXED — Nach Ausschluss der Gerätetemperaturen ist das Problem praktisch entschärft; `max` auf 35 erhöht. Der Zahlenwert zeigt ohnehin immer den echten Wert.
6. **Humidity: Current und History nutzten verschiedene Sensor-Sets** — `minor`
✅ FIXED — Beide Panels nutzen jetzt dieselbe explizite Liste (inkl. der bisher fehlenden `i_9psl_humidity*`, `eg_schlafzimmer_vento_humidity`, `kg_waschkuche_vento_humidity`, `kg_vorratskeller_klimasensor_humidity`, `shelly_blu_h_t_7203_humidity`).
7. **CO2-Gauge und -History mit unterschiedlichen Schwellwerten** — `minor`
✅ FIXED — Beide jetzt 800 / 1000 / 1500 ppm (History hatte rot schon bei 1000).
8. **Heating System / Hot Water Panels waren LEER** — `major, verifiziert`
✅ FIXED — Bestätigt: der `domain`-Tag im `°C`-Measurement enthält nur `number` und `sensor` — `climate` und `water_heater` existieren nicht, beide Panels waren garantiert leer. Jetzt: Heizung = `vitocal_250_a_vitocal_{flow,return,buffer,outside}_temperature` + HK2/HK3-Vorlauf; Warmwasser = `dhw_temperature` (Ist) + `dhw_setpoint` (Soll). Im After-Screenshot ist ein kompletter WW-Ladezyklus sichtbar.
9. **Tote Sensoren zeigten stale Werte als "aktuell"** — `major` (Querschnitts-Bug #4)
✅ FIXED — Die drei "Current"-Panels (Temperatur-Bargauge, Humidity-Bargauge, CO2-Gauge) nutzen jetzt ein festes `range(start: -6h)` statt des Dashboard-Zeitbereichs: Sensoren ohne Daten in den letzten 6 h verschwinden, statt einen Tage-alten Wert als live auszugeben. Trade-off: der Time-Picker beeinflusst diese drei Panels nicht mehr (für "current" m.E. korrekt). History-Panels folgen weiter dem Time-Picker.
10. **Selektion per Hersteller-Regex (Root Cause)** — `major (design)`
✅ FIXED (im Dashboard) / ⚠️ OFFEN (in HA) — Alle Queries nutzen jetzt explizite `^(…)$`-Allow-Lists. Langfristig sauberer wäre, die Ausreißer-Entities in HA nach `<floor>_<raum>_*` zu benennen (`i_9psl_*`, `shelly_blu_h_t_7203`, `shellywalldisplay_*`).
### Hardware-Findings (nicht per Query reparierbar)
- **EG Shelly H&T Trio** (`eg_bad`, `eg_schlafzimmer`, `eg_wohnzimmer`): tot (Batterie), letzte Daten 2026-07-16 11:49. Bleiben in den Queries — sobald Batterien getauscht sind, erscheinen sie wieder automatisch.
- **DG Büro Meter Pro** (`dg_buro_meter_pro`): offline seit 2026-07-15 04:31 (HA-State `unavailable`). Auch dieser bleibt in den Queries.
### ❓ Fragen an den Owner
1. Ist das **Shelly Wall Display** als DG-Büro-Referenz okay (Eigenwärme-Bias, zeigt ~31.6 °C vs. Meter Pro zuletzt 29.5 °C)? Sonst nehme ich es wieder raus und das DG-Panel bleibt leer, bis der Meter Pro zurück ist.
2. Sind die **Vento-Feuchtesensoren** (EG Schlafzimmer 47 %, KG Waschküche 55 %) als Raumwerte gewünscht? Werte sind plausibel, es sind aber Lüftungsgeräte.
3. `vitocal_circuit_2_room_temperature` liest konstant 14.5 °C (implausibel, vermutlich unbenutzter Heizkreis) — bewusst NICHT aufgenommen. Passt das?
## Verification
Alle 10 neuen Flux-Queries wurden vor dem Commit gegen das Live-InfluxDB (Grafana `/api/ds/query`, Bucket `suedstr28`) ausgeführt:
- `schema.tagValues` für `°C`, `%`, `ppm` → vollständige Entity-Listen; `domain`-Tag für `°C` = nur `number`+`sensor` (Beweis für leere Heating-Panels).
- Letzte Werte + Timestamps aller Kandidaten (7 Tage) → Staleness-Befunde oben; Plausibilität: Räume 20.1–27.3 °C, Feuchte 40–64 %, CO2 492–670 ppm, WW 47.5/45 °C.
- HA-States für die fraglichen Sensoren (friendly_name, availability): Wall Display = "DG Büro Wall Display Temperature" (live), `dg_buro_meter_pro` = `unavailable`, Vento-Sensoren live.
- After-Screenshots stammen aus einem Temp-Preview (`home-climate-preview`), das anschließend gelöscht wurde. Das produktive Dashboard wurde nicht angefasst.
- All temperature/humidity panels: replace vendor regexes (shelly.*temp etc.)
that dragged in device-internal temperatures (pond pump 34C, power meter 60C,
relay 76C) with explicit allow-lists of verified room sensors
- Add missing sensors: shelly_blu_h_t_7203 (KG Schlafzimmer),
treppenhaus_eg_bewegungsmelder (EG Treppenhaus), vento humidity sensors,
Shelly Wall Display (DG Buero)
- OG & DG panel: regex had no og_ alternative and showed only device internals;
now honest DG-only series + description (OG deliberately has no sensor)
- Heating System / Hot Water panels were empty (domain climate/water_heater
does not exist in the C measurement) -> use vitocal_250_a_* sensors
- Current-value panels: fixed -6h window so dead sensors (EG Shelly H&T trio,
DG Meter Pro) disappear instead of showing stale values as live
- Legends: map entity_ids to room names in Flux + displayName, removes the
'_value xyz' prefix
- Align CO2 thresholds between gauge and history (800/1000/1500)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Before
After
Oberer Teil (Current Temperatures, Temperature History):
Unterer Teil (Humidity, Air Quality, Heating System — vorher unsichtbar bzw. leer):
Review report
Device-/Elektronik-Temperaturen verschmutzen "All Room Temperatures" —
critical✅ FIXED — Regex
/(shelly.*temp|meter_pro)/selektierte nach Hersteller und zog Teichpumpe (33.9 °C), Shelly-Relais (75.6 °C), 3EM-Stromzähler (60.1 °C) und Switch-Innentemperaturen (49.3 °C) in die Raumübersicht. Ersetzt durch explizite Allow-List verifizierter Raumsensoren; Legende zeigt jetzt Raumnamen (Fluxmap()+displayName).maxvon 30 auf 35 angehoben, damit sommerliche 27 °C+ nicht am Anschlag kleben."Erdgeschoss Temperatures" Y-Achse durch Switch-Innentemperatur zerstört —
critical✅ FIXED —
eg_wohnzimmer_shelly_nord_switch_0_device_temperature(~49 °C) raus, dafür die tatsächlich lebenden EG-Sensoren rein:i_9psl_temperature(EG Schlafzimmer),i_9psl_temperature_2(EG Diele),treppenhaus_eg_bewegungsmelder_temperature(EG Treppenhaus). Achse skaliert jetzt auf ~18–30 °C."Obergeschoss & Dachgeschoss" enthielt keine OG-Daten und fast nur Geräte-Temps —
critical✅ FIXED — Das alte Regex
/(^dg_|meter_pro|i_9psl.*temp)/hatte keine einzigeog_-Alternative; gezeigt wurdendg_buro_sw_temperature(62 °C, Switch), Fenster-/Türsensor-Innentemps und ein Schreibtischgerät (35 °C). Jetzt: nurdg_buro_meter_pro(der echte DG-Sensor, derzeit offline) +shellywalldisplay_00082266e106(lt. HA friendly_name "DG Büro Wall Display Temperature", live, 31.6 °C — leichter Eigenwärme-Bias). Panel-Beschreibung dokumentiert: OG hat bewusst keinen Temperatursensor, darum ehrlich keine OG-Serie statt erfundener Daten.Legenden zeigen rohe Entity-IDs mit
_value-Prefix —major✅ FIXED — Alle Panels mappen entity_ids in Flux auf Raumnamen (
EG Diele,KG Waschküche, …) bzw. Heizungs-Begriffe (Vorlauf,Warmwasser Ist/Soll) und setzendisplayName: ${__field.labels.entity_id}— der_value-Prefix ist weg.Bargauge-Clamp min:10/max:30 versteckt Ausreißer-Magnitude —
minor✅ TEILWEISE FIXED — Nach Ausschluss der Gerätetemperaturen ist das Problem praktisch entschärft;
maxauf 35 erhöht. Der Zahlenwert zeigt ohnehin immer den echten Wert.Humidity: Current und History nutzten verschiedene Sensor-Sets —
minor✅ FIXED — Beide Panels nutzen jetzt dieselbe explizite Liste (inkl. der bisher fehlenden
i_9psl_humidity*,eg_schlafzimmer_vento_humidity,kg_waschkuche_vento_humidity,kg_vorratskeller_klimasensor_humidity,shelly_blu_h_t_7203_humidity).CO2-Gauge und -History mit unterschiedlichen Schwellwerten —
minor✅ FIXED — Beide jetzt 800 / 1000 / 1500 ppm (History hatte rot schon bei 1000).
Heating System / Hot Water Panels waren LEER —
major, verifiziert✅ FIXED — Bestätigt: der
domain-Tag im°C-Measurement enthält nurnumberundsensor—climateundwater_heaterexistieren nicht, beide Panels waren garantiert leer. Jetzt: Heizung =vitocal_250_a_vitocal_{flow,return,buffer,outside}_temperature+ HK2/HK3-Vorlauf; Warmwasser =dhw_temperature(Ist) +dhw_setpoint(Soll). Im After-Screenshot ist ein kompletter WW-Ladezyklus sichtbar.Tote Sensoren zeigten stale Werte als "aktuell" —
major(Querschnitts-Bug #4)✅ FIXED — Die drei "Current"-Panels (Temperatur-Bargauge, Humidity-Bargauge, CO2-Gauge) nutzen jetzt ein festes
range(start: -6h)statt des Dashboard-Zeitbereichs: Sensoren ohne Daten in den letzten 6 h verschwinden, statt einen Tage-alten Wert als live auszugeben. Trade-off: der Time-Picker beeinflusst diese drei Panels nicht mehr (für "current" m.E. korrekt). History-Panels folgen weiter dem Time-Picker.Selektion per Hersteller-Regex (Root Cause) —
major (design)✅ FIXED (im Dashboard) / ⚠️ OFFEN (in HA) — Alle Queries nutzen jetzt explizite
^(…)$-Allow-Lists. Langfristig sauberer wäre, die Ausreißer-Entities in HA nach<floor>_<raum>_*zu benennen (i_9psl_*,shelly_blu_h_t_7203,shellywalldisplay_*).Hardware-Findings (nicht per Query reparierbar)
eg_bad,eg_schlafzimmer,eg_wohnzimmer): tot (Batterie), letzte Daten 2026-07-16 11:49. Bleiben in den Queries — sobald Batterien getauscht sind, erscheinen sie wieder automatisch.dg_buro_meter_pro): offline seit 2026-07-15 04:31 (HA-Stateunavailable). Auch dieser bleibt in den Queries.❓ Fragen an den Owner
vitocal_circuit_2_room_temperatureliest konstant 14.5 °C (implausibel, vermutlich unbenutzter Heizkreis) — bewusst NICHT aufgenommen. Passt das?Verification
Alle 10 neuen Flux-Queries wurden vor dem Commit gegen das Live-InfluxDB (Grafana
/api/ds/query, Bucketsuedstr28) ausgeführt:schema.tagValuesfür°C,%,ppm→ vollständige Entity-Listen;domain-Tag für°C= nurnumber+sensor(Beweis für leere Heating-Panels).dg_buro_meter_pro=unavailable, Vento-Sensoren live.home-climate-preview), das anschließend gelöscht wurde. Das produktive Dashboard wurde nicht angefasst.