Initiale Konfiguration

ESPHome-Configs für Growatt MIC 1500 TL-X und SPH 5000 TL3-BH-UP
mit Modbus-RTU Integration über den Growatt SuniStick.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-07 21:30:04 +02:00
commit cc67e9843c
4 changed files with 822 additions and 0 deletions
@@ -0,0 +1,183 @@
esphome:
name: growatt-mic-1500
friendly_name: Growatt MIC 1500 TL-X
esp8266:
board: esp07s
logger:
api:
encryption:
key: "HIER_API_KEY_EINTRAGEN" # 32-Byte Base64-Key, wird in der ESPHome-UI automatisch generiert
ota:
- platform: esphome
password: "HIER_OTA_PASSWORT_EINTRAGEN" # Beliebiges Passwort für Over-the-Air Updates
wifi:
ssid: "HIER_WLAN_NAME_EINTRAGEN" # Name deines WLANs (SSID)
password: "HIER_WLAN_PASSWORT_EINTRAGEN" # Passwort deines WLANs
ap:
ssid: "Growatt MIC 1500 TL-X Fallback Hotspot"
password: "HIER_HOTSPOT_PASSWORT_EINTRAGEN" # Passwort für den Notfall-Hotspot (min. 8 Zeichen)
captive_portal:
time:
- platform: homeassistant
id: homeassistant_time
output:
# Blue Led
- id: light_bl
platform: gpio
pin: 16
# Green Led
- id: light_gr
platform: gpio
pin: 0
# Red Led
- id: light_rd
platform: gpio
pin: 2
uart:
id: mod_bus
tx_pin: 1
rx_pin: 3
baud_rate: 115200
modbus:
id: modbus1
uart_id: mod_bus
modbus_controller:
- id: growatt
# the Modbus device addr
address: 0x1
modbus_id: modbus1
setup_priority: -10
sensor:
- platform: modbus_controller
name: "DcPower"
address: 5
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "DcVoltage"
address: 3
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "DcInputCurrent"
address: 4
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "AcFrequency"
address: 37
register_type: "read"
unit_of_measurement: Hz
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
name: "AcVoltage"
address: 38
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "AcOutputCurrent"
address: 39
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "AcPower"
address: 40
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "EnergyToday"
address: 53
register_type: "read"
unit_of_measurement: kWh
device_class: energy
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "EnergyTotal"
address: 55
register_type: "read"
unit_of_measurement: kWh
state_class: total_increasing
device_class: energy
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Temperature"
address: 93
register_type: "read"
unit_of_measurement: C
device_class: temperature
icon: mdi:thermometer
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
@@ -0,0 +1,387 @@
esphome:
name: growatt-sph5000
friendly_name: Growatt SPH 5000 TL3-BH-UP
esp8266:
board: esp07s
logger:
api:
encryption:
key: "HIER_API_KEY_EINTRAGEN" # 32-Byte Base64-Key, wird in der ESPHome-UI automatisch generiert
ota:
- platform: esphome
password: "HIER_OTA_PASSWORT_EINTRAGEN" # Beliebiges Passwort für Over-the-Air Updates
wifi:
ssid: "HIER_WLAN_NAME_EINTRAGEN" # Name deines WLANs (SSID)
password: "HIER_WLAN_PASSWORT_EINTRAGEN" # Passwort deines WLANs
ap:
ssid: "Growatt-SPH5000 Fallback Hotspot"
password: "HIER_HOTSPOT_PASSWORT_EINTRAGEN" # Passwort für den Notfall-Hotspot (min. 8 Zeichen)
captive_portal:
time:
- platform: homeassistant
id: homeassistant_time
output:
- id: light_bl
platform: gpio
pin: 16
- id: light_gr
platform: gpio
pin: 0
- id: light_rd
platform: gpio
pin: 2
uart:
id: mod_bus
tx_pin: 1
rx_pin: 3
baud_rate: 115200
modbus:
id: modbus1
uart_id: mod_bus
modbus_controller:
- id: growatt
address: 1
modbus_id: modbus1
setup_priority: -10
sensor:
# --- PV Eingang ---
- platform: modbus_controller
name: "PV1 Voltage"
address: 3
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:solar-panel
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "PV1 Current"
address: 4
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:solar-panel
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "PV1 Power"
address: 5
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:solar-panel
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "PV2 Voltage"
address: 7
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:solar-panel
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "PV2 Current"
address: 8
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:solar-panel
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "PV2 Power"
address: 9
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:solar-panel
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
# --- AC Ausgang / Netz ---
- platform: modbus_controller
name: "AC Output Power Total"
address: 35
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:flash
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Grid Frequency"
address: 37
register_type: "read"
unit_of_measurement: Hz
device_class: frequency
icon: mdi:sine-wave
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
name: "Grid Voltage L1"
address: 38
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Grid Current L1"
address: 39
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Grid Voltage L2"
address: 42
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Grid Current L2"
address: 43
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Grid Voltage L3"
address: 46
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Grid Current L3"
address: 47
register_type: "read"
unit_of_measurement: A
device_class: current
icon: mdi:flash
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
# --- Energie (PV Erzeugung) ---
- platform: modbus_controller
name: "Energy Today"
address: 53
register_type: "read"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
icon: mdi:solar-power
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Energy Total"
address: 55
register_type: "read"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
icon: mdi:solar-power
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
# --- Temperatur ---
- platform: modbus_controller
name: "Inverter Temperature"
address: 93
register_type: "read"
unit_of_measurement: "°C"
device_class: temperature
icon: mdi:thermometer
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
# --- Batterie ---
- platform: modbus_controller
name: "Battery Discharge Power"
address: 1009
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:battery-minus
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Battery Charge Power"
address: 1011
register_type: "read"
unit_of_measurement: W
device_class: power
icon: mdi:battery-plus
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Battery Voltage"
address: 1013
register_type: "read"
unit_of_measurement: V
device_class: voltage
icon: mdi:battery
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Battery State of Charge"
address: 1014
register_type: "read"
unit_of_measurement: "%"
device_class: battery
icon: mdi:battery
value_type: U_WORD
accuracy_decimals: 0
- platform: modbus_controller
name: "Battery Temperature"
address: 1040
register_type: "read"
unit_of_measurement: "°C"
device_class: temperature
icon: mdi:thermometer
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
# --- Batterie Energie (kWh Zähler für Energie-Dashboard) ---
- platform: modbus_controller
name: "Battery Discharge Total"
address: 1054
register_type: "read"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
icon: mdi:battery-minus
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Battery Charge Total"
address: 1058
register_type: "read"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
icon: mdi:battery-plus
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
# --- Netzenergie Import / Export (kWh Zähler für Energie-Dashboard) ---
- platform: modbus_controller
name: "Energy Import Total"
address: 1046
register_type: "read"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
icon: mdi:transmission-tower-import
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
name: "Energy Export Total"
address: 1050
register_type: "read"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
icon: mdi:transmission-tower-export
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.1
+83
View File
@@ -0,0 +1,83 @@
# Growatt SPH 5000 TL3-BH-UP — ESPHome Konfiguration
Modbus-RTU Integration des Growatt SPH 5000 TL3-BH-UP (3-phasiger Hybrid-Wechselrichter mit Batterie) über einen Growatt SuniStick mit ESPHome-Firmware.
---
## Modbus-Register Übersicht
Alle Register sind **Input Register** (Modbus Funktionscode 04, `register_type: "read"`).
Modbus-Adresse des Geräts: `0x01`
### PV Eingang
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| PV1 Voltage | 3 | U_WORD | 0.1 | V |
| PV1 Current | 4 | U_WORD | 0.1 | A |
| PV1 Power | 5 | U_DWORD | 0.1 | W |
| PV2 Voltage | 7 | U_WORD | 0.1 | V |
| PV2 Current | 8 | U_WORD | 0.1 | A |
| PV2 Power | 9 | U_DWORD | 0.1 | W |
### AC Ausgang / Netz
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| AC Output Power Total | 35 | U_DWORD | 0.1 | W |
| Grid Frequency | 37 | U_WORD | **0.01** | Hz |
| Grid Voltage L1 | 38 | U_WORD | 0.1 | V |
| Grid Current L1 | 39 | U_WORD | 0.1 | A |
| Grid Voltage L2 | 42 | U_WORD | 0.1 | V |
| Grid Current L2 | 43 | U_WORD | 0.1 | A |
| Grid Voltage L3 | 46 | U_WORD | 0.1 | V |
| Grid Current L3 | 47 | U_WORD | 0.1 | A |
> **Wichtig:** Grid Frequency hat Multiplikator `0.01` — der Rohwert ist z.B. `5000` = 50,00 Hz.
### Energie (PV Erzeugung)
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| Energy Today | 53 | U_DWORD | 0.1 | kWh |
| Energy Total | 55 | U_DWORD | 0.1 | kWh |
### Temperatur
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| Inverter Temperature | 93 | U_WORD | 0.1 | °C |
### Batterie — Momentanleistung
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| Battery Discharge Power | 1009 | U_DWORD | 0.1 | W |
| Battery Charge Power | 1011 | U_DWORD | 0.1 | W |
| Battery Voltage | 1013 | U_WORD | 0.1 | V |
| Battery State of Charge | 1014 | U_WORD | 1 | % |
| Battery Temperature | 1040 | U_WORD | 0.1 | °C |
### Batterie — Energie (für Energie-Dashboard)
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| Battery Discharge Total | 1054 | U_DWORD | 0.1 | kWh |
| Battery Charge Total | 1058 | U_DWORD | 0.1 | kWh |
> **Wichtig:** 1009/1011 = Momentanleistung in **Watt**. 1054/1058 = kumulierte Energie in **kWh** für das HA Energie-Dashboard.
### Netzenergie Import / Export (für Energie-Dashboard)
| Name | Adresse | Typ | Multiplikator | Einheit |
|------|---------|-----|---------------|---------|
| Energy Import Total | 1046 | U_DWORD | 0.1 | kWh |
| Energy Export Total | 1050 | U_DWORD | 0.1 | kWh |
---
## Hinweise
- **U_DWORD** = 32-Bit-Wert über 2 aufeinanderfolgende Register. ESPHome liest diese automatisch korrekt, wenn `value_type: U_DWORD` gesetzt ist.
- Passwörter und API-Keys sind durch `#` ersetzt und müssen vor dem Einsatz angepasst werden.
- Diese Config wurde für den SPH 5000 TL3-BH-UP verifiziert. Andere SPH-Modelle (SPH 3000, SPH 6000 usw.) verwenden dieselbe Registerstruktur.
+169
View File
@@ -0,0 +1,169 @@
# Growatt Wechselrichter → Home Assistant (ohne Cloud)
Dieses Repository enthält ESPHome-Konfigurationen für Growatt Wechselrichter, die über den **Growatt SuniStick** (ESP8266) per Modbus RTU direkt in Home Assistant OS integriert werden — vollständig ohne die Growatt-App oder Cloud.
---
## Funktionsprinzip
```
PV-Anlage
[Growatt Wechselrichter]
│ RS485 / Modbus RTU
[Growatt SuniStick] ← ESP8266 mit ESPHome-Firmware
│ Wi-Fi
[Home Assistant OS]
```
Der SuniStick steckt im RS485-Port des Wechselrichters und kommuniziert per **Modbus RTU** (115200 Baud). ESPHome liest die Register aus und stellt sie als Sensoren in HAOS bereit. Keine Cloud, keine App, kein Intermediär.
---
## Unterstützte Modelle
| Modell | Typ | Phasen | Batterie | Status |
|--------|-----|--------|----------|--------|
| [Growatt MIC 1500 TL-X](./Growatt%20MIC%201500%20TL-X/) | String-WR | 1-phasig | Nein | Getestet ✓ |
| [Growatt SPH 5000 TL3-BH-UP](./Growatt%20SPH%205000%20TL3/) | Hybrid-WR | 3-phasig | Ja | Getestet ✓ |
Andere Growatt-Modelle verwenden teilweise dieselben Register — die Konfigurationen können als Ausgangsbasis dienen, die Adressen müssen aber anhand des jeweiligen Datenblatts geprüft werden.
---
## Hardware: Growatt SuniStick
Der SuniStick ist ein offizielles Growatt-Zubehör und enthält einen **ESP8266-Chip** (Board: `esp07s`). Er wird direkt in den RS485-Port des Wechselrichters gesteckt.
**UART-Pinbelegung (intern):**
- TX: GPIO 1
- RX: GPIO 3
- Baud: 115200
**LED-Pinbelegung:**
- Blau: GPIO 16
- Grün: GPIO 0
- Rot: GPIO 2
---
## SuniStick flashen
> Der SuniStick muss einmalig mit ESPHome-Firmware geflasht werden. Danach sind OTA-Updates möglich.
### Voraussetzungen
- [ESPHome](https://esphome.io) installiert (z.B. als HAOS Add-on oder per pip)
- USB-zu-Serial-Adapter (3,3 V!) zum erstmaligen Flashen
- SuniStick geöffnet (4 Schrauben) und mit dem Adapter verbunden
### Verkabelung zum Flashen
| SuniStick | USB-Serial-Adapter |
|-----------|--------------------|
| TX | RX |
| RX | TX |
| GND | GND |
| 3,3 V | 3,3 V |
GPIO 0 muss beim Start auf GND gezogen werden (Flash-Modus).
### YAML vorbereiten
1. Passende YAML aus diesem Repository kopieren
2. Die vier markierten Platzhalter durch eigene Werte ersetzen:
```yaml
api:
encryption:
key: "HIER_API_KEY_EINTRAGEN" # In der ESPHome-UI auf "Generate" klicken → Key kopieren
ota:
- platform: esphome
password: "HIER_OTA_PASSWORT_EINTRAGEN" # Frei wählbar, z.B. "meinOTApasswort123"
wifi:
ssid: "HIER_WLAN_NAME_EINTRAGEN" # Genauer WLAN-Name (Groß-/Kleinschreibung beachten)
password: "HIER_WLAN_PASSWORT_EINTRAGEN" # WLAN-Passwort
ap:
password: "HIER_HOTSPOT_PASSWORT_EINTRAGEN" # Min. 8 Zeichen — für den Notfall-Hotspot
```
> Der API-Key wird in der ESPHome-UI automatisch generiert, wenn man eine neue Config anlegt. Alternativ kann man einen beliebigen 32-Byte Base64-String verwenden.
### Flashen (Erstinstallation)
```bash
esphome run growatt-mic-1500.yaml
```
oder über die ESPHome-Web-UI im HAOS Add-on.
Nach dem ersten Flash sind alle weiteren Updates per **OTA über Wi-Fi** möglich — kein Aufschrauben mehr nötig.
---
## Integration in Home Assistant
Nach dem ersten Start verbindet sich ESPHome automatisch mit HAOS. Home Assistant erkennt das Gerät per mDNS und zeigt eine Benachrichtigung zur Integration an.
**Einstellungen → Geräte & Dienste → ESPHome → Gerät hinzufügen**
Alle konfigurierten Sensoren erscheinen danach automatisch als Entitäten.
### Energie-Dashboard
Für das HA Energie-Dashboard werden kumulative kWh-Sensoren benötigt (`state_class: total_increasing`). Diese sind in den Konfigurationen bereits korrekt gesetzt.
**Einstellungen → Energie → Konfigurieren:**
| Dashboard-Feld | Sensor (SPH) | Sensor (MIC) |
|----------------|-------------|--------------|
| Solar-Erzeugung | `Energy Total` | `EnergyTotal` |
| Netzbezug | `Energy Import Total` | — |
| Netzeinspeisung | `Energy Export Total` | — |
| Batterie laden | `Battery Charge Total` | — |
| Batterie entladen | `Battery Discharge Total` | — |
---
## Modbus-Adressen: Modellunterschiede
Growatt verwendet je nach Wechselrichter-Serie unterschiedliche Register-Maps. Die Adressen aus einer Config lassen sich **nicht 1:1 auf andere Modelle übertragen**.
| Serie | Typische Modelle | Besonderheit |
|-------|-----------------|--------------|
| MIC | MIC 6002000 TL-X | 1-phasig, kein Batterie-Bereich |
| MIN | MIN 25006000 TL-XH | 1-phasig, Hybrid |
| SPH | SPH 30006000 TL3-BH | 3-phasig, Hybrid, Batterie im 1000er-Bereich |
| MOD | MOD 500015000 TL3-XH | 3-phasig, Hybrid, abweichende Map |
---
## Struktur des Repositories
```
.
├── README.md ← Diese Datei
├── Growatt MIC 1500 TL-X/
│ └── Growatt MIC 1500 TL-X.yaml ← ESPHome Config
└── Growatt SPH 5000 TL3/
├── Growatt SPH 5000 TL3-BH-UP.yaml
└── README.md ← Modbus-Registertabelle
```
---
## Beitragen
Wer eine eigene Growatt-Config ergänzen möchte:
1. Neuen Ordner nach Schema `Growatt MODELL/` anlegen
2. YAML-Config mit korrekten Modbus-Adressen (aus dem offiziellen Datenblatt oder verifiziert) einfügen
3. README mit Registertabelle dazulegen (Vorlage: [Growatt SPH 5000 TL3/README.md](./Growatt%20SPH%205000%20TL3/README.md))
---
## Lizenz
Frei verwendbar und anpassbar. Passwörter, API-Keys und WLAN-Daten sind in allen Configs durch sprechende Platzhalter (`HIER_..._EINTRAGEN`) markiert — diese müssen vor dem Einsatz individuell gesetzt werden.