Table des registres SunSpec Modbus : Puissance AC, SOC batterie et énergie pour toutes les marques solaires
SunSpec définit une disposition standard des registres Modbus pour les onduleurs solaires, permettant à une seule configuration de passerelle KNX Modbus de fonctionner avec plusieurs marques. Savoir quels registres contiennent la puissance AC, l'état de charge de la batterie et les totaux d'énergie – et connaître les différences de port et d'ID d'unité spécifiques aux marques – est le fondement de toute intégration solaire KNX.
SunSpec Alliance et la table des registres standard
La SunSpec Alliance est un consortium de fabricants de l'industrie solaire qui définit des mappages de registres Modbus standard. Tout onduleur étiqueté conforme SunSpec utilise les mêmes adresses de registre pour les mesures de base, quelle que soit la marque. Cette standardisation simplifie considérablement la configuration de la passerelle KNX Modbus lors de l'intégration de plusieurs marques d'onduleurs sur un même site.
Le modèle de base SunSpec commence au registre de maintien Modbus 40001 (adressage Modbus basé sur 1) ou à l'adresse de registre 40000 (basé sur 0). Ce bloc contient le nom du fabricant, la chaîne de modèle et la version du firmware sous forme de texte ASCII — utile pour vérifier que le bon appareil est connecté lors de la mise en service.
Modèle SunSpec 103 — registres clés de l'onduleur triphasé
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=StandbyRéférence du port et de l'ID d'unité spécifique à la marque
Bien que SunSpec standardise les adresses de registre, le port TCP Modbus et l'ID d'unité varient selon la marque. L'utilisation d'un mauvais port ou d'un mauvais ID d'unité est la cause la plus fréquente d'échec de mise en service de la passerelle KNX. Le tableau ci-dessous couvre les marques les plus courantes installées en Allemagne, aux Pays-Bas et au Benelux.
| Marque / Modèle | Port TCP | ID d'unité | Remarques |
|---|---|---|---|
| SolarEdge HD-Wave | 1502 | 1 | Activer dans l'application SE : Communication → Modbus TCP |
| KOSTAL PLENTICORE | 1502 | 71 | Modbus TCP activé par défaut |
| Fronius GEN24 Plus | 502 | 1 | Activer : Paramètres → Modbus → TCP |
| GoodWe ES / ET | 502 | 247 | ID d'unité par défaut 247 — certaines versions FW utilisent 1 |
| SMA Sunny Boy Storage | 502 | 3 | Activer via SMA Sunny Portal → Modbus |
| Sungrow SH series | 502 | 1 | Activer dans l'application iSolarCloud ou l'interface Web locale |
| Huawei SUN2000 | 6607 | 0 | Nécessite Smart Dongle — PAS le port 502 |
| Enphase IQ8 gateway | 80 (HTTP/JSON) | N/A | Enphase utilise l'API HTTP Envoy, pas Modbus |
Huawei SUN2000 note critique : Le Huawei SUN2000 utilise le port 6607 (pas le standard 502) et l'ID d'unité 0 (pas 1). C'est l'erreur de configuration la plus courante lors de l'intégration des onduleurs Huawei avec les passerelles KNX. Vérifiez toujours avec Modbus Poll avant de configurer la passerelle.
SunSpec Model 802 — registres de stockage batterie
SunSpec Model 802 définit des registres standard pour les systèmes de stockage batterie. Toutes les marques d'onduleurs n'implémentent pas Model 802 — vérifiez le manuel de l'onduleur ou le scan de modèle SunSpec (à partir du registre 40001) pour confirmer la présence du modèle batterie. Sinon, utilisez les registres propriétaires de la marque documentés ci-dessous.
SunSpec Model 802 — registres clés de stockage batterie
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 registersConfiguration de la passerelle KNX Modbus
Weinzierl 5010 et MDT SCN-MIG.01 sont les passerelles KNX Modbus TCP les plus couramment utilisées dans les projets KNX européens. Les deux prennent en charge plusieurs appareils Modbus et un mappage DPT flexible. Configurez chaque onduleur comme un appareil Modbus distinct avec son adresse IP, son port et son ID d'unité spécifiques à la marque.
Configuration Weinzierl 5010 pour onduleur SolarEdge
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
Facteurs d'échelle – l'erreur d'intégration la plus courante
SunSpec définit des registres de facteur d'échelle qui doivent être appliqués aux valeurs brutes des registres. Le facteur d'échelle est un entier signé représentant un multiplicateur de puissance de 10. Ne pas appliquer le facteur d'échelle entraîne des erreurs de 10x ou 100x dans les valeurs de puissance et d'énergie – un système mis en service semblera fonctionner mais rapportera des données incorrectes.
Application du facteur d'échelle – exemple de puissance AC
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
Vérification de la mise en service avec Modbus Poll
Avant de configurer la passerelle KNX, vérifiez la connexion Modbus TCP de l'onduleur et les valeurs des registres à l'aide de Modbus Poll (logiciel Windows gratuit). Cette étape détecte les erreurs de connexion, de port, d'ID d'unité et d'adresse de registre avant qu'elles ne se propagent dans la configuration de la passerelle KNX.
Étapes de vérification de la mise en service Modbus Poll
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
Astuce de lecture de registre uint32
Pour les registres 32 bits (énergie AC, puissance batterie), lisez 2 registres holding consécutifs. Modbus Poll les affiche séparément — combinez : (reg_n * 65536) + reg_n+1 pour uint32 big-endian. La plupart des passerelles KNX gèrent cela automatiquement lorsqu'elles sont configurées en type 32 bits.
Activation de Modbus sur les onduleurs
La plupart des onduleurs sont livrés avec Modbus TCP désactivé pour des raisons de sécurité. Activez-le via l'application du fabricant ou l'interface Web locale avant de tenter la connexion. SolarEdge nécessite la connexion installateur dans l'application SE installer. Fronius GEN24 active Modbus dans l'interface Web locale sous Paramètres.
Besoin d'un panneau solaire avec intégration KNX Modbus sur mesure ?
Nous concevons et fabriquons des armoires basse tension avec des passerelles Modbus TCP vérifiées SunSpec, un mappage DPT KNX pour la puissance CA et le SOC de la batterie, et une documentation de mise en service complète livrée testée sur votre site.
Demander un devis →