Docs: README auf v1.5.3 aktualisiert (Goodwe, Kathrein, EMS, grid_power)

This commit is contained in:
retr0
2026-04-28 13:40:26 +02:00
parent ffc6dfa6f7
commit 13638d3826
+51 -15
View File
@@ -1,6 +1,6 @@
# ShineBridge # ShineBridge
Lokale Solar-Wechselrichter-Integration für Home Assistant — ohne Cloud, ohne Hersteller-App. Modbus TCP via ShineLAN-X, MQTT Discovery, persistente History. Lokale Solar-Wechselrichter-Integration für Home Assistant — ohne Cloud, ohne Hersteller-App. Modbus TCP via ShineLAN-X, MQTT Discovery, persistente History, PV-Überschussladen.
> **Repository:** `https://gitea.bitfire.work/retr0/shinebridge` > **Repository:** `https://gitea.bitfire.work/retr0/shinebridge`
@@ -10,7 +10,7 @@ Lokale Solar-Wechselrichter-Integration für Home Assistant — ohne Cloud, ohne
| Komponente | Beschreibung | Status | | Komponente | Beschreibung | Status |
|---|---|---| |---|---|---|
| **ShineBridge Add-on** | HAOS Add-on: Modbus TCP → MQTT Discovery | ✅ v1.3.0 | | **ShineBridge Add-on** | HAOS Add-on: Modbus TCP / UDP → MQTT Discovery | ✅ v1.5.3 |
| **ShineLAN-X Firmware** | NuttX auf STM32F103: Modbus RTU ↔ TCP | ✅ Produktiv | | **ShineLAN-X Firmware** | NuttX auf STM32F103: Modbus RTU ↔ TCP | ✅ Produktiv |
| **ShineWifi-X ESPHome** | ESPHome-Configs für ESP8266-Stick | ✅ Getestet | | **ShineWifi-X ESPHome** | ESPHome-Configs für ESP8266-Stick | ✅ Getestet |
| **ShineDiag** | Portables Vor-Ort-Diagnose-Tool (Pi 3B) | ✅ Bereit | | **ShineDiag** | Portables Vor-Ort-Diagnose-Tool (Pi 3B) | ✅ Bereit |
@@ -23,24 +23,31 @@ Lokale Solar-Wechselrichter-Integration für Home Assistant — ohne Cloud, ohne
``` ```
Wechselrichter / Energiezähler Wechselrichter / Energiezähler
USB oder RS485 (Modbus RTU) Modbus RTU (RS485 / USB)
[ShineLAN-X] ← STM32F103, NuttX, Modbus RTU ↔ TCP [ShineLAN-X] ← STM32F103, NuttX, Modbus RTU ↔ TCP
│ Modbus TCP Port 502 (LAN) │ Modbus TCP Port 502 (LAN)
│ UDP/8899 (Goodwe)
│ Modbus TCP Port 502 (Kathrein Wallbox)
[ShineBridge Add-on] [ShineBridge Add-on]
├── Modbus TCP lesen (pymodbus) ├── Modbus TCP / Goodwe UDP / Kathrein Wallbox lesen
├── EMS-Controller: PV-Überschussladen + Zwangsladen
├── MQTT Discovery → Home Assistant Sensoren ├── MQTT Discovery → Home Assistant Sensoren
├── Aggregat-Gerät „ShineBridge Gesamt" ├── Aggregat-Gerät „ShineBridge Gesamt"
├── Persistente History (SQLite, 7 Tage) ├── Persistente History (SQLite, 7 Tage)
└── Web UI: Geräte verwalten, Live-Daten, Sparklines └── Web UI: Geräte verwalten, Live-Daten, Sparklines, EMS-Konfig
``` ```
### Features ### Features
- **Multi-Gerät** — beliebig viele Wechselrichter + Zähler, jeder als eigenes HA-Gerät - **Multi-Gerät** — beliebig viele Wechselrichter + Zähler + Wallbox, jeder als eigenes HA-Gerät
- **MQTT Discovery** — Sensoren erscheinen automatisch in HA - **MQTT Discovery** — Sensoren erscheinen automatisch in HA
- **Aggregat-Gerät** — summiert alle Geräte für das HA Energie-Dashboard - **Aggregat-Gerät** — summiert alle Geräte für das HA Energie-Dashboard
- **Persistente History** — Messwerte überleben Add-on-Neustarts (SQLite, 7 Tage) - **Persistente History** — Messwerte überleben Add-on-Neustarts (SQLite, 7 Tage)
- **Sparklines** — Live-Graphen der letzten 5 Minuten pro Sensor - **Sparklines** — Live-Graphen der letzten 5 Minuten pro Sensor
- **EMS-Controller** — PV-Überschussladen der Kathrein Wallbox, Zwangsladen-Fallback
- **Konfig-Export/Import** — JSON im Einstellungen-Tab
- **Kein Cloud-Zwang** — vollständig lokal - **Kein Cloud-Zwang** — vollständig lokal
### Unterstützte Geräte ### Unterstützte Geräte
@@ -50,7 +57,36 @@ Wechselrichter / Energiezähler
| Growatt MIC 1500/2000 TL-X | PV 1-phasig | 10 | Modbus FC04 | | Growatt MIC 1500/2000 TL-X | PV 1-phasig | 10 | Modbus FC04 |
| Growatt SPH 5000 TL3-BH-UP | Hybrid 3-phasig + Batterie | 28 | Modbus FC04 | | Growatt SPH 5000 TL3-BH-UP | Hybrid 3-phasig + Batterie | 28 | Modbus FC04 |
| Growatt MOD 6000 TL3-XH | PV 3-phasig | 17 | Modbus FC04 | | Growatt MOD 6000 TL3-XH | PV 3-phasig | 17 | Modbus FC04 |
| Eastron SDM-630 | Drehstromzähler | 16 | Modbus FC04, Float32 | | Eastron SDM-630 | Drehstromzähler | 16 | Modbus FC03, Float32 |
| Goodwe GW10KN-ET | Hybrid 3-phasig + Batterie | 39 | UDP/8899 (goodwe lib) |
| Kathrein Wallbox | EVSE + Meter + EMS | 18 | Modbus FC03, TCP/502 |
### EMS — PV-Überschussladen (Kathrein Wallbox)
Der EMS-Controller regelt den Ladestrom der Kathrein Wallbox anhand des PV-Überschusses:
1. **PV-Laden** — Überschuss ≥ Mindestleistung (Standard: 1400 W = 6 A × 230 V): Ladestrom = verfügbare PV-Leistung / Phasen
2. **Warten** — Kein ausreichender Überschuss: Laden pausiert, Timer läuft
3. **Zwangsladen** — Nach Timeout ohne PV (Standard: 4 h): Laden mit Maximalstrom bis zur Zielzeit (Standard: 06:00 Uhr)
Konfigurierbar pro Gerät im Web UI:
| Parameter | Beschreibung | Standard |
|---|---|---|
| Mindest-PV-Überschuss | Untergrenze für PV-Laden | 1400 W |
| Timeout ohne PV | Stunden bis Zwangsladen | 4 h |
| Vollladung bis | Zielzeit für Zwangsladen | 06:00 |
| Anzahl Phasen | 1 / 2 / 3-phasig | 3 |
> **Hinweis:** Die EMS-Funktion muss in der Kathrein easyOperate-App aktiviert sein.
### Netzleistung (grid_power)
Der Sensor `grid_power` (Goodwe) zeigt die Netzleistung intuitiv:
- **Positiv** = Netzbezug (Strom vom Netz)
- **Negativ** = Einspeisung (Strom ins Netz)
Bei reinen Growatt-Anlagen (ohne Goodwe) wird `power_to_grid` als Proxy verwendet (nur Einspeisung bekannt).
### Installation ### Installation
@@ -77,7 +113,8 @@ SWD-Pinbelegung: `PA13=SWDIO PA14=SWCLK GND 3.3V`
**Schritt 3 — Gerät konfigurieren** **Schritt 3 — Gerät konfigurieren**
Im Web UI → „+ Gerät hinzufügen": Im Web UI → „+ Gerät hinzufügen":
- Name, Modell, IP des ShineLAN-X, MQTT Topic-Präfix - Name, Modell, IP, Port, Modbus-Adresse, MQTT Topic-Präfix, Abfrageintervall
- Bei Kathrein Wallbox: EMS-Parameter konfigurieren
Sensoren erscheinen danach unter **Einstellungen → Geräte & Dienste → MQTT**. Sensoren erscheinen danach unter **Einstellungen → Geräte & Dienste → MQTT**.
@@ -88,10 +125,10 @@ Das Aggregat-Gerät „ShineBridge Gesamt" stellt folgende Sensoren bereit:
| Sensor | Beschreibung | | Sensor | Beschreibung |
|---|---| |---|---|
| PV Gesamtleistung | Summe aller PV-Eingänge (W) | | PV Gesamtleistung | Summe aller PV-Eingänge (W) |
| AC Gesamtleistung | Summe aller AC-Ausgänge (W) | | Netzleistung | Netzbezug (+) / Einspeisung () am Hausanschluss (W) |
| Netzleistung | Netzbezug/Einspeisung via SDM-630 (W) |
| Netzbezug / Einspeisung Gesamt | kWh-Zähler für Energie-Dashboard | | Netzbezug / Einspeisung Gesamt | kWh-Zähler für Energie-Dashboard |
| Batterie Ladezustand Ø | Durchschnitt aller Batterien (%) | | Batterie Ladezustand Ø | Durchschnitt aller Batterien (%) |
| Batterie Lade-/Entladeleistung | Summe (W) |
### History API ### History API
@@ -188,8 +225,11 @@ shinebridge/
│ ├── config.yaml │ ├── config.yaml
│ ├── Dockerfile │ ├── Dockerfile
│ └── src/ │ └── src/
│ ├── main.py # Flask, Poll-Threads, REST API │ ├── main.py # Flask, Poll-Threads, REST API, Aggregation
│ ├── modbus_client.py # Modbus TCP, Float32-Dekodierung │ ├── modbus_client.py # Modbus TCP, Float32-Dekodierung
│ ├── goodwe_client.py # Goodwe UDP/8899 via goodwe-Bibliothek
│ ├── wallbox_client.py # Kathrein Wallbox Modbus TCP
│ ├── ems_controller.py # PV-Überschussladen + Zwangsladen
│ ├── mqtt_publisher.py # MQTT Discovery + Aggregat │ ├── mqtt_publisher.py # MQTT Discovery + Aggregat
│ ├── inverters.py # Register-Maps aller Geräte │ ├── inverters.py # Register-Maps aller Geräte
│ ├── history.py # SQLite Persistenz │ ├── history.py # SQLite Persistenz
@@ -201,10 +241,6 @@ shinebridge/
├── ShineWifi-X/ ← ESPHome Configs ├── ShineWifi-X/ ← ESPHome Configs
├── tools/ ├── tools/
│ └── shinediag/ ← Vor-Ort-Diagnose-Tool │ └── shinediag/ ← Vor-Ort-Diagnose-Tool
│ ├── diagnose.py
│ ├── web/index.html
│ └── setup/ # Pi-Konfiguration + install.sh
├── ROADMAP.md
└── repository.yaml └── repository.yaml
``` ```