KOSTAL PLENTICORE G3

Three-phase hybrid solar inverter

PLENTICORE G3 is a 4.0 to 20 kW three-phase inverter that runs as a PV, hybrid or battery inverter. KOSTAL publishes a Modbus TCP register table and a SunSpec model list for it. Edge reads both over the inverter's LAN port. Most values are 32-bit floats in KOSTAL's default CDAB word order, so set the byte order before the first read.

KOSTAL PLENTICORE G3
  • Modbus TCP

Three-phase hybrid solar inverter

Ask an engineer

Compatibility

Compatible with EpiSensor Edge over Modbus TCP

KOSTAL's interface description revision 2.9 documents a Modbus TCP server on the inverter's Ethernet port, with FC03 holding registers for PV, battery, grid and energy-meter values and a SunSpec model chain. Edge reads it as a Modbus TCP client on the site network.

PLENTICORE G3 S, M and L (4.0 to 20 kW), using KOSTAL interface description revision 2.9 of 17 July 2026, valid from G3 software 3.07.00. Site check: read the product name and SoC at the start of commissioning and compare them with the inverter's web server. Read-only monitoring; KOSTAL's power, battery and MDC control registers stay with the site's energy manager.

Connect it with

For any PLENTICORE G3 connected to the site network through one of its two RJ45 LAN ports

  • Modbus
  • Edge
  • Platforms
Three-phase hybrid solar inverter
Interface
Gateway
Edge
Output
PLENTICORE G3PLENTICORE G3 Smart Communication Board LAN port
Protected EthernetSegmented LAN
ZGW-20 GatewayHosts Edge locally
EpiSensor EdgeEdge Modbus TCP client
Customer platformMQTT · API · files
Modbus TCP
Protected Ethernet
Runs locally
Optional onward data
Enable Modbus in the inverter's web server under Settings > Modbus / Sunspec (TCP), then point Edge at the inverter's IP address, TCP port 1502 and unit ID 71. Read FC03 holding registers only. Keep the port off the internet: KOSTAL's interface description says not to forward the Modbus port and to use a VPN for remote access. The customer-platform output is optional; Edge remains the local system of record.

Models

Download
ModelsInterfaceRoute into Edge
PLENTICORE S G3 (4.0, 5.5, 7.0 kW)2 x LAN, Wi-Fi, Modbus/SunSpec (TCP); DC3 is the optional battery inputModbus TCP on port 1502, unit ID 71. Battery values exist only when the battery input has been released and a KOSTAL-approved battery is connected.
PLENTICORE M G3 (8.5, 10, 12.5 kW) and PLENTICORE L G3 (15, 17.5, 20 kW)Same Smart Communication Board and register table as the S classSame route and registers. The power class string at register 800 tells the classes apart; the power upgrade levels do not change the map.
PLENTICORE plus G2, PLENTICORE BI G3 and PLENTICORE MP G3Covered by the same KOSTAL interface description, with footnoted differencesUse the same interface document, but take ratings from that model's own datasheet. Some registers, such as the overall software version at 58, apply only to named generations.

Specifications

The G3 comes in three basic power classes, S 4.0 kW, M 8.5 kW and L 15 kW, each with two optional paid power upgrades up to 7.0, 12.5 and 20 kW. It has three MPP trackers; DC3 can be released as a battery input for KOSTAL-approved high-voltage batteries.23

Power classes
S 4.0 / 5.5 / 7.0 kW, M 8.5 / 10 / 12.5 kW, L 15 / 17.5 / 20 kW rated AC power2
Grid connection
3N~, 230/400 V, 50 Hz2
Battery input
DC3, optional; 95 to 820 V working voltage2
Modbus TCP defaults
TCP port 1502, unit ID 71 (unit ID changeable)1
Function codes
FC03 read 1 to 125 registers; FC06 and FC16 are writes1
Byte order
Little-endian CDAB (default) or big-endian ABCD SunSpec1
SunSpec models
1, 103, 113, 120, 123, 160, 203 and 802, ending with 655351
Environment
IP65; -20 to 60 °C; up to 2000 m2

Interface

Documented measurements and integration boundaries for PLENTICORE G3.

  • Identity, FC03: product name at register 768 (hex 0300, String, 32 registers), power class at 800 (0x0320, String, 32), article number at 6 (String, 8), serial number at 14 (String, 8) and inverter state at 56 (0x0038, U32: 6 is FeedIn, 10 Standby, 15 Shutdown).
  • Inverter AC, Float in two registers: total AC active power at 172 (0x00AC) in W, voltage phase 1 at 158 in V, grid frequency at 152 in Hz, and total DC power at 100 (0x0064) in W.
  • Battery, Float: state of charge at 210 (0x00D2) in %, battery voltage at 216 in V, battery temperature at 214 in °C and battery charge (-) / discharge (+) current at 200 (0x00C8) in A. A U16 copy of SoC sits at 514 (0x0202) and actual battery charge/discharge power at 582 (0x0246) is S16 in W.
  • Battery energy, Float in Wh: total DC charge energy at 1046 (0x0416), total DC discharge energy at 1048, total AC charge energy grid to battery at 1054 and battery work capacity at 1068. State of health at 40428 (0x9DEC) is U16 in %, only where the battery reports it.
  • Connected energy meter, Float: total active power at 252 (0x00FC) in W. With the sensor at the grid connection (position 2), positive is power drawn from the grid and negative is feed-in; at home consumption (position 1), positive is house consumption.
  • PV and yield, Float: DC1 power at 260, DC2 at 270, DC3 at 280 in W; total yield at 320 (0x0140) in Wh. Home consumption from PV, battery and grid is at 116, 106 and 108 in W.
  • MDC plants from G3 software 3.06.10, read on the host inverter: plant SoC at 1547 (0x060B) and plant total battery power at 1549 (negative is charging), both Float.
  • Word order: Float, U32 and S32 values span two registers. The default byte order is little-endian (CDAB), so the second register holds the high half; register 5 reads 0 for CDAB and 1 for big-endian (ABCD) SunSpec mode.
  • Control registers exist: active and reactive power setpoints (533, 583, 585, 832), external battery management (1024 to 1044), battery limitation (1280 to 1288) and MDC plant control (1557 to 1573). Edge does not write them; control needs the site owner's and KOSTAL's agreement and is outside this guide.

