TapHome

Stiebel Eltron HPA-0 Serie Heat Pump

Modbus TCP
Submitted by
Last updated: 03. 2026

Requires external gateway

Stiebel Eltron ISG web / ISG plus

Stiebel Eltron HPA-0 Serie Heat Pump

The Stiebel Eltron HPA-0 Serie is an air source heat pump from the base (non-Premium) product line. Like the Premium variant, it does not have a direct Modbus interface — communication requires the ISG web or ISG plus gateway (Internet Service Gateway), which exposes the heat pump’s registers over Modbus TCP on the local network.

The TapHome template provides operating mode control, comfort and ECO temperature setpoints for two heating circuits and domestic hot water (DHW), and DHW temperature monitoring. Compared to the Premium template, this base variant focuses on core HVAC setpoint control without the additional energy metering and runtime counters.

Hardware connection

The ISG gateway connects to the heat pump’s WPM controller via the CAN bus (internal wiring). For Modbus TCP communication with TapHome, connect the ISG gateway to the local network using a standard Ethernet cable (RJ45).

  • Protocol: Modbus TCP
  • Port: 502
  • Slave ID: 1 (fixed)
  • Default ISG IP: 192.168.0.126

The ISG gateway cannot run Modbus TCP simultaneously with other ISG software interfaces (e.g., ServiceWelt remote monitoring). Read-only Modbus access is possible alongside the EMI energy management extension, but requires ISG firmware v12.1.2 or higher.

Configuration

Enabling Modbus communication

The ISG gateway has Modbus TCP enabled by default on port 502. No special activation is required. The IP address can be configured through the SERVICEWELT “Profile” tab.

When importing the template in TapHome, provide:

  • IP Address — the ISG gateway’s IP on the local network (default: 192.168.0.126)
  • Slave ID — Modbus slave address (fixed at 1)

If the ISG gateway is connected via a router (DHCP), assign a static IP or DHCP reservation to prevent the address from changing after a power cycle. When connected directly (point-to-point), the ISG retains its default address 192.168.0.126.

Register addressing

The ISG documentation uses 1-based register addresses. The TapHome template uses 0-based addresses (offset of 1). For example, ISG register 507 (OUTSIDE TEMPERATURE) corresponds to template address A:506.

Device capabilities

Operating mode control

The Operating Mode multi-value switch writes to holding register H:1500 and allows selecting one of six modes:

ValueModeDescription
0Emergency OperationMinimal operation, backup heating only
1Standby ModeFrost protection only
2Programmed OperationAlternates between ECO and Comfort per the WPM weekly program
3Comfort ModeConstant comfort temperature setpoints
4ECO ModeEnergy-saving reduced temperature setpoints
5DHW ModeDomestic hot water heating only, no space heating

When changing the operating mode via Modbus, change only the mode OR a temperature setpoint in a single step — not both simultaneously. The heat pump needs to stabilize after each change.

Heating circuit temperature setpoints

The template provides four thermostat devices for two heating circuits, each with Comfort and ECO setpoints:

  • HC1 Comfort Temperature — reads current HC1 temperature from A:507, writes comfort setpoint to H:1501 (range 5–30 °C)
  • HC1 ECO Temperature — reads current HC1 temperature from A:507, writes ECO setpoint to H:1502 (range 5–30 °C)
  • HC2 Comfort Temperature — reads current HC2 temperature from A:510, writes comfort setpoint to H:1504 (range 5–30 °C)
  • HC2 ECO Temperature — reads current HC2 temperature from A:510, writes ECO setpoint to H:1505 (range 5–30 °C)

The actual operating setpoint depends on the selected operating mode — Comfort Mode uses the comfort value, ECO Mode uses the ECO value, and Programmed Operation alternates between both per the WPM schedule.

DHW temperature setpoints

Two thermostat devices control domestic hot water temperature:

  • DHW Comfort Temperature — reads current DHW temperature from A:521, writes comfort setpoint to H:1509 (range 10–60 °C)
  • DHW ECO Temperature — reads current DHW temperature from A:521, writes ECO setpoint to H:1510 (range 10–60 °C)
Sensor monitoring

The template includes one read-only sensor:

  • DHW Actual Temperature — current domestic hot water cylinder temperature from A:521 (°C, /10)
Service attributes

The template exposes 27 diagnostic service attributes accessible in the TapHome device detail view. These include:

  • Controller Identification — identifies the connected WPM controller type (WPMsystem, LWZ, WPM 3, WPM 3i)
  • Operating Status bits — real-time flags for HC1/HC2 pump, heat-up program, NHZ stages, HP in heating/DHW mode, compressor running, summer mode, cooling mode, defrost, and silent mode 1/2
  • System sensors — outdoor temperature, buffer temperature (actual and setpoint), return temperature, hot gas temperature, low/mean/high pressure
  • Fault monitoring — fault status, active error number, defrost state, message number

