Beide Lösungen vollständig dokumentiert: ShineLAN-X+HAOS Add-on (primär, produktiv seit 2026-04-26) und ShineWifi-X ESPHome. Flash-Anleitung, Hardware-Pinbelegung, Modbus-Register, Repo-Struktur. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.4 KiB
Growatt Wechselrichter → Home Assistant (ohne Cloud)
Lokale Integration von Growatt Wechselrichtern in Home Assistant OS — vollständig ohne Growatt-App oder Cloud. Dieses Repository enthält zwei unabhängige Lösungen je nach Hardware:
| Hardware | Lösung | Status |
|---|---|---|
| Growatt ShineLAN-X (LAN-Stick, STM32) | NuttX-Firmware + HAOS Add-on | ✅ Produktiv |
| Growatt ShineWifi-X (WLAN-Stick, ESP8266) | ESPHome-Konfigurationen | ✅ Getestet |
Lösung 1: ShineLAN-X + HAOS Add-on (empfohlen)
Der Growatt ShineLAN-X ist ein LAN-Monitoring-Stick mit einem STM32F103-Mikrocontroller. Er steckt im USB-Port des Wechselrichters und kommuniziert via Modbus RTU.
Wie es funktioniert
Growatt Wechselrichter
│ USB (Modbus RTU)
[ShineLAN-X] ← STM32F103 mit NuttX-Firmware
│ Modbus TCP Port 502 (Ethernet)
[HAOS Add-on]
├── liest Sensordaten per Modbus TCP
├── publiziert via MQTT Discovery → Home Assistant Sensoren
└── Web UI (Wechselrichter verwalten, Live-Daten, Verlaufsgraphen)
Features
- Mehrere Wechselrichter — beliebig viele, jeder mit eigenem HA-Gerät
- MQTT Discovery — Sensoren erscheinen automatisch in HA (kein manuelles Anlegen)
- Web UI — Wechselrichter hinzufügen/bearbeiten, Live-Daten mit Sparklines (5 Min)
- OTA-Updates — NuttX-Firmware via USB DFU aktualisierbar (kein ST-Link nötig)
- Kein Cloud-Zwang — alles lokal im Heimnetz
Unterstützte Wechselrichter-Modelle
| Modell | Typ | Sensoren |
|---|---|---|
| Growatt MIC 1500/2000 TL-X | 1-phasig | 10 |
| Growatt SPH 5000 TL3-BH-UP | 3-phasig + Batterie | 28 |
| Growatt MOD 6000 TL3-XH | 3-phasig | 17 |
Installation (HAOS Add-on)
Schritt 1 — NuttX auf den ShineLAN-X flashen (einmalig, ST-Link nötig)
# dapboot Bootloader (0x08000000)
~/.platformio/packages/tool-stm32duino/stlink/st-flash write \
ShineLAN-X/releases/dapboot.bin 0x08000000
# NuttX Firmware (0x08002000)
~/.platformio/packages/tool-stm32duino/stlink/st-flash write \
ShineLAN-X/releases/nuttx-mbusd-shinelanx-dfu.bin 0x08002000
SWD-Pinbelegung: PA13=SWDIO, PA14=SWCLK, GND, 3.3V
Schritt 2 — Add-on in Home Assistant installieren
- Einstellungen → Add-ons → Add-on-Store → ⋮ → Repositories
- URL eintragen:
https://gitea.bitfire.work/retr0/Growatt-Wechselrichter-HAOS - „Growatt ShineLAN-X" → Installieren
- MQTT-Zugangsdaten in der Add-on-Konfiguration eintragen
- Starten → Web UI öffnen → Wechselrichter hinzufügen
Schritt 3 — Wechselrichter im Web UI konfigurieren
Im Tab „Wechselrichter" → „+ Wechselrichter hinzufügen":
- Name (z.B. „Dach Süd")
- Modell auswählen
- IP-Adresse des ShineLAN-X
- MQTT Topic-Präfix (z.B.
growatt/dach)
Sensoren erscheinen danach automatisch in HA unter Einstellungen → Geräte & Dienste → MQTT.
Flash-Layout NuttX
0x08000000 dapboot (7 KB) ← Bootloader, ermöglicht OTA via USB DFU
0x08002000 NuttX (93 KB) ← Modbus RTU ↔ TCP Gateway auf Port 502
Hardware ShineLAN-X
| Komponente | Details |
|---|---|
| MCU | STM32F103RC (256 kB Flash, 64 kB RAM) |
| Ethernet | ENC28J60 (SPI2) |
| USB | PA11=D−, PA12=D+, PA8=Pullup |
| Debug UART | USART1, PA9=TX, PA10=RX, 115200 Baud |
| SWD | PA13=SWDIO, PA14=SWCLK |
| LEDs | PC7 (blau intern), PB1 (rot), PB0 (grün), PC5 (blau RGB) |
Lösung 2: ShineWifi-X (ESPHome)
Der Growatt ShineWifi-X ist ein WLAN-Monitoring-Stick mit ESP8266. Er steckt im RS485-Port des Wechselrichters. ESPHome liest die Register direkt aus und meldet sie an Home Assistant.
Growatt Wechselrichter
│ RS485 / Modbus RTU
[ShineWifi-X] ← ESP8266 mit ESPHome-Firmware
│ WLAN
[Home Assistant OS] ← native ESPHome-Integration
Unterstützte Modelle (ShineWifi-X)
| Modell | YAML |
|---|---|
| Growatt MIC 1500 TL-X | ShineWifi-X/Growatt MIC 1500 TL-X/ |
| Growatt MIC 2000 TL-X | ShineWifi-X/Growatt MIC 2000 TL-X/ |
| Growatt SPH 5000 TL3-BH-UP | ShineWifi-X/Growatt SPH 5000 TL3/ |
| Growatt MOD 6000 TL3-XH | ShineWifi-X/Growatt MOD 6000 TL3-XH/ |
ShineWifi-X flashen
Erstinstallation benötigt einen USB-zu-Serial-Adapter (3,3 V). Danach OTA über WLAN möglich.
- YAML aus dem passenden Modell-Ordner kopieren
- WLAN-Zugangsdaten und API-Key eintragen
- Erstinstallation via seriell:
esphome run ShineWifi-X/Growatt\ MIC\ 1500\ TL-X/*.yaml
UART-Pinbelegung ShineWifi-X: TX→GPIO1, RX→GPIO3, Baud 115200
Repository-Struktur
.
├── README.md
├── haos-addon/ ← HAOS Add-on (ShineLAN-X)
│ ├── config.yaml # Add-on Manifest
│ ├── Dockerfile
│ ├── build.yaml
│ └── src/
│ ├── main.py # Flask + Poll-Threads
│ ├── modbus_client.py # pymodbus Modbus TCP
│ ├── mqtt_publisher.py # MQTT Discovery
│ ├── inverters.py # Register-Definitionen
│ └── web/index.html # Web UI
├── ShineLAN-X/
│ ├── firmware/ # Arduino-Stack (aufgegeben, rx=0)
│ └── releases/
│ ├── nuttx-mbusd-shinelanx.bin # NuttX ohne DFU
│ └── nuttx-mbusd-shinelanx-dfu.bin # NuttX mit dapboot (empfohlen)
├── ShineWifi-X/ ← ESPHome Configs
│ ├── Growatt MIC 1500 TL-X/
│ ├── Growatt MIC 2000 TL-X/
│ ├── Growatt SPH 5000 TL3/
│ └── Growatt MOD 6000 TL3-XH/
└── shinelanx-modbus/ ← mwalle NuttX Board-Support
└── contrib/dapboot/dapboot.bin
Modbus-Registerübersicht (Growatt, FC04)
| Register | Sensor | Modelle | Scale |
|---|---|---|---|
| 3 | PV Spannung | alle | ×0.1 V |
| 4 | PV Strom | alle | ×0.1 A |
| 5–6 | PV Leistung | alle | ×0.1 W |
| 37 | Netz-Frequenz | alle | ×0.01 Hz |
| 38 | Netz-Spannung | alle | ×0.1 V |
| 40–41 | AC Ausgangsleistung | alle | ×0.1 W |
| 53–54 | Energie Heute | alle | ×0.1 kWh |
| 55–56 | Energie Gesamt | alle | ×0.1 kWh |
| 93 | Temperatur | alle | ×0.1 °C |
| 1009–1058 | Batterie + Netz | SPH | ×0.1 |
Lizenz
Frei verwendbar und anpassbar. Keine Garantie für Richtigkeit der Modbus-Register — immer gegen das offizielle Growatt-Datenblatt des jeweiligen Modells prüfen.