homelab-brain/docs/projekte/klima-monitoring.md
Homelab Cursor 18fc55e7d5 docs: Panasonic Option D (ESPHome UART) in BAUFORTSCHRITT und klima-monitoring
Option D esphome-panasonic-ac dokumentiert — ESP32 UART an CN-WLAN/CN-CNT
für lokale Klimadaten ohne Comfort Cloud; Kauf Z25-XKE bestätigt.
2026-07-02 18:33:56 +02:00

199 lines
8.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Klima-Monitoring — Leistung + Raumtemperaturen
**Stand:** 02.07.2026 · **Datendrehscheibe:** CT 143 (Raspi-Broker) · **Grafana:** https://grafana.orbitalo.net/d/klima-bewertung/klimatisierung
## Ziel
Die Klimatisierung des Hauses **bewertbar** machen:
- **Läuft die Klima gerade?** → Shelly-Leistung (W)
- **Kühlt sie das Haus?** → Raumtemperaturen über Zeit (esp-satellite-Knoten)
- **Verteilt sie gut?** → Vergleich Flur (Klima-Zone) vs. entfernte Räume
Später zwei getrennte Anlagen:
| Anlage | Standort | Shelly-Prefix | Status |
|--------|----------|---------------|--------|
| Alte Split-Klima | Flur obere Etage | `klima_flur_oben` | Shelly PM Mini Gen3 geplant |
| Panasonic | Flur unten | `klima_flur_unten` | vorbereitet (Telegraf + Grafana) |
## Architektur
```
Shelly PM Mini Gen3 (pro Anlage)
│ MQTT JSON: <prefix>/status/pm1:0 (apower, voltage, current, aenergy.total)
mosquitto CT143 :1883 (192.168.178.36, allow_anonymous)
Telegraf klima.conf → InfluxDB DB `sensors`, Measurement `power`
ESP-Satelliten (+/temp) ──► Telegraf satellites.conf → Measurement `temperature`
Grafana Dashboard „Klimatisierung“ (UID: klima-bewertung)
├─ Leistung (W) pro Klima
├─ Korrelation Leistung ↔ Flur-Temperatur (oben/unten)
├─ Raumtemperaturen Wohnbereich (24h)
└─ kWh/h aus Shelly-Zähler (energy_wh_total Differenz)
```
**Kein ioBroker** für dieses Monitoring — gleiche Linie wie Raum-Satelliten (Telegraf-only).
## Panasonic Flur unten — lokale UART-Anbindung (Option D)
Für die geplante **Panasonic KIT-Z25-XKE** (CS-Z25XKE / CU-Z25XKE, Etherea): Serien-WiFi geht nur in die Comfort Cloud. **Lokale Gerätedaten** per ESP32 und Open-Source-Komponente [esphome-panasonic-ac](https://github.com/DomiStyle/esphome-panasonic-ac).
| Thema | Details |
|---|---|
| **Prinzip** | ESP32 ersetzt Panasonic-WLAN-Modul (DNSK-P11) oder hängt an CN-CNT (CZ-TACG1) |
| **Schnittstelle** | UART 9600 8E1 — **Level-Shifter 5V↔3,3V Pflicht** |
| **Daten** | Modus, Solltemp, Status, ggf. Außentemp; Steuerung lokal |
| **Fork neuere Etherea** | [beebop5/esphome-panasonic-ac](https://github.com/beebop5/esphome-panasonic-ac) |
| **Homelab-Pfad** | ESPHome MQTT → mosquitto CT143 → Telegraf → InfluxDB → Grafana `klima-bewertung` |
| **Ergänzung** | Shelly PM (`klima_flur_unten`) für Leistung/COP — siehe Abschnitt Shelly oben |
```
ESP32 (ESPHome panasonic_ac, type: wlan|cnt)
│ MQTT: klima_panasonic/* (Prefix noch festzulegen)
mosquitto CT143 → Telegraf → InfluxDB sensors → Grafana
```
**Vor Einbau prüfen:** Stecker CN-WLAN und/oder CN-CNT am Innengerät-Board (Foto). Details und Kaufentscheidung: `homelab-brain/smart-home/BAUFORTSCHRITT.md` §5.
## Hardware: Shelly PM Mini Gen3
| Eigenschaft | Wert |
|-------------|------|
| Typ | Stromzähler **ohne Relais** (nur messen) |
| Max. Messstrom | 16 A / ~3840 W @ 230 V |
| Einbau | In Reihe in die Zuleitung (Festanschluss) |
| MQTT | nativ (Gen3), JSON auf `status/pm1:0` |
### Shelly MQTT-Einstellungen
| Parameter | Wert |
|-----------|------|
| Server | `192.168.178.36:1883` |
| Username/Password | leer (allow_anonymous) |
| TLS | aus |
| **MQTT Prefix** | `klima_flur_oben` bzw. `klima_flur_unten` |
| Status/RPC over MQTT | **an** |
Erwartetes Topic und Payload:
```
Topic: klima_flur_oben/status/pm1:0
JSON: {"voltage":244.1,"current":5.88,"apower":1442,"aenergy":{"total":3709.99},...}
```
## Telegraf
**Repo (Quelle der Wahrheit):** `orbitalo/homelab-brain``infra/telegraf/klima.conf`
**Laufort:** CT 143 → `/etc/telegraf/telegraf.d/klima.conf`
Routing über `satellites.conf`-Output:
- **namepass** enthält `power` → schreibt nach DB `sensors`
- `openwb.conf`-Output **namedrop** `power` → keine Dopplung nach `iobroker`
### InfluxDB Schema (DB `sensors`)
| Measurement | Tags | Felder | Quelle |
|-------------|------|--------|--------|
| `power` | `node`, `geraet` | `watt`, `voltage`, `current`, `energy_wh_total` | Shelly `apower`, `aenergy.total` |
| `temperature` | `node` | `value` | `<raum>/temp` |
**power-Tags:**
| node | geraet | Anlage |
|------|--------|--------|
| `klima_flur_oben` | `split_ac` | Split-Klima Flur oben |
| `klima_flur_unten` | `panasonic` | Panasonic Flur unten (folgt) |
## Grafana
| Dashboard | UID | URL |
|-----------|-----|-----|
| **Klimatisierung** | `klima-bewertung` | https://grafana.orbitalo.net/d/klima-bewertung/klimatisierung |
| Satelliten-Temperaturen | `satelliten-temps` | https://grafana.orbitalo.net/d/satelliten-temps/satelliten-temperaturen |
**Provisioning:** `/etc/grafana/provisioning/dashboards/klima-bewertung.json`
**Git-Kopie:** `homelab-brain/infra/grafana/klima-bewertung.json`
### Panels
1. **Klima-Leistung (W)** — alle `power`-Nodes dynamisch
2. **Aktuelle Leistung** — letzter Watt-Wert
3. **Flur oben: Leistung vs. Temperatur** — Dual-Achse (`klima_flur_oben` + `flur_oben/temp`)
4. **Flur unten: Leistung vs. Temperatur** — (`klima_flur_unten` + `flur_unten/temp`, Panasonic folgt)
5. **Raumtemperaturen Wohnbereich** — flur_oben, flur_unten, wohnstube, schlafzimmer, gaestezimmer, kueche, trockenraum
6. **Übersichtstabelle** — aktuell / min / max / mittel
7. **Klima-Verbrauch kWh/h** — aus `energy_wh_total`-Differenz
### Bewertungslogik (Interpretation)
| Beobachtung | Bedeutung |
|-------------|-----------|
| Shelly > 500 W **und** Raumtemps fallen | Klima kühlt inkl. Haus |
| Shelly > 500 W **und** nur Flur fällt | schlechte Verteilung / zu große Last |
| Shelly ≈ 0 **und** Temps fallen | natürliche Abküllung (Nacht) |
| Shelly > 500 W **und** nichts fällt | keine Wirkung / zu warm draußen |
Raum-Sensoren allein reichen **nicht** — erst mit Shelly-Leistung ist die Kausalität klar.
## Raum-Sensoren (Kontext)
Relevante esp-satellite-Knoten für Klima-Bewertung:
| node | Raum | Hinweis |
|------|------|---------|
| `flur_oben` | Flur oben | direkt an Klima-Zone |
| `flur_unten` | Flur unten | später Panasonic-Zone |
| `wohnstube` | Wohnstube | Verteilung prüfen |
| `schlafzimmer` | Schlafzimmer | entfernter Raum |
| `gaestezimmer` | Gästezimmer | |
| `kueche` | Küche | oft wärmer |
| `trockenraum` | Trockenraum | |
**Stand 24.06.2026:** DS18B20-Umbau von Board-Lötung auf Kabel abgeschlossen für flur_unten, schlafzimmer, gaestezimmer, trockenraum (~810 °C Korrektur). Details: [ct-esp-satellite.md](../container/ct-esp-satellite.md).
## Verifikation
```bash
# MQTT: Shelly-Daten (nach Einbau)
ssh pve-mu-3 'pct exec 143 -- mosquitto_sub -h localhost -t "klima_flur_oben/#" -W 5 -v'
# InfluxDB: Leistung
ssh pve-mu-3 'pct exec 143 -- influx -database sensors -execute \
"SELECT last(watt) FROM power WHERE node='"'"'klima_flur_oben'"'"'"'
# InfluxDB: Raumtemps
ssh pve-mu-3 'pct exec 143 -- influx -database sensors -execute \
"SELECT last(value) FROM temperature GROUP BY node"'
```
## Deploy / Wiederherstellung
```bash
# Von homelab-brain auf CT143 (via pve-mu-3):
pct push 143 infra/telegraf/klima.conf /etc/telegraf/telegraf.d/klima.conf
pct push 143 infra/telegraf/satellites.conf /etc/telegraf/telegraf.d/satellites.conf
pct push 143 infra/telegraf/openwb.conf /etc/telegraf/telegraf.d/openwb.conf
pct push 143 infra/grafana/klima-bewertung.json /etc/grafana/provisioning/dashboards/klima-bewertung.json
pct exec 143 -- chown root:grafana /etc/grafana/provisioning/dashboards/klima-bewertung.json
pct exec 143 -- systemctl restart telegraf
pct exec 143 -- systemctl restart grafana-server
```
## Verwandte Doku
- [CT 143 — Raspi-Broker](../container/ct-143-raspi-broker.md) — Telegraf, Grafana, mosquitto
- [ESP-Satellite](../container/ct-esp-satellite.md) — Raumtemperatur-Knoten
- `homelab-brain/infra/telegraf/README.md` — Telegraf-Architektur + Routing
## History
- **02.07.2026** — Option D dokumentiert: ESPHome UART (esphome-panasonic-ac) für Panasonic Z25XKE; Empfehlung D + Shelly C.
- **24.06.2026** — Klima-Monitoring geplant und vorbereitet: Telegraf `klima.conf`, Grafana-Dashboard `klima-bewertung`, Topics `klima_flur_oben` + `klima_flur_unten`. Shelly PM Mini Gen3 für Split-Klima Flur oben folgt physisch. Panasonic Flur unten vorbereitet.
- **24.06.2026** — DS18B20-Umbau Raum-Satelliten (Kabel statt Board-Lötung) für flur_unten, schlafzimmer, gaestezimmer, trockenraum abgeschlossen — Temperaturbasis für Klima-Bewertung korrigiert.