SunSpec Modbus Registerkarte: AC-Leistung, Batterie-SOC und Energie über Solarmarken hinweg
SunSpec definiert ein standardisiertes Modbus-Registerlayout für Solarwechselrichter, sodass eine einzige KNX-Modbus-Gateway-Konfiguration über mehrere Marken hinweg funktioniert. Zu wissen, welche Register die AC-Leistung, den Batterieladezustand und die Energiesummen enthalten – und die markenspezifischen Unterschiede bei Port und Unit-ID zu kennen – ist die Grundlage jeder Solar-KNX-Integration.
SunSpec Alliance und die standardisierte Registerkarte
Die SunSpec Alliance ist ein Konsortium von Herstellern der Solarindustrie, das standardisierte Modbus-Registerkarten definiert. Jeder Wechselrichter, der als SunSpec-konform gekennzeichnet ist, verwendet unabhängig von der Marke dieselben Registeradressen für Kernmessungen. Diese Standardisierung vereinfacht die KNX-Modbus-Gateway-Konfiguration erheblich, wenn mehrere Wechselrichtermarken an einem Standort integriert werden.
Das SunSpec-Basismodell beginnt beim Modbus-Holding-Register 40001 (1-basierte Modbus-Adressierung) oder Registeradresse 40000 (0-basiert). Dieser Block enthält den Herstellernamen, die Modellbezeichnung und die Firmware-Version als ASCII-Text – nützlich zur Überprüfung, ob das richtige Gerät während der Inbetriebnahme angeschlossen ist.
SunSpec-Modell 103 – Schlüsselregister des Dreiphasen-Wechselrichters
All registers: Holding Registers (FC3), 1-based addressing
40001-40002: SunSpec ID (0x5375 0x6e53 = "SunS") — verify connectivity
40003: Base model length
40004-40021: Manufacturer name (ASCII, 32 chars)
40022-40037: Model string (ASCII, 32 chars)
SunSpec Model 103 (Three-Phase Inverter):
40083: AC Power (int16, W) — current output power
40085: AC Power Scale Factor (int16, typically -1 or -2)
Apply: actual_W = reg40083 * 10^(reg40085)
40089: AC Frequency (uint16, Hz, scale factor at 40090)
Typical value: 5000 = 50.00 Hz with SF -2
40093-40094: AC Energy (uint32, Wh) — lifetime production
40095: AC Energy Scale Factor (int16)
40101: DC Voltage (uint16, V, scale factor at 40102)
Typical: 3500 with SF -1 = 350.0V
40107: Operating state (uint16):
1=Off, 2=Sleeping, 3=Starting, 4=Running, 5=Throttled
6=ShuttingDown, 7=Fault, 8=StandbyMarkenspezifische Port- und Unit-ID-Referenz
Während SunSpec die Registeradressen standardisiert, variieren der Modbus-TCP-Port und die Unit-ID je nach Marke. Die Verwendung des falschen Ports oder der falschen Unit-ID ist die häufigste Ursache für fehlgeschlagene KNX-Gateway-Inbetriebnahmen. Die folgende Tabelle umfasst die gängigsten Marken, die in Deutschland, den Niederlanden und Benelux installiert sind.
| Marke / Modell | TCP-Port | Unit-ID | Hinweise |
|---|---|---|---|
| SolarEdge HD-Wave | 1502 | 1 | Aktivieren in der SE-App: Kommunikation → Modbus TCP |
| KOSTAL PLENTICORE | 1502 | 71 | Modbus TCP standardmäßig aktiviert |
| Fronius GEN24 Plus | 502 | 1 | Aktivieren: Einstellungen → Modbus → TCP |
| GoodWe ES / ET | 502 | 247 | Standard-Geräte-ID 247 — einige FW-Versionen verwenden 1 |
| SMA Sunny Boy Storage | 502 | 3 | Aktivierung über SMA Sunny Portal → Modbus |
| Sungrow SH-Serie | 502 | 1 | Aktivierung in iSolarCloud-App oder lokaler Weboberfläche |
| Huawei SUN2000 | 6607 | 0 | Erfordert Smart Dongle — NICHT Port 502 |
| Enphase IQ8 Gateway | 80 (HTTP/JSON) | N/A | Enphase verwendet Envoy HTTP-API, nicht Modbus |
Huawei SUN2000 wichtiger Hinweis: Der Huawei SUN2000 verwendet Port 6607 (nicht den Standard 502) und Unit-ID 0 (nicht 1). Dies ist der häufigste Konfigurationsfehler bei der Integration von Huawei-Wechselrichtern mit KNX-Gateways. Überprüfen Sie dies immer mit Modbus Poll, bevor Sie das Gateway konfigurieren.
SunSpec Modell 802 — Batteriespeicherregister
SunSpec Modell 802 definiert Standardregister für Batteriespeichersysteme. Nicht alle Wechselrichtermarken implementieren Modell 802 — überprüfen Sie das Wechselrichterhandbuch oder den SunSpec-Modellscan (beginnend bei Register 40001), um zu bestätigen, ob das Batteriemodell vorhanden ist. Wenn nicht, verwenden Sie die unten dokumentierten proprietären Markenregister.
SunSpec Modell 802 — wichtige Batteriespeicherregister
SunSpec Model 802 (Battery Storage):
40255: Battery SOC (uint16, %) — state of charge 0-100
40258-40259: Battery Power (int32, W)
Positive = charging, Negative = discharging
40261: Battery Voltage (uint16, 0.01V)
40263: Battery Current (int16, 0.01A)
40265: Battery Temperature (int16, 0.1°C)
40267: Battery State (uint16):
1=Disconnected, 2=Initialising, 3=Connected
4=Standby, 5=SOC Protection, 6=Fault, 7=Charging
8=Discharging
Proprietary battery registers (where Model 802 absent):
SolarEdge: reg 0xE140 (battery level %), 0xE18D (battery power W)
Fronius GEN24: reg 40352 (today generation float32 Wh)
reg 40358 (grid power float32 W)
KOSTAL PLENTICORE: register 154 (battery SOC, uint16, 1%)
Configure 2-register reads for int32 values:
In KNX gateway: set data type to 32-bit signed integer
High word first (big-endian) for all SunSpec int32 registersKNX Modbus Gateway Konfiguration
Weinzierl 5010 und MDT SCN-MIG.01 sind die am häufigsten verwendeten KNX Modbus TCP Gateways in europäischen KNX-Projekten. Beide unterstützen mehrere Modbus-Geräte und flexibles DPT-Mapping. Konfigurieren Sie jeden Wechselrichter als separates Modbus-Gerät mit seiner herstellerspezifischen IP-Adresse, Port und Unit-ID.
Weinzierl 5010 Konfiguration für SolarEdge Wechselrichter
Weinzierl KNX Modbus Gateway 5010 — ETS5/6 plug-in config: Device 1 — SolarEdge HD-Wave: IP: 192.168.1.50 Port: 1502 Unit ID: 1 Protocol: Modbus TCP Poll task 1 — AC Power: Register: 40082 (0-based = 40083 - 1) Type: int16, signed Scale: read register 40084 (SF), apply: value * 10^SF KNX GA: 6/0/1 DPT: 9.001 (2-byte float, kW — divide by 1000 in gateway) Poll interval: 10 seconds Poll task 2 — Battery SOC: Register: 0xE140 (SolarEdge proprietary, 0-based) Type: uint16 KNX GA: 6/0/3 DPT: 5.001 (1-byte %, 0-100) Poll interval: 60 seconds Poll task 3 — AC Energy lifetime: Registers: 40092-40093 (2 registers, uint32) Type: 32-bit unsigned integer, big-endian KNX GA: 6/0/4 DPT: 13.013 (4-byte signed, Wh) Poll interval: 300 seconds
Skalierungsfaktoren – der häufigste Integrationsfehler
SunSpec definiert Skalierungsfaktorregister, die auf die rohen Registerwerte angewendet werden müssen. Der Skalierungsfaktor ist ein vorzeichenbehafteter Integer, der einen Multiplikator als Zehnerpotenz darstellt. Wird der Skalierungsfaktor nicht angewendet, führt dies zu 10x- oder 100x-Fehlern bei Leistungs- und Energiewerten – ein in Betrieb genommenes System scheint zu funktionieren, meldet aber falsche Daten.
Anwendung des Skalierungsfaktors – AC-Leistungsbeispiel
Register 40083 raw value: 3500 (int16) Register 40085 SF value: -1 (int16) Actual AC power = 3500 * 10^(-1) = 350.0 W Without SF: gateway would report 3500W (10x error) With SF correctly applied: 350W (correct) Weinzierl 5010 auto-SF option: Enable "Read Scale Factor register" in poll task config Gateway reads SF register automatically, applies to value Outputs scaled float to KNX DPT 9.001 MDT SCN-MIG.01: Manually enter the SF value as a fixed divisor If SF is always -1 for your inverter: enter divisor 10 Not suitable if SF value changes dynamically Best practice: verify SF value with Modbus Poll tool first Read register 40085 — confirm it returns -1 or -2 Only then configure gateway with that fixed SF Most residential inverters have fixed SF values
Inbetriebnahme-Überprüfung mit Modbus Poll
Überprüfen Sie vor der Konfiguration des KNX-Gateways die Modbus-TCP-Verbindung und die Registerwerte des Wechselrichters mit Modbus Poll (kostenlose Windows-Software). Dieser Schritt erfasst Verbindungs-, Port-, Unit-ID- und Registeradressfehler, bevor sie in die KNX-Gateway-Konfiguration gelangen.
Modbus Poll Inbetriebnahme-Prüfschritte
1. Open Modbus Poll → Connection → Connect Mode: Modbus TCP/IP IP: <inverter IP or Smart Dongle IP> Port: <brand-specific port from table above> Slave ID: <brand-specific unit ID> 2. Setup → Read/Write Definition: Function: 03 (Read Holding Registers) Start address: 40000 (0-based = reg 40001) Quantity: 130 (reads registers 40001-40130) Click OK 3. Verify register 40001-40002 contains SunSpec ID: Should read: 21843 and 28243 (0x5375 and 0x6E53) Confirms SunSpec-compliant device at this address 4. Find register 40083 — AC Power raw value Compare with inverter display ± 5W Read register 40085 for scale factor 5. Apply scale factor: raw * 10^SF = actual watts Verify result matches inverter LCD or app display 6. Only configure KNX gateway after confirming: - Correct IP, port, unit ID connects successfully - AC power register matches inverter display - Battery SOC register (40255 or brand-specific) is correct
Tipp zum Lesen von uint32-Registern
Bei 32-Bit-Registern (AC-Energie, Batterieleistung) lesen Sie 2 aufeinanderfolgende Holding-Register. Modbus Poll zeigt sie getrennt an – kombinieren: (reg_n * 65536) + reg_n+1 für Big-Endian uint32. Die meisten KNX-Gateways verarbeiten dies automatisch, wenn sie als 32-Bit-Typ konfiguriert sind.
Aktivieren von Modbus an Wechselrichtern
Die meisten Wechselrichter werden mit deaktiviertem Modbus TCP ausgeliefert. Aktivieren Sie es über die Hersteller-App oder das lokale Webinterface, bevor Sie eine Verbindung versuchen. SolarEdge erfordert den Installateur-Login in der SE-Installateur-App. Fronius GEN24 aktiviert Modbus im lokalen Web-UI unter Einstellungen.
Benötigen Sie ein Solarmodul mit KNX-Modbus-Integration nach Maß?
Wir entwerfen und bauen Niederspannungs-Schaltschränke mit SunSpec-verifizierten Modbus-TCP-Gateways, KNX-DPT-Mapping für AC-Leistung und Batterie-SOC sowie vollständige Inbetriebnahmedokumentation, getestet an Ihrem Standort geliefert.
Angebot anfordern →