Assessment

PLENTICORE G3 S, M and L with KOSTAL interface description revision 2.9 (G3 software 3.07.00 and later) over local Modbus TCP. Plant control, battery control and SunSpec writes are excluded.

InteroperabilityWell supported
KOSTAL publishes the port, unit ID, function codes, byte order, data types and a register table with hex and decimal addresses, plus a SunSpec model list.1
AccuracySupported with conditions
PV, battery, AC and energy-meter values are separate registers with units. Meter sign depends on the configured sensor position, and battery values depend on the released battery input.12
SecurityLimited
The interface description documents no client authentication for Modbus TCP, and the same port accepts power and battery writes. KOSTAL tells users to fit a firewall, avoid port forwarding and use a VPN.1
ReliabilitySupported with conditions
The datasheet gives IP65, -20 to 60 °C and backup operation limits. The interface advises a polling cycle above 1 second and leaves the cycle time to be validated on the target system.12
RuggednessWell supported
IP65, indoor and outdoor environmental categories, UV resistance and 4 to 100 % relative humidity are published.2
ScalabilitySupported with conditions
Each inverter is its own Modbus TCP server, and FC03 reads up to 125 registers. MDC host inverters add plant SoC and plant power for up to four client inverters from G3 software 3.06.10.1
LifecycleWell supported
The interface description carries a revision, release date and valid firmware per generation, and footnotes the software version each newer register needs. The battery list carries its own version.13

Setup

Read battery SoC at register 210 in CDAB order

KOSTAL interface description revision 2.9 lists Act. state of Charge SoC at hex 0xD2, decimal 210, as a Float of 2 registers, read with FC03, on TCP port 1502 and unit ID 71. The bytes below are a synthetic decoder check, not a captured inverter reply.

Target
Inverter IP address, TCP port 1502, unit ID 71 in the MBAP header
Address convention
Send the table address as the start address: 0x00D2 is decimal 210. Section 2.1.4 repeats the Modbus specification's own example (registers 108 to 110 at start 0x006B); it does not shift the KOSTAL table.
Request PDU
03 00 D2 00 02: FC03, start 0x00D2, quantity 2
Synthetic response PDU, CDAB
03 04 00 00 42 97: register 210 is 0x0000 and register 211 is 0x4297
Decode
CDAB puts the high half in the second register, so the float is 0x42970000 = 75.5 %. In ABCD mode the same value arrives as 03 04 42 97 00 00.
Cross-check
03 02 02 00 01 reads the U16 SoC at 514 (0x0202); a synthetic reply 03 02 00 4B is 75 %. The two SoC values agree to within the integer step.
Acceptance
Keep the points when the decoded SoC matches the inverter web server at the same moment. A read that is one register late, or decoded in the wrong word order, gives a very small or very large number instead.

Acceptance: A matching SoC confirms port, unit ID, address convention and word order together. Add the meter and AC power points next, and check the meter sign under a known import.

  1. Identify the inverter and its software

    Record the nameplate power class, the software version shown in the web server and the connected battery. This guide uses KOSTAL interface description revision 2.9 of 17 July 2026, valid from G3 software 3.07.00. Registers added in later software carry a footnote with the version they need, such as the battery limitation block from G3 software 03.05.

  2. Enable Modbus and set the byte order

    Enable Modbus in the inverter web server under Settings > Modbus / Sunspec (TCP). The same page sets the byte order: little-endian (CDAB) is the default, big-endian (ABCD) is the SunSpec setting. Note which one the site uses, because every Float read depends on it. Changing it can break another client already reading the inverter.

  3. Connect Edge

    Create a Modbus TCP connection in Edge to the inverter's IP address, port 1502 and unit ID 71. Use FC03 for every read. KOSTAL advises a polling cycle longer than 1 second, so poll at 5 to 10 seconds for monitoring.

  4. Read identity, then SoC

    Confirm the product name at 768 and the power class at 800, both ASCII strings of 32 registers, with a commissioning Modbus tool. Then add SoC at 210 to Edge as a two-register Float, as in the worked check. Send the table hex address as the start address: SoC is 0x00D2. Decode CDAB by putting the second register first, and compare the result with the SoC on the inverter web server.

  5. Add battery, meter and PV points

    Add battery voltage 216, current 200 and power 582, meter power 252, AC power 172 and DC power 100. Record the energy meter's sensor position, because it decides what the sign of register 252 means. Read each Float as one two-register request so the halves come from the same sample, and keep a failed poll stale rather than zero.