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.
This commit is contained in:
Homelab Cursor 2026-07-02 18:33:56 +02:00
parent 141ed9d525
commit 18fc55e7d5
2 changed files with 218 additions and 5 deletions

View file

@ -0,0 +1,199 @@
# 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.

View file

@ -74,7 +74,7 @@ esp-satellite-Knoten + Ölknoten + Garage-Decke — alle in InfluxDB `sensors`.
## 5. Klimatisierung — GEPLANT ## 5. Klimatisierung — GEPLANT
**Kauf geplant (Kleinanzeigen):** **600 €** **Kauf bestätigt (Kleinanzeigen):** **600 €**
| Teil | Modell | | Teil | Modell |
|---|---| |---|---|
@ -98,13 +98,27 @@ esp-satellite-Knoten + Ölknoten + Garage-Decke — alle in InfluxDB `sensors`.
| Option | Kosten | Was du bekommst | | Option | Kosten | Was du bekommst |
|---|---|---| |---|---|---|
| **C — Shelly PM + DS18B20** (Sofort) | ~0 € (Teile vorhanden) | Strom (kW), Ausblastemp; COP selbst rechnen; MQTT → InfluxDB → Grafana | | **D — ESPHome UART** ([esphome-panasonic-ac](https://github.com/DomiStyle/esphome-panasonic-ac)) | ~1020 € (ESP32 + Level-Shifter) | Modus, Solltemp, Status, ggf. Außentemp **direkt vom Gerät**; Steuerung lokal; MQTT → InfluxDB → Grafana |
| **C — Shelly PM + DS18B20** (ergänzend) | ~0 € (Teile vorhanden) | Strom (kW), Ausblastemp; COP selbst rechnen; passt zu `klima_flur_unten` in Telegraf |
| **B — CZ-NSMB RS485-Platine** | ~80120 € | Register-Set direkt am Innengerät; RS485 → USB → CT143/ioBroker | | **B — CZ-NSMB RS485-Platine** | ~80120 € | Register-Set direkt am Innengerät; RS485 → USB → CT143/ioBroker |
| **A — Intesis Modbus-Gateway** | ~150200 € | INMBSPAN001A000 / PAW-AW-MBS-H; Modbus TCP/RTU, Temp/Energie/Kompressor/Alarme | | **A — Intesis Modbus-Gateway** | ~150200 € | INMBSPAN001A000 / PAW-AW-MBS-H; Modbus TCP/RTU, Temp/Energie/Kompressor/Alarme |
**Empfehlung:** Option C zuerst (80 % relevanter Daten, passt zu `klima_flur_unten` in Telegraf). A oder B später, wenn Kompressorstatus/Alarme/Register nötig. **Empfehlung:** Nach Einbau Stecker **CN-WLAN** oder **CN-CNT** am Innengerät prüfen → **Option D** (beste Gerätedaten, kein Cloud-Zwang). **Option C** parallel für Leistung/COP. B oder A nur bei Bedarf an Registern/Alarmen.
**Hinweis RAC:** Z25XKE ist Room-AC, kein VRF — erwarte ~1520 Register, nicht 50. CZ-NSMB-Kompatibilität vor Kauf beim Fachpartner/ProClub-Handbuch prüfen. ### Option D — ESPHome UART (esphome-panasonic-ac)
Open-Source-ESPHome-Komponente; Ersatz für Panasonic-WLAN-Adapter **DNSK-P11** (CN-WLAN) bzw. **CZ-TACG1** (CN-CNT). Kommunikation per UART am Innengerät — lokal ohne Comfort Cloud.
| Thema | Details |
|---|---|
| **GitHub** | https://github.com/DomiStyle/esphome-panasonic-ac — Fork [beebop5](https://github.com/beebop5/esphome-panasonic-ac) für neuere Etherea/PIOT-V2 |
| **Hardware** | ESP32, **5V↔3,3V Level-Shifter** (Pflicht!), Anschluss CN-WLAN (`type: wlan`) oder CN-CNT (`type: cnt`) |
| **UART** | GPIO16 RX, GPIO17 TX, 9600 Baud, Parity EVEN; Strom oft 5V vom AC-Stecker |
| **Datenweg Homelab** | ESPHome → MQTT (mosquitto CT143) → Telegraf → InfluxDB `sensors` → Grafana `klima-bewertung` |
| **Z25XKE** | Etherea — Community mit CN-WLAN getestet; beim Abholen Board-Foto + Stecker CN-WLAN/CN-CNT prüfen |
| **Board-Alternative** | [AirControl-Mini](https://github.com/Zhhi/AirControl-Mini) — fertige Platine als DNSK-P11-Drop-in |
**Hinweis RAC:** Z25XKE ist Room-AC, kein VRF — erwarte ~1520 Register bei B, nicht 50. CZ-NSMB-Kompatibilität vor Kauf prüfen.
## 6. Infrastruktur ## 6. Infrastruktur
@ -118,7 +132,7 @@ esp-satellite-Knoten + Ölknoten + Garage-Decke — alle in InfluxDB `sensors`.
1. **Heizraum-Knoten montieren** + Mischer-Fühler `heizraum/nach_mischer` 1. **Heizraum-Knoten montieren** + Mischer-Fühler `heizraum/nach_mischer`
2. **Erdtrassen-Verlust-ΔT** im Dashboard: `nach_mischer` `oelknoten/vl_erd_an` 2. **Erdtrassen-Verlust-ΔT** im Dashboard: `nach_mischer` `oelknoten/vl_erd_an`
3. **Panasonic KIT-Z25-XKE** (CS-Z25XKE / CU-Z25XKE) kaufen, einbauen, in Klima-Monitoring aufnehmen 3. **Panasonic KIT-Z25-XKE** kaufen/einbauen; CN-WLAN/CN-CNT prüfen → Option D (ESPHome UART) + Option C (Shelly)
4. Kühldecke: zweite 3er-Seite anschließen 4. Kühldecke: zweite 3er-Seite anschließen
5. Pumpen-Klemmen zuordnen (Try-and-Error an echten Pumpen) 5. Pumpen-Klemmen zuordnen (Try-and-Error an echten Pumpen)