Docs: ROADMAP auf v1.5.3 aktualisiert
This commit is contained in:
+55
-52
@@ -1,78 +1,81 @@
|
|||||||
# ShineBridge — Roadmap
|
# ShineBridge — Roadmap
|
||||||
|
|
||||||
## In Arbeit / Bekannte Bugs
|
## Offen / Bekannte Einschränkungen
|
||||||
|
|
||||||
- [ ] SDM-630 Gesamtwirkleistung zeigt falschen Wert → Fix in v1.2.1 (aus Phasensumme berechnet)
|
- [ ] MQTT Dauerreconnect bei hohem Datenvolumen — rc=5 (Credentials / Broker-Last)
|
||||||
|
- [ ] Kathrein EVSE-Register 0x0060 (Charging-State) nur lesbar wenn Auto angeschlossen
|
||||||
|
- [ ] Growatt-only: Netzbezug nicht messbar (nur Einspeisung via `power_to_grid`)
|
||||||
|
- [ ] Port 8099 offen im LAN (`host_network: true`) — noch keine Authentifizierung
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Phase 2 (ShineBridge Add-on)
|
## Phase 2 — ShineBridge Add-on
|
||||||
|
|
||||||
- [ ] Flash-Wizard — NuttX-Firmware via USB DFU direkt aus dem HA Web UI flashen (kein ST-Link)
|
- [x] Persistente History — SQLite `/data/history.db`, 7 Tage Retention (v1.3.0)
|
||||||
- [x] Persistente History — SQLite in /data/history.db, 7 Tage Retention (v1.3.0)
|
- [x] Konfig-Export/Import — JSON im Einstellungen-Tab (v1.3.0)
|
||||||
|
- [x] Goodwe GW10KN-ET — via goodwe-Bibliothek UDP/8899, 39 Sensoren (v1.4.0)
|
||||||
|
- [x] Kathrein Wallbox — Modbus TCP, 18 Sensoren Meter + EVSE + EMS (v1.5.0)
|
||||||
|
- [x] EMS-Controller — PV-Überschussladen + Zwangsladen-Fallback (v1.5.0)
|
||||||
|
- [x] EMS Web UI — Konfiguration direkt im Gerätedialog (v1.5.1)
|
||||||
|
- [x] grid_power Sensor — intuitive Anzeige positiv=Netzbezug (v1.5.2)
|
||||||
|
- [x] EMS Oszillations-Fix — has_pv prüft Gesamt-PV inkl. Ladeleistung (v1.5.3)
|
||||||
|
- [ ] Flash-Wizard — NuttX-Firmware via USB DFU direkt aus dem HA Web UI flashen
|
||||||
- [ ] Weitere Growatt-Modelle — MOD 10000, SPH 10000 etc.
|
- [ ] Weitere Growatt-Modelle — MOD 10000, SPH 10000 etc.
|
||||||
|
- [ ] Port 8099 absichern — optionale Basic-Auth für Web UI
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ShineDiag — Portabler Vor-Ort-Diagnose-Gateway (Pi 3B)
|
## Phase 3 — Hardware-Erweiterungen
|
||||||
|
|
||||||
Hardware: Raspberry Pi 3B (eth0 → ShineLAN-X, wlan0 → WiFi-Hotspot „ShineDiag")
|
### Goodwe WiFi-Stick (WIFILAN_2.0 / HF-LPT230)
|
||||||
|
- [x] UDP/8899 Protokoll via goodwe-Bibliothek integriert (v1.4.0)
|
||||||
|
- [ ] JTAG-Analyse (TP15/TP16/TP17) — eigene Firmware wenn JTAG-eFuse nicht gesetzt
|
||||||
|
- [ ] RS485-Direktzugriff via 18-Pin-Stecker (USR-TCP232-304 getestet, kein COM-Port)
|
||||||
|
|
||||||
### Pi-Netzwerk-Setup
|
### ShineLAN-X
|
||||||
- [ ] eth0: statische IP 10.0.0.1/24, dnsmasq DHCP → ShineLAN-X bekommt 10.0.0.100
|
- [x] dapboot + NuttX produktiv (v1.0.0)
|
||||||
- [ ] wlan0: hostapd Hotspot „ShineDiag", WPA2
|
- [ ] OTA-Update via USB DFU direkt aus HA Web UI (Flash-Wizard)
|
||||||
- [ ] Autostart ShineDiag beim Boot (systemd)
|
|
||||||
|
|
||||||
### ShineDiag Web App (`tools/shinediag/`)
|
|
||||||
- [ ] Flask-App: verbindet sich mit ShineLAN-X, liest alle Register
|
|
||||||
- [ ] Mobile-freundliche UI: Modell wählen, alle Sensorwerte anzeigen
|
|
||||||
- [ ] Rohdaten-Ansicht: Register-Adresse, Hex, Dezimal
|
|
||||||
- [ ] Fault-Codes decodiert (Growatt Status-Register)
|
|
||||||
- [ ] Export als JSON für Kundendokumentation
|
|
||||||
- [ ] Pi-Setup-Script (install.sh)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Phase 3 — Multi-Brand / Multi-Hardware
|
|
||||||
|
|
||||||
### Goodwe WiFi Stick (ESP32 + LAN)
|
|
||||||
- [ ] Hardware analysieren: LAN-Chip identifizieren (W5500? LAN8720?)
|
|
||||||
- [ ] Firmware: NuttX auf ESP32 + mbusd → Modbus TCP Gateway (wie ShineLAN-X)
|
|
||||||
- [ ] Goodwe Register-Maps in `inverters.py` ergänzen (SEMS-Protokoll, gut dokumentiert)
|
|
||||||
- [ ] Goodwe-Modelle im Web UI auswählbar
|
|
||||||
|
|
||||||
### ShineWifi-X als ShineBridge-Gateway
|
### ShineWifi-X als ShineBridge-Gateway
|
||||||
- [ ] Schlankes ESP8266-Projekt: RS485 → Modbus TCP Bridge (Arduino/ESP-IDF)
|
- [ ] Schlankes ESP8266-Projekt: RS485 → Modbus TCP Bridge
|
||||||
- [ ] Dann: ShineWifi-X ebenfalls in ShineBridge Web UI verwaltbar (statt separater ESPHome-YAMLs)
|
- [ ] Im ShineBridge Web UI verwaltbar (statt separater ESPHome-YAMLs)
|
||||||
|
|
||||||
### Langfristig
|
|
||||||
- [ ] ShineBridge als universelle Multi-Brand-Plattform (Growatt, Goodwe, weitere)
|
|
||||||
- [ ] Hardware-Erkennung automatisch im Web UI
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Phase 4 — Messkonzept
|
## Phase 4 — Energiebilanz & Dashboard
|
||||||
|
|
||||||
Ziel: korrekte, widerspruchsfreie Energiebilanz im HA Energie-Dashboard.
|
- [x] Aggregat-Gerät „ShineBridge Gesamt" (v1.2.0)
|
||||||
|
- [x] grid_power korrekt für Multi-Wechselrichter-Anlagen (v1.5.2)
|
||||||
|
- [x] EMS bezieht Wallbox-Ladeleistung in PV-Budget ein (v1.5.2)
|
||||||
|
- [ ] Hausverbrauch als berechneter Sensor: `PV + Netzbezug - Einspeisung - Bat_Ladung + Bat_Entladung`
|
||||||
|
- [ ] Virtuelle MQTT-Sensoren für HA Energie-Dashboard automatisch anlegen
|
||||||
|
- [ ] Ladekosten-Berechnung: kWh je Session × Arbeitspreis
|
||||||
|
|
||||||
### Messkonzept definieren
|
---
|
||||||
- [ ] Messstellenplan: welcher Sensor misst was (SDM-630 = Netz, SPH = Batterie+AC, MIC = PV)
|
|
||||||
- [ ] Hausverbrauch berechnen: `Hausverbrauch = PV_gesamt + Netzbezug - Einspeisung - Bat_Ladung + Bat_Entladung`
|
|
||||||
- [ ] Vorzeichen-Konvention einheitlich festlegen (SDM-630 negativ = Einspeisung ✓)
|
|
||||||
- [ ] Sensorüberschneidungen klären: SPH meldet AC-Leistung UND Netzleistung — was ist was?
|
|
||||||
|
|
||||||
### HA Energie-Dashboard
|
## ShineDiag — Vor-Ort-Diagnose
|
||||||
- [ ] Alle Dashboard-Slots mit den richtigen Aggregat-Sensoren belegen
|
|
||||||
- [ ] Virtuelle Sensoren für berechnete Größen (Hausverbrauch) als MQTT-Sensor anlegen
|
- [x] WiFi-Hotspot „ShineDiag" (Pi 3B), http://10.0.1.1 (v2.0)
|
||||||
- [ ] Prüfen ob `total_increasing` auf allen Energie-Sensoren korrekt gesetzt ist
|
- [x] Alle Sensoren, Rohdaten-Register-Dump, JSON-Export (v2.0)
|
||||||
|
- [x] Pi-Setup-Script `install.sh` (v2.0)
|
||||||
|
- [ ] Goodwe-Unterstützung in ShineDiag (UDP/8899)
|
||||||
|
- [ ] Kathrein Wallbox in ShineDiag (EMS-Status, Ladezustand)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Erledigt
|
## Erledigt
|
||||||
|
|
||||||
- [x] v1.0.0 — Grundfunktion: ShineLAN-X + Growatt MIC via Modbus TCP + MQTT
|
| Version | Datum | Inhalt |
|
||||||
- [x] v1.1.3 — Security: XSS-Fix, Flask-Binding, API-Validierung
|
|---|---|---|
|
||||||
- [x] v1.1.4 — Fix: Flask zurück auf 0.0.0.0 (HA Ingress)
|
| v1.0.0 | 2024 | Grundfunktion: ShineLAN-X + Growatt MIC, Modbus TCP + MQTT |
|
||||||
- [x] v1.1.5 — Feature: Eastron SDM-630 Support + Float32 Decode
|
| v1.1.3 | 2024 | Security: XSS-Fix, Flask-Binding, API-Validierung |
|
||||||
- [x] v1.2.0 — Feature: Aggregat-Gerät + Energie-Dashboard Sensoren
|
| v1.1.4 | 2024 | Fix: Flask zurück auf 0.0.0.0 (HA Ingress) |
|
||||||
- [x] v1.2.1 — Fix: SDM-630 Gesamtwirkleistung aus Phasensumme berechnet
|
| v1.1.5 | 2024 | Feature: Eastron SDM-630 + Float32 Decode |
|
||||||
|
| v1.2.0 | 2024 | Feature: Aggregat-Gerät + Energie-Dashboard Sensoren |
|
||||||
|
| v1.2.1 | 2024 | Fix: SDM-630 Gesamtwirkleistung aus Phasensumme |
|
||||||
|
| v1.3.0 | 2024 | Feature: SQLite History, Konfig-Export/Import |
|
||||||
|
| v1.4.0 | 2025 | Feature: Goodwe GW10KN-ET via UDP/8899, 39 Sensoren |
|
||||||
|
| v1.5.0 | 2026-04-28 | Feature: Kathrein Wallbox + EMS-Controller |
|
||||||
|
| v1.5.1 | 2026-04-28 | Feature: EMS-Konfiguration im Web UI |
|
||||||
|
| v1.5.2 | 2026-04-28 | Fix: grid_power Anzeige, Aggregat, EMS Ladeleistung |
|
||||||
|
| v1.5.3 | 2026-04-28 | Fix: EMS Oszillation (has_pv = Gesamt-PV) |
|
||||||
|
|||||||
Reference in New Issue
Block a user