Outdoor temperature is available as a service attribute (A:506) but not as a standalone device in this template. To use it in automation rules, consider the Premium variant template which includes additional standalone sensor devices.

Additional capabilities

The ISG gateway exposes additional registers not currently included in the TapHome template. These include flow and return temperature sensors, source temperature, fixed value operation control, system reset commands, and SG Ready smart grid inputs for PV optimization. Comprehensive energy data registers provide daily and total counters for heat produced and power consumed, separated by heating and DHW. These can be added in a future template update.

Troubleshooting

No Modbus communication
  1. Verify the Ethernet cable is connected to the ISG gateway (not directly to the heat pump)
  2. Confirm the ISG IP address — check the router’s DHCP lease table or use the default 192.168.0.126
  3. Ensure TapHome Core and the ISG gateway are on the same network/subnet
  4. Check that port 502 is not blocked by a firewall
  5. Verify that no other ISG software interface (e.g., ServiceWelt remote access) is actively using the connection — Modbus cannot run simultaneously with other interfaces except read-only EMI
Value 32768 returned for sensors

The ISG returns the substitute value 32768 (0x8000) for registers that are not available on the connected controller. This typically means the sensor is not installed or the register is not supported by the specific WPM controller type.

Faults not clearing via Modbus

System faults can only be acknowledged through the SERVICEWELT user interface on the ISG — they cannot be cleared via Modbus. The template’s fault status and active error number attributes allow monitoring faults, but manual acknowledgment is required.

Available devices

Stiebel Eltron HPA-0 Module
Service Attributes
Controller Ident.
Operating Status
HC1 Pump
HC2 Pump
Heat-Up Program
NHZ Settigs Run.
HP In Heating Mode
HP In DHW Mode
Compressor Running
Summer Mode
Cooling Mode
Min.1 IWS In Defrost
Silent Mode 1
Silent Mode 2
Other Attributes
Outdoor Temp.
Actual Buffer Temp
Return Temp
Set Buffer Temp
Hot Gas Temp.
Low Pressure
Mean Pressure
HiPressure
Defrost State
Fault Status
Message No.
Active Error No.

Stiebel Eltron HPA-0

Read (module)
Reg2500:=MODBUSR(A, 2500, Int16);
Reg5001:=MODBUSR(A, 5001, Int16);
Reg2505:=MODBUSR(A, 2505, Int16);
If Reg5001=449
ContIdent:="WPMsystem";
ELSEif Reg5001=103
ContIdent:="LWZ Others";
ELSEIF Reg5001=104
ContIdent:="LWZ 304/404/504 SOL, 5/8 CS Premium";
ELSEIF Reg5001=390
ContIdent:="WPM 3";
ELSEIF Reg5001=391
ContIdent:="WPM 3i";
ELSE
ContIdent:="Unknown";
END
IF Reg2505=1
Defrost:="Initiated";
ELSE
Defrost:="Off";
END
Service Attributes
Controller Ident.
ContIdent
Operating Status
HC1 Pump
If(getbit(reg2500,0), "On", "Off")
HC2 Pump
If(getbit(reg2500,1), "On", "Off")
Heat-Up Program
If(getbit(reg2500,2), "On", "Off")
NHZ Settigs Run.
If(getbit(reg2500,3), "On", "Off")
HP In Heating Mode
If(getbit(reg2500,4), "On", "Off")
HP In DHW Mode
If(getbit(reg2500,5), "On", "Off")
Compressor Running
If(getbit(reg2500,6), "On", "Off")
Summer Mode
If(getbit(reg2500,7), "On", "Off")
Cooling Mode
If(getbit(reg2500,8), "On", "Off")
Min.1 IWS In Defrost
If(getbit(reg2500,9), "On", "Off")
Silent Mode 1
If(getbit(reg2500,10), "On", "Off")
Silent Mode 2
If(getbit(reg2500,11), "On", "Off")
Other Attributes
Outdoor Temp. [°C]
MODBUSR(A, 506, Int16)/10
Actual Buffer Temp [°C]
MODBUSR(A, 517, uint16)/10
Return Temp [°C]
MODBUSR(A, 541, uint16)/10
Set Buffer Temp [°C]
MODBUSR(A, 518, Int16)/10
Hot Gas Temp. [°C]
MODBUSR(A, 543, Int16)/10
Low Pressure [Bar]
MODBUSR(A, 544, Int16)/100
Mean Pressure [Bar]
MODBUSR(A, 545, Int16)/100
HiPressure [Bar]
MODBUSR(A, 546, Int16)/100
Defrost State
Defrost
Fault Status
MODBUSR(A, 2504, Int16)
Message No.
MODBUSR(A, 2507, Int16)
Active Error No.
MODBUSR(A, 2506, Int16)
DHW Actual Temperature Variable Read-only

Current domestic hot water cylinder temperature in °C

Register: A:521 Int16 Unit: °C numeric (/10)

DHW Actual Temperature

Read
MODBUSR(A, 521, Int16)/10
DHW Comfort Temperature Thermostat

Thermostat — reads current DHW temperature, writes comfort setpoint (10–60 °C)

Register: A:521 (current) / H:1509 (setpoint)H:1509 Int16 Unit: °C numeric (/10)

DHW Comfort Temperature

Read temperature
MODBUSR(A, 521, Int16) / 10
Read desired temperature
MODBUSR(H, 1509, Int16) / 10
Write desired temperature
MODBUSW(H, 1509, Int16, Se * 10)
DHW ECO Temperature Thermostat

Thermostat — reads current DHW temperature, writes ECO setpoint (10–60 °C)

Register: A:521 (current) / H:1510 (setpoint)H:1510 Int16 Unit: °C numeric (/10)

DHW ECO Temperature

Read temperature
MODBUSR(A, 521, Int16) / 10
Read desired temperature
MODBUSR(H, 1510, Int16) / 10
Write desired temperature
MODBUSW(H, 1510, Int16, Se * 10)
HC1 Comfort Temperature Thermostat

Thermostat — reads current heating circuit 1 temperature, writes comfort setpoint (5–30 °C)

Register: A:507 (current) / H:1501 (setpoint)H:1501 Int16 Unit: °C numeric (/10)

HC1 Comfort Temperature

Read temperature
MODBUSR(A, 507, Int16) / 10
Read desired temperature
MODBUSR(H, 1501, Int16) / 10
Write desired temperature
MODBUSW(H, 1501, Int16, Se * 10)
HC1 ECO Temperature Thermostat

Thermostat — reads current heating circuit 1 temperature, writes ECO setpoint (5–30 °C)

Register: A:507 (current) / H:1502 (setpoint)H:1502 Int16 Unit: °C numeric (/10)

HC1 ECO Temperature

Read temperature
MODBUSR(A, 507, Int16) / 10
Read desired temperature
MODBUSR(H, 1502, Int16) / 10
Write desired temperature
MODBUSW(H, 1502, Int16, Se * 10)
HC2 Comfort Temperature Thermostat

Thermostat — reads current heating circuit 2 temperature, writes comfort setpoint (5–30 °C)

Register: A:510 (current) / H:1504 (setpoint)H:1504 Int16 Unit: °C numeric (/10)

HC2 Comfort Temperature

Read temperature
MODBUSR(A, 510, Int16) / 10
Read desired temperature
MODBUSR(H, 1504, Int16) / 10
Write desired temperature
MODBUSW(H, 1504, Int16, Se * 10)
HC2 ECO Temperature Thermostat

Thermostat — reads current heating circuit 2 temperature, writes ECO setpoint (5–30 °C)

Register: A:510 (current) / H:1505 (setpoint)H:1505 Int16 Unit: °C numeric (/10)

HC2 ECO Temperature

Read temperature
MODBUSR(A, 510, Int16) / 10
Read desired temperature
MODBUSR(H, 1505, Int16) / 10
Write desired temperature
MODBUSW(H, 1505, Int16, Se * 10)
Operating Mode Multi-value Switch

Heat pump operating mode — Emergency, Standby, Programmed, Comfort, ECO, DHW

Register: H:1500 Int16 numeric
Values / States: Emergency Operation · Standby Mode · Programmed Operation · Comfort Mode · ECO Mode · DHW Mode

Operating Mode

Read switch state
MODBUSR(H, 1500, Int16)
Write switch state
MODBUSW(H, 1500, Int16, Mu)
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (10)
  • A:506 Outdoor Temperature — Int16, /10, °C — available as service attribute only, not as standalone device
  • A:515 Actual Flow Temperature — Int16, /10, °C — overall flow temperature
  • A:516 Actual Return Temperature — Int16, /10, °C — overall return temperature (0–90 °C)
  • A:536 Source Temperature — Int16, /10, °C — heat source (air) temperature
  • H:1508 Fixed Value Operation — Int16, /10, °C, R/W — fixed value heating, OFF or 20–70 °C
  • H:1520 Reset — 1=System Reset, 2=Fault List Reset, 3=Heat Pump Reset — ISG 1521
  • H:4001–4003 SG Ready Control — SG Ready ON/OFF switch + Input 1 + Input 2 for PV optimization / smart grid integration
  • A:3501–3516 Energy Data (heating + DHW + consumption) — Heating/DHW heat produced (day/total kWh/MWh), power consumed (day/total kWh/MWh), NHZ totals
  • A:505 Relative Humidity — Int16, /10, % — relative humidity (WPMsystem, WPM 3)
  • A:513 Actual Flow Temperature WP — Int16, /10, °C — flow temperature from heat pump (MFG, if available)

Sources