
Kostal Plenticore Ess
The Kostal Plenticore is a three-phase hybrid PV inverter with integrated battery management, designed for residential and small commercial solar-plus-storage installations. This template communicates over Modbus TCP and reads inverter state, energy manager mode, per-phase grid voltages, grid frequency, reactive power, battery current, state of charge, battery temperature, battery voltage, active power, and battery charge and discharge power limits. The write register enables external active power setpoints for demand-response or self-consumption control. Importing this template into your ModbusCloud portal gives you live operational insight and remote control capability in one place.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 17, read and write
- Brand
- Kostal
- Last updated
Registers (17)
16 read, 1 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| inverter_state | Read | ||||
| energy_manager_mode | Read | ||||
| frequency | Hz | Read | |||
| grid_voltage_l1 | V | Read | |||
| grid_voltage_l2 | V | Read | |||
| grid_voltage_l3 | V | Read | |||
| reactive_power | var | Read | |||
| battery_current | A | Read | |||
| soc | % | Read | |||
| battery_temperature | °C | Read | |||
| battery_voltage | V | Read | |||
| max_apparent_power | W | Read | |||
| active_power | W | Read | |||
| charge_power | W | Read | |||
| max_charge_power | W | Read | |||
| max_discharge_power | W | Read | |||
| set_active_power | W | Write |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Monitor battery state of charge continuously to detect capacity fade across seasons.
- Track per-phase grid voltages to verify grid balance and spot wiring irregularities.
- Alert on inverter state transitions, such as unexpected Throttled or Shutdown codes.
- Compare charge power against max charge power to verify battery management limits are respected.
- Report battery temperature trends over time to identify thermal stress in summer months.
Installation
Enable Modbus TCP on the Kostal Plenticore via the inverter web interface or display menu under the Modbus/SunSpec communication section; note the default port is 1502 and the default Unit ID is 71.
Connect the Kostal Plenticore to the same LAN segment as the ModbusCloud Gateway using a standard Ethernet cable to the RJ45 port on the Smart Communication Board.
In your ModbusCloud portal, add a new gateway, import the Kostal Plenticore Ess template, set the host address to the inverter IP, port to 1502, and Unit ID to 71.
Spot-check register 210 (state of charge) and register 152 (frequency) in the live data view to confirm values are plausible before enabling any alerts or write operations.
Things to watch for
All float registers return garbage or enormous values. Why?
The Kostal Plenticore defaults to Little-Endian (CDAB) byte order for float registers. If your client or the ModbusCloud Gateway is configured for Big-Endian (ABCD), every float32 value will be nonsensical. In the inverter web interface, go to the Modbus/SunSpec settings and verify or change the byte order to match your client configuration.
Modbus TCP connects but the inverter state register reads zero constantly.
Register 56 returns 0 when the inverter is in the Off state, which is correct. However, if other registers are also zero during daylight, Modbus TCP may not actually be enabled. Confirm the Modbus TCP toggle is active in the inverter communication settings, not just that a network connection is present on port 1502.
Writing set_active_power has no effect. What is required first?
External battery control via Modbus must be explicitly enabled by a qualified installer in the inverter settings under the battery management section, selecting the Modbus TCP option. Without this, write commands are accepted by the TCP stack but ignored by the inverter. Also note that write register values are not stored persistently; they reset after any inverter power cycle or reboot.
Is it safe to write large values to the active power setpoint register?
Use caution: the set_active_power register directly controls battery charge and discharge behavior. Sending setpoints outside the inverter operational limits or conflicting with max_charge_power or max_discharge_power can cause protection trips. Always write setpoints incrementally and monitor active_power and soc in real time. Consult the Kostal Modbus interface documentation and your installer before deploying automated write logic.
Want to see how it works?











