Feature: ShineDiag — portabler Vor-Ort-Diagnose-Gateway (Pi 3B)

Flask-App + mobile Web UI für Diagnose vor Ort ohne HAOS/MQTT.
Pi 3B: eth0 → ShineLAN-X (DHCP), wlan0 → Hotspot "ShineDiag".
Browser auf http://10.0.1.1: Modell wählen, alle Sensoren auslesen,
Rohdaten-Register-Dump, Export als JSON.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
retr0
2026-04-27 11:50:53 +02:00
parent a3e87da943
commit 391e615893
7 changed files with 529 additions and 1 deletions
+37 -1
View File
@@ -9,11 +9,30 @@
## Phase 2 (ShineBridge Add-on)
- [ ] Flash-Wizard — NuttX-Firmware via USB DFU direkt aus dem HA Web UI flashen (kein ST-Link)
- [ ] Persistente History — Sensorwerte über Add-on-Neustart hinaus speichern
- [x] Persistente History — SQLite in /data/history.db, 7 Tage Retention (v1.3.0)
- [ ] Weitere Growatt-Modelle — MOD 10000, SPH 10000 etc.
---
## ShineDiag — Portabler Vor-Ort-Diagnose-Gateway (Pi 3B)
Hardware: Raspberry Pi 3B (eth0 → ShineLAN-X, wlan0 → WiFi-Hotspot „ShineDiag")
### Pi-Netzwerk-Setup
- [ ] eth0: statische IP 10.0.0.1/24, dnsmasq DHCP → ShineLAN-X bekommt 10.0.0.100
- [ ] wlan0: hostapd Hotspot „ShineDiag", WPA2
- [ ] 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)
@@ -32,6 +51,23 @@
---
## Phase 4 — Messkonzept
Ziel: korrekte, widerspruchsfreie Energiebilanz im HA Energie-Dashboard.
### 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
- [ ] Alle Dashboard-Slots mit den richtigen Aggregat-Sensoren belegen
- [ ] Virtuelle Sensoren für berechnete Größen (Hausverbrauch) als MQTT-Sensor anlegen
- [ ] Prüfen ob `total_increasing` auf allen Energie-Sensoren korrekt gesetzt ist
---
## Erledigt
- [x] v1.0.0 — Grundfunktion: ShineLAN-X + Growatt MIC via Modbus TCP + MQTT