From 18fc55e7d5a547fd6a2bdc52767bfe5a64088d1f Mon Sep 17 00:00:00 2001 From: Homelab Cursor Date: Thu, 2 Jul 2026 18:33:56 +0200 Subject: [PATCH] docs: Panasonic Option D (ESPHome UART) in BAUFORTSCHRITT und klima-monitoring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- docs/projekte/klima-monitoring.md | 199 ++++++++++++++++++++++++++++++ smart-home/BAUFORTSCHRITT.md | 24 +++- 2 files changed, 218 insertions(+), 5 deletions(-) create mode 100644 docs/projekte/klima-monitoring.md diff --git a/docs/projekte/klima-monitoring.md b/docs/projekte/klima-monitoring.md new file mode 100644 index 000000000..f69b99aa6 --- /dev/null +++ b/docs/projekte/klima-monitoring.md @@ -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: /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` | `/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 (~8–10 °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. diff --git a/smart-home/BAUFORTSCHRITT.md b/smart-home/BAUFORTSCHRITT.md index 727a62ec2..efd981650 100644 --- a/smart-home/BAUFORTSCHRITT.md +++ b/smart-home/BAUFORTSCHRITT.md @@ -74,7 +74,7 @@ esp-satellite-Knoten + Ölknoten + Garage-Decke — alle in InfluxDB `sensors`. ## 5. Klimatisierung — GEPLANT -**Kauf geplant (Kleinanzeigen):** **600 €** +**Kauf bestätigt (Kleinanzeigen):** **600 €** | Teil | Modell | |---|---| @@ -98,13 +98,27 @@ esp-satellite-Knoten + Ölknoten + Garage-Decke — alle in InfluxDB `sensors`. | 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)) | ~10–20 € (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** | ~80–120 € | Register-Set direkt am Innengerät; RS485 → USB → CT143/ioBroker | | **A — Intesis Modbus-Gateway** | ~150–200 € | 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 ~15–20 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 ~15–20 Register bei B, nicht 50. CZ-NSMB-Kompatibilität vor Kauf prüfen. ## 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` 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 5. Pumpen-Klemmen zuordnen (Try-and-Error an echten Pumpen)