TapHome

Kostal PLENTICORE plus

Modbus TCP
Submitted by
Last updated: 03. 2026
Kostal PLENTICORE plus

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: Configurable — must be set to big-endian (ABCD / SunSpec mode)

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. Set Byte Order to Big-Endian (ABCD) — this is required for the TapHome template, which uses BigEndianFloat data types. The default is Little-Endian (CDAB), which will produce incorrect readings

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

If the inverter uses DHCP, assign a static IP or DHCP reservation in the router to prevent the address from changing after a power cycle.

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 all values read as zero or nonsensical numbers, the byte order is likely misconfigured. The TapHome template uses BigEndianFloat (ABCD byte order), but the PLENTICORE defaults to Little-Endian (CDAB). Change the byte order to Big-Endian (ABCD) in the inverter’s Modbus/Sunspec settings.

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

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 stateCurrent inverter operating state — Off, Init, IsoMeas, GridCheck, StartUp, FeedIn, Throttled, ExtSwitchOff, Update, Standby, GridSync, GridPreCheck, GridSwitchOff, Overheating, Shutdown, ImproperDcVoltage, ESB, Unknown
Energy manager stateEnergy 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 classInverter power class rating (e.g. 10 kW)
Battery gross capacity
Battery manufacturer

Kostal_Plenticore

Service Attributes
Productname
MODBUSR(H, 768, String, 32)
Inverter article number
MODBUSR(H,6, String,8)
Inverter serial number
MODBUSR(H,14,String,8)
Number of bidirectional converter
MODBUSR(H,30,Int16)
Number of AC phases
MODBUSR(H,32,Int16)
Number of PV strings
MODBUSR(H,34,Int16)
Inverter state
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
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
MODBUSR(H,384,String, 32)
IP Enabled
MODBUSR(H,416, UInt16)
Manual IP / Auto-IP
MODBUSR(H, 418, UInt16)
IP-address
MODBUSR(H, 420, String, 8)
IP-subnetmask
MODBUSR(H, 428, STRING, 8)
IP-gateway
MODBUSR(H, 436, STRING, 8)
Power class
MODBUSR(H, 800, String, 32)
Battery gross capacity
MODBUSR(H, 512, UInt32) + "Ah"
Battery Manufacturer
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: %

Battery SOC (integer)

Read
MODBUSR(H, 514, UInt16)
Battery Charge/Discharge Current Variable Read-only

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

Register: H:212 BigEndianFloat Unit: A

Battery Charge/Discharge Current

Read
MODBUSR(H, 212, BigEndianFloat)
Battery Temperature Temperature Sensor Read-only
Register: H:214 BigEndianFloat Unit: °C

Battery Temperature

Read temperature
MODBUSR(H, 214, BigEndianFloat)
Active Power Phase 1 (powermeter) Variable Read-only

Grid powermeter active power on phase 1

Register: H:224 BigEndianFloat Unit: W

Active Power Phase 1 (powermeter)

Read
MODBUSR(H, 224, BigEndianFloat)
Active Power Phase 2 (powermeter) Variable Read-only

Grid powermeter active power on phase 2

Register: H:234 BigEndianFloat Unit: W

Active Power Phase 2 (powermeter)

Read
MODBUSR(H, 234, BigEndianFloat)
Active Power Phase 3 (powermeter) Variable Read-only

Grid powermeter active power on phase 3

Register: H:244 BigEndianFloat Unit: W

Active Power Phase 3 (powermeter)

Read
MODBUSR(H, 244, BigEndianFloat)
Home Consumption from Grid Variable Read-only

Current home power consumption supplied from the grid

Register: H:108 BigEndianFloat Unit: W

Home Consumption from Grid

Read
MODBUSR(H, 108, BigEndianFloat)
Current Phase 1 (powermeter) Variable Read-only
Register: H:222 BigEndianFloat Unit: A

Current Phase 1 (powermeter)

Read
MODBUSR(H, 222, BigEndianFloat)
Current Phase 2 (powermeter) Variable Read-only
Register: H:232 BigEndianFloat Unit: A

Current Phase 2 (powermeter)

Read
MODBUSR(H, 232, BigEndianFloat)
Current Phase 3 (powermeter) Variable Read-only
Register: H:242 BigEndianFloat Unit: A

Current Phase 3 (powermeter)

Read
MODBUSR(H, 242, BigEndianFloat)
Total DC Power Variable Read-only

Total power from all PV strings combined

Register: H:100 BigEndianFloat Unit: W

Total DC Power

Read
MODBUSR(H, 100, BigEndianFloat)
Battery State of Charge Variable Read-only

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

Register: H:210 BigEndianFloat Unit: %

Battery State of Charge

Read
MODBUSR(H, 210, BigEndianFloat)
Home Consumption from PV Variable Read-only

Current home power consumption supplied directly from PV production

Register: H:116 BigEndianFloat Unit: W

Home Consumption from PV

Read
MODBUSR(H, 116, BigEndianFloat)
Home Consumption from Battery Variable Read-only
Register: H:106 BigEndianFloat Unit: W

Home Consumption from Battery

Read
MODBUSR(H, 106, BigEndianFloat)
Battery Cycles Variable Read-only
Register: H:194 BigEndianFloat

Battery Cycles

Read
MODBUSR(H, 194, BigEndianFloat)
Self-Consumption Rate Variable Read-only

Percentage of PV energy consumed locally versus fed to grid

Register: H:124 BigEndianFloat Unit: %

Self-Consumption Rate

Read
MODBUSR(H, 124, BigEndianFloat)
Total Home Consumption from PV Variable Read-only

Cumulative energy consumed from PV production (kWh)

Register: H:114 BigEndianFloat Unit: kWh

Total Home Consumption from PV

Read
MODBUSR(H, 114, BigEndianFloat) / 1000
Energy Manager State Variable Read-only

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

Register: H:104 BigEndianFloat

Energy Manager State

Read
MODBUSR(H, 104, BigEndianFloat)
Total Active Power (powermeter) Variable Read-only

Total active power measured by the grid-connection powermeter

Register: H:252 BigEndianFloat Unit: W

Total Active Power (powermeter)

Read
MODBUSR(H, 252, bigendianFloat)
Total Home Consumption from Battery Variable Read-only

Cumulative energy consumed from battery storage (kWh)

Register: H:110 BigEndianFloat Unit: kWh

Total Home Consumption from Battery

Read
MODBUSR(H, 110, bigEndianFloat) / 1000
Total Home Consumption from Grid Variable Read-only

Cumulative energy consumed from the grid (kWh)

Register: H:112 BigEndianFloat Unit: kWh

Total Home Consumption from Grid

Read
MODBUSR(H, 112, bigEndianFloat) / 1000
Total Home Consumption Variable Read-only

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

Register: H:118 BigEndianFloat Unit: kWh

Total Home Consumption

Read
MODBUSR(H, 118, bigEndianFloat)/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)

Sources