---
title: "Kostal PLENTICORE plus"
description: "Kostal PLENTICORE plus hybrid PV inverter connected to TapHome via Modbus TCP. PV production monitoring, battery management and home consumption breakdown."
url: "https://taphome.com/en/compatibility/kostalplenticore/"
language: en
lastmod: 2026-10-31
generator: hugo
ai:
  topics: ["modbus-tcp","inverter","solar","pv","battery-storage","sunspec","ethernet"]
  questions: ["How to integrate Kostal PLENTICORE plus with TapHome?","What does the Kostal PLENTICORE TapHome template monitor?","How to connect Kostal PLENTICORE via Modbus TCP to TapHome?","How to enable Modbus TCP on a Kostal PLENTICORE inverter?","What byte order setting is required for the Kostal PLENTICORE template?","Can TapHome monitor home consumption breakdown from PV, battery, and grid?"]
---

# Kostal PLENTICORE plus

Communication: Modbus TCP

- [Kostal Solar Electric Website](https://www.kostal-solar-electric.com)

> Network address
> 
> TapHome reaches this device at the address entered on import. Give the device a fixed address — an IP reservation in the router, or its mDNS name if it supports one — otherwise the integration stops working when the router changes the address.
> 
> [Network Preparation](https://taphome.com/en/docs/setup/network-preparation/)

## Integration guide

The Kostal PLENTICORE plus is a hybrid PV inverter with optional battery storage. TapHome connects to the inverter via Modbus TCP over Ethernet, providing comprehensive monitoring of PV production, battery status, home consumption breakdown by energy source, and grid powermeter readings.

The template is compatible with the PLENTICORE plus (G1, G2, G3), PLENTICORE MP G3, and PIKO IQ inverters, which share the same Modbus register map.

## Network connection

The PLENTICORE has an RJ45 Ethernet port (100 Mbit) on the Smart Communication Board. Connect it to the same local network as TapHome Core using a standard Ethernet cable.

- **Protocol:** Modbus TCP
- **Port:** 1502 (non-standard — not 502)
- **Default Unit-ID:** 71
- **Byte order:** Little-endian (CDAB), the inverter's default — leave it unchanged

> [!WARNING]
> The default TCP port is **1502**, not the standard Modbus port 502. Ensure TapHome is configured to use port 1502.

## Configuration

### Enabling Modbus communication

Modbus TCP must be explicitly activated on the inverter. Navigate to the inverter's web interface or display menu:

1. Open **Settings** on the inverter
2. Go to **Modbus/Sunspec (TCP)**
3. Enable the Modbus interface
4. Leave **Byte Order** at **Little-Endian (CDAB)**, the inverter's default. The TapHome template (revision 1.2 and later) reads LittleEndianFloat data types. Revision 1.1 and older read BigEndianFloat and needed Big-Endian (ABCD); if you switched the inverter to Big-Endian for that version, switch it back after importing the current template

The Unit-ID defaults to 71 and can be modified if multiple inverters share the same network.

When importing the template in TapHome, provide:

- **IP Address** — the inverter's IP on the local network
- **Slave ID** — Modbus Unit-ID (default: 71)

## Device capabilities

The template exposes 22 read-only sensors organized into the following functional groups.

### PV production

- **Total DC Power** — total instantaneous power from all PV strings combined (W)

### Battery monitoring

- **Battery State of Charge** — float-precision battery SOC (%)
- **Battery SOC (integer)** — integer battery SOC from a separate U16 register, coarser than the float value
- **Battery Charge/Discharge Current** — actual battery charge or discharge current (A)
- **Battery Temperature** — battery pack temperature (°C)
- **Battery Cycles** — total number of charge/discharge cycles

### Home consumption — instantaneous power

Three sensors show where the home's current power consumption is sourced from:

- **Home Consumption from Grid** — power currently drawn from the grid (W)
- **Home Consumption from PV** — power currently consumed directly from PV production (W)
- **Home Consumption from Battery** — power currently supplied by the battery (W)

### Home consumption — cumulative energy

Matching cumulative counters track total energy consumed from each source:

- **Total Home Consumption from Grid** — cumulative energy from grid (kWh, converted from Wh)
- **Total Home Consumption from PV** — cumulative energy from PV (kWh, converted from Wh)
- **Total Home Consumption from Battery** — cumulative energy from battery (kWh, converted from Wh)
- **Total Home Consumption** — cumulative total from all sources (kWh, converted from Wh)

### Self-consumption rate

- **Self-Consumption Rate** — percentage of PV energy consumed locally versus fed to grid (%)

### Grid powermeter

Per-phase and total active power and current readings from the grid-connection powermeter:

- **Active Power Phase 1/2/3 (powermeter)** — per-phase active power (W)
- **Current Phase 1/2/3 (powermeter)** — per-phase current (A)
- **Total Active Power (powermeter)** — total active power at the grid connection point (W)

### Inverter and energy manager state

- **Energy Manager State** — current energy manager operating state (Idle, Emergency Battery Charge, Winter Mode Step 1/2)

The template also exposes extensive service attributes including inverter state (Off, Init, FeedIn, Throttled, Standby, and 13 other states), product name, serial number, article number, power class, hardware configuration (number of PV strings, AC phases, bidirectional converters), network configuration (IP address, subnet, gateway), and battery information (gross capacity, manufacturer).

### Additional capabilities

The PLENTICORE exposes a comprehensive Modbus register map beyond what the template currently implements. Notable capabilities include per-string DC monitoring (current, power, voltage for up to 3 PV strings), inverter-side AC measurements (per-phase voltage, current, and power), grid frequency, yield counters (daily, monthly, yearly, total), battery voltage, controller PCB temperature, and isolation resistance monitoring. The inverter also supports writable registers for active power curtailment, reactive power control, I/O board digital outputs (4 channels), and full external battery management (charge/discharge setpoints, SOC limits, power limits with watchdog fallback on G3 models). These can be added in a future template update.

## Troubleshooting

### Incorrect or zero readings

If values read as zero or nonsensical numbers (for example around ±3.4E+38), the inverter's byte order doesn't match the template. Template revision 1.2 and later reads LittleEndianFloat and needs the inverter's default **Little-Endian (CDAB)**. Revision 1.1 and older read BigEndianFloat and needed **Big-Endian (ABCD)**. Set the byte order in the inverter's Modbus/Sunspec settings to match the template revision you imported, or import the current template.

### Read error IllegalDataAddress

If a value shows the error ModbusIllegalDataAddress, the Core started a read in the middle of a two-register value and the inverter rejected it. Template revision 1.2 and later sets **Prefetch** to **Isolated** on the two values that read registers 116 and 118. If another value shows this error, set its **Prefetch** to **Isolated** in the device's **Service settings → Modbus**.

### Connection refused

1. Verify Modbus TCP is enabled in the inverter settings
2. Confirm the correct TCP port — the PLENTICORE uses port **1502**, not 502
3. Ensure TapHome Core and the inverter are on the same network/subnet
4. Check the Unit-ID matches between TapHome (Slave ID) and the inverter (default: 71)

### Battery sensors show no data

If the inverter has no battery connected, battery-related sensors (SOC, temperature, cycles, charge/discharge current) will return zero or invalid values. This is expected — the PLENTICORE supports battery-less PV-only operation.

## Available devices 22

These devices appear in TapHome after import.

Kostal PLENTICORE Module

Service Attributes

|                                    |                                                                                                                                                                                                                            |
|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Product name                       |                                                                                                                                                                                                                            |
| Inverter article number            |                                                                                                                                                                                                                            |
| Inverter serial number             |                                                                                                                                                                                                                            |
| Number of bidirectional converters |                                                                                                                                                                                                                            |
| Number of AC phases                |                                                                                                                                                                                                                            |
| Number of PV strings               |                                                                                                                                                                                                                            |
| Inverter state                     | Current inverter operating state — Off, Init, IsoMeas, GridCheck, StartUp, FeedIn, Throttled, ExtSwitchOff, Update, Standby, GridSync, GridPreCheck, GridSwitchOff, Overheating, Shutdown, ImproperDcVoltage, ESB, Unknown |
| Energy Manager State               | Energy manager operating state — Idle, Emergency Battery Charge, Winter Mode Step 1/2                                                                                                                                      |
| Inverter network name              |                                                                                                                                                                                                                            |
| IP enabled                         |                                                                                                                                                                                                                            |
| Manual IP / Auto-IP                |                                                                                                                                                                                                                            |
| IP address                         |                                                                                                                                                                                                                            |
| IP subnet mask                     |                                                                                                                                                                                                                            |
| IP gateway                         |                                                                                                                                                                                                                            |
| Power class                        | Inverter power class rating (e.g. 10 kW)                                                                                                                                                                                   |
| Battery gross capacity             |                                                                                                                                                                                                                            |
| Battery manufacturer               |                                                                                                                                                                                                                            |

Service Attributes

Productname

```taphome
MODBUSR(H, 768, String, 32)
```

Inverter article number

```taphome
MODBUSR(H,6, String,8)
```

Inverter serial number

```taphome
MODBUSR(H,14,String,8)
```

Number of bidirectional converter

```taphome
MODBUSR(H,30,Int16)
```

Number of AC phases

```taphome
MODBUSR(H,32,Int16)
```

Number of PV strings

```taphome
MODBUSR(H,34,Int16)
```

Inverter state

```taphome
SWITCH(MODBUSR(H,56,UInt16),
0, "Off",
1, "Init",
2, "IsoMeas",
3, "GridCheck",
4, "StartUp",
5, "-",
6, "FeedIn",
7, "Throttled",
8, "ExtSwitchOff",
9, "Update",
10, "Standby",
11, "GridSync",
12, "GridPreCheck",
13, "GridSwitchOff",
14, "Overheating",
15, "Shutdown",
16, "ImproperDcVoltage",
17, "ESB",
18, "Unknown",
"Unkown value or Error");
```

State of energy manager

```taphome
SWITCH(MODBUSR(H,104,UInt32),
0x00, "Idle",
0x01, "n/a",
0x02, "Emergency Battery Charge",
0x04, "n/a",
0x08, "Winter Mode Step 1",
0x10, "Winter Mode Step 2",
"Unknown")
```

Inverter network name

```taphome
MODBUSR(H,384,String, 32)
```

IP Enabled

```taphome
MODBUSR(H,416, UInt16)
```

Manual IP / Auto-IP

```taphome
MODBUSR(H, 418, UInt16)
```

IP-address

```taphome
MODBUSR(H, 420, String, 8)
```

IP-subnetmask

```taphome
MODBUSR(H, 428, STRING, 8)
```

IP-gateway

```taphome
MODBUSR(H, 436, STRING, 8)
```

Power class

```taphome
MODBUSR(H, 800, String, 32)
```

Battery gross capacity

```taphome
MODBUSR(H, 512, UInt32) + "Ah"
```

Battery Manufacturer

```taphome
MODBUSR(H,517,String,8)
```

Battery SOC (integer) Variable Read-only

Integer battery state of charge — coarser than the float-precision SOC value

Register: H:514 UInt16 Unit: %

Read

```taphome
MODBUSR(H, 514, UInt16)
```

Battery Charge/Discharge Current Variable Read-only

Actual battery charge (negative) or discharge (positive) current

Register: H:212 LittleEndianFloat Unit: A

Read

```taphome
MODBUSR(H, 212, LittleEndianFloat)
```

Battery Temperature Temperature Sensor Read-only

Register: H:214 LittleEndianFloat Unit: °C

Read temperature

```taphome
MODBUSR(H, 214, LittleEndianFloat)
```

Active Power Phase 1 (powermeter) Variable Read-only

Grid powermeter active power on phase 1

Register: H:224 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 224, LittleEndianFloat)
```

Active Power Phase 2 (powermeter) Variable Read-only

Grid powermeter active power on phase 2

Register: H:234 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 234, LittleEndianFloat)
```

Active Power Phase 3 (powermeter) Variable Read-only

Grid powermeter active power on phase 3

Register: H:244 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 244, LittleEndianFloat)
```

Home Consumption from Grid Variable Read-only

Current home power consumption supplied from the grid

Register: H:108 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 108, LittleEndianFloat)
```

Current Phase 1 (powermeter) Variable Read-only

Register: H:222 LittleEndianFloat Unit: A

Read

```taphome
MODBUSR(H, 222, LittleEndianFloat)
```

Current Phase 2 (powermeter) Variable Read-only

Register: H:232 LittleEndianFloat Unit: A

Read

```taphome
MODBUSR(H, 232, LittleEndianFloat)
```

Current Phase 3 (powermeter) Variable Read-only

Register: H:242 LittleEndianFloat Unit: A

Read

```taphome
MODBUSR(H, 242, LittleEndianFloat)
```

Total DC Power Variable Read-only

Total power from all PV strings combined

Register: H:100 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 100, LittleEndianFloat)
```

Battery State of Charge Variable Read-only

Float-precision battery state of charge — more precise than integer SOC

Register: H:210 LittleEndianFloat Unit: %

Read

```taphome
MODBUSR(H, 210, LittleEndianFloat)
```

Home Consumption from PV Variable Read-only

Current home power consumption supplied directly from PV production

Register: H:116 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 116, LittleEndianFloat)
```

Home Consumption from Battery Variable Read-only

Register: H:106 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 106, LittleEndianFloat)
```

Battery Cycles Variable Read-only

Register: H:194 LittleEndianFloat

Read

```taphome
MODBUSR(H, 194, LittleEndianFloat)
```

Self-Consumption Rate Variable Read-only

Percentage of PV energy consumed locally versus fed to grid

Register: H:124 LittleEndianFloat Unit: %

Read

```taphome
MODBUSR(H, 124, LittleEndianFloat)
```

Total Home Consumption from PV Variable Read-only

Cumulative energy consumed from PV production (kWh)

Register: H:114 LittleEndianFloat Unit: kWh

Read

```taphome
MODBUSR(H, 114, LittleEndianFloat) / 1000
```

Energy Manager State Variable Read-only

Energy manager operating state — Idle, Emergency Battery Charge, Winter Mode Step 1/2

Register: H:104 LittleEndianFloat

Read

```taphome
MODBUSR(H, 104, LittleEndianFloat)
```

Total Active Power (powermeter) Variable Read-only

Total active power measured by the grid-connection powermeter

Register: H:252 LittleEndianFloat Unit: W

Read

```taphome
MODBUSR(H, 252, LittleEndianFloat)
```

Total Home Consumption from Battery Variable Read-only

Cumulative energy consumed from battery storage (kWh)

Register: H:110 LittleEndianFloat Unit: kWh

Read

```taphome
MODBUSR(H, 110, LittleEndianFloat) / 1000
```

Total Home Consumption from Grid Variable Read-only

Cumulative energy consumed from the grid (kWh)

Register: H:112 LittleEndianFloat Unit: kWh

Read

```taphome
MODBUSR(H, 112, LittleEndianFloat) / 1000
```

Total Home Consumption Variable Read-only

Cumulative total energy consumed from all sources — battery, grid, and PV (kWh)

Register: H:118 LittleEndianFloat Unit: kWh

Read

```taphome
MODBUSR(H, 118, LittleEndianFloat)/1000
```

**Connection:** Modbus TCP • Slave ID: $\[SlaveId]

Possible improvements (27)

- H:98 Controller PCB Temperature — Float, °C, read-only — inverter internal temperature
- H:120 Isolation Resistance — Float, Ohm, read-only — PV isolation monitoring
- H:122 Power Limit from EVU — Float, %, read-only — grid operator power curtailment
- H:152 Grid Frequency — Float, Hz, read-only
- H:154 Current Phase 1 (inverter) — Float, A, read-only — inverter-side AC current
- H:156 Active Power Phase 1 (inverter) — Float, W, read-only — inverter-side AC power
- H:158 Voltage Phase 1 — Float, V, read-only
- H:160 Current Phase 2 (inverter) — Float, A, read-only
- H:162 Active Power Phase 2 (inverter) — Float, W, read-only
- H:164 Voltage Phase 2 — Float, V, read-only
- H:166 Current Phase 3 (inverter) — Float, A, read-only
- H:168 Active Power Phase 3 (inverter) — Float, W, read-only — inverter-side (not powermeter)
- H:170 Voltage Phase 3 — Float, V, read-only
- H:172 Total AC Active Power — Float, W, read-only — inverter total AC output
- H:190 Battery Charge Current — Float, A, read-only — charge-only current (always positive)
- H:200 Battery Charge/Discharge Current — Float, A, read-only — negative=charge, positive=discharge
- H:216 Battery Voltage — Float, V, read-only
- H:258-286 DC String 1/2/3 (current, power, voltage) — Float, A/W/V — per-string PV monitoring (9 registers total)
- H:320 Total Yield — Float, Wh, read-only — total energy produced by inverter
- H:322 Daily Yield — Float, Wh, read-only
- H:324 Yearly Yield — Float, Wh, read-only
- H:326 Monthly Yield — Float, Wh, read-only
- H:533 Active Power Setpoint — U16, %, R/W — power curtailment control (1-100%)
- H:608-611 I/O-Board Switched Outputs 1-4 — U16, R/W — 4 digital outputs controllable via Modbus
- H:1026-1044 Battery Management Setpoints — Float/U16, R/W — external battery charge/discharge control, SOC limits
- H:1046-1066 Energy Totals (DC/AC charge/discharge, PV per string) — Float, Wh/W — detailed energy flow breakdown
- H:1280-1288 Battery Limitation (G3 only) — Float/U32, R/W — battery power limits with watchdog fallback (SW ≥ 3.05)

## Import parameters

Enter these values when you import the XML.

| Asked in the app | Default       |
|------------------|---------------|
| Slave ID         | `1`           |
| IP address       | `192.168.0.1` |

## Sources

- KOSTAL Interface Description MODBUS (TCP) & SunSpec — PIKO IQ / PLENTICORE
  
  [www.kostal-solar-electric.com](https://www.kostal-solar-electric.com/fileadmin/downloadcenter/kse/BA/Protokollbeschreibung/BA_KOSTAL_Interface_MODBUS-TCP_SunSpec_with_Control.pdf) 2026-03-28
  
  [PDF](https://taphome.com/compatibility/devices/kostalplenticore/manufacturer/BA_KOSTAL_Interface_MODBUS-TCP_SunSpec_with_Control.pdf)
- Kostal Plenticore Modbus — Home Assistant Custom Integration
  
  [github.com](https://github.com/CrunkA3/ha_kostal_plenticore_modbus) 2026-03-28

Manufacturer documents are © their respective owners. They are provided as published by the manufacturer, for reference only.

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

