Lambda · Heat pump
Heat pumps with the Lambda controller (Modbus protocol 1.0) Modbus register map
Default configuration
- Protocol
- Modbus TCP
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- High word first
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 0 | 1 | Ambient: error number 0 = no error. | Int16 | - | 1 | R |
| 1 | 1 | Ambient: operating state 0 = off, 1 = automatic, 2 = manual, 3 = error. | UInt16 | - | 1 | R |
| 2 | 1 | Ambient: actual ambient temperature Outdoor temperature measured by the controller. | Int16 | °C | 0.1 | RW |
| 3 | 1 | Ambient: average ambient temperature, 1 h Arithmetic average of the outdoor temperature over the last 60 minutes. | Int16 | °C | 0.1 | R |
| 4 | 1 | Ambient: calculated ambient temperature Averaged outdoor temperature the controller uses to calculate the flow temperature. | Int16 | °C | 0.1 | R |
| 100 | 1 | E-Manager: error number 0 = no error. | Int16 | - | 1 | R |
| 101 | 1 | E-Manager: operating state 0 = off, 1 = automatic, 2 = manual, 3 = error, 4 = offline. | UInt16 | - | 1 | R |
| 102 | 1 | E-Manager: actual power at the grid meter Grid import (positive) or export (negative) at the metering point. | Int16 | W | 1 | RW |
| 103 | 1 | E-Manager: actual power consumption Power drawn by all configured heat pumps. | Int16 | W | 1 | R |
| 104 | 1 | E-Manager: power consumption setpoint Setpoint applied as the sum over all heat pumps. | Int16 | W | 1 | R |
| 1000 | 1 | Heat pump: error state 0 = no error, 1 = message, 2 = warning, 3 = error, 4 = fault. | UInt16 | - | 1 | R |
| 1001 | 1 | Heat pump: error number When several errors are active they are reported in turn. | Int16 | - | 1 | R |
| 1002 | 1 | Heat pump: state machine state 0 = init, 1 = reference, 2 = restart block, 3 = ready, 4 = start pumps, 5 = start compressor, 6 = pre-regulation, 7 = regulation, 9 = cooling, 10 = defrosting, 20 = stopping, 30 = fault lock, 31 = alarm block, 40 = error reset. | UInt16 | - | 1 | R |
| 1003 | 1 | Heat pump: operating state 0 = standby, 1 = heating, 2 = domestic hot water, 3 = cooling, 4 = circulate, 5 = defrost, 6 = off, 7 = frost protection, 8 = standby frost, 10 = summer, 11 = holiday, 12 = error, 13 = warning, 14 = info message, 15 = time block, 16 = release block, 17 = minimum temperature block, 18 = firmware download. | UInt16 | - | 1 | R |
| 1004 | 1 | Heat pump: flow temperature Flow line temperature of the heat pump. | Int16 | °C | 0.01 | R |
| 1005 | 1 | Heat pump: return temperature Return line temperature of the heat pump. | Int16 | °C | 0.01 | R |
| 1006 | 1 | Heat pump: volume flow, heat sink side Heating-water volume flow. | Int16 | l/min | 0.01 | R |
| 1007 | 1 | Heat pump: energy source inlet temperature Inlet temperature of the energy source (air, brine, water). | Int16 | °C | 0.01 | R |
| 1008 | 1 | Heat pump: energy source outlet temperature Outlet temperature of the energy source. | Int16 | °C | 0.01 | R |
| 1009 | 1 | Heat pump: energy source volume flow Volume flow on the energy-source side. | Int16 | l/min | 0.01 | R |
| 1010 | 1 | Heat pump: compressor rating Compressor output in percent of its rating. | UInt16 | % | 0.01 | R |
| 1011 | 1 | Heat pump: heating capacity (Qp) Actual heating output. | Int16 | kW | 0.1 | R |
| 1012 | 1 | Heat pump: frequency inverter power consumption Input power measured by the frequency inverter. | Int16 | W | 1 | R |
| 1013 | 1 | Heat pump: efficiency Current efficiency of the compressor package. | Int16 | % | 0.01 | R |
| 1014 | 1 | Heat pump: Modbus request release password Password register that releases the Modbus request registers; at most 10 attempts. | UInt16 | - | 1 | RW |
| 1015 | 1 | Heat pump: request type 0 = no request, 1 = flow pump circulation, 2 = central heating, 3 = central cooling, 4 = domestic hot water. | Int16 | - | 1 | RW |
| 1016 | 1 | Heat pump: request flow temperature Requested flow line temperature, 0.0..70.0 °C. | Int16 | °C | 0.1 | RW |
| 1017 | 1 | Heat pump: request return temperature Requested return line temperature, 0.0..65.0 °C. | Int16 | °C | 0.1 | RW |
| 1018 | 1 | Heat pump: request heat-sink temperature difference Requested difference between flow and return, 0.0..35.0 K. | Int16 | K | 0.1 | RW |
| 1019 | 1 | Heat pump: relay state of the 2nd heating stage 1 = the NO relay for the second heating stage is energised. | Int16 | - | 1 | R |
| 1020 | 2 | Heat pump: electrical energy since the last statistics reset Accumulated electrical energy of the compressor package. | Int32 | Wh | 1 | R |
| 1022 | 2 | Heat pump: thermal energy since the last statistics reset Accumulated thermal energy delivered by the compressor package. | Int32 | Wh | 1 | R |
| 2000 | 1 | Domestic hot water: error number 0 = no error. | Int16 | - | 1 | R |
| 2001 | 1 | Domestic hot water: operating state 0 = standby, 1 = DHW, 2 = legionella, 3 = summer, 4 = frost, 5 = holiday, 6 = priority stop, 7 = error, 8 = off, 9 = prompt DHW, 10 = trailing stop, 11 = temperature lock, 12 = standby frost. | UInt16 | - | 1 | R |
| 2002 | 1 | Domestic hot water: actual high temperature Upper cylinder sensor. | Int16 | °C | 0.1 | R |
| 2003 | 1 | Domestic hot water: actual low temperature Lower cylinder sensor. | Int16 | °C | 0.1 | R |
| 2004 | 1 | Domestic hot water: circulation temperature Current value of the circulation temperature sensor. | Int16 | °C | 0.1 | R |
| 2005 | 1 | Domestic hot water: circulation pump state 1 = circulation pump active. | Int16 | - | 1 | R |
| 2050 | 1 | Domestic hot water: setpoint temperature Target cylinder temperature. | Int16 | °C | 0.1 | RW |
| 3000 | 1 | Buffer: error number 0 = no error. | Int16 | - | 1 | R |
| 3001 | 1 | Buffer: operating state 0 = standby, 1 = heating, 2 = cooling, 3 = summer, 4 = frost, 5 = holiday, 6 = priority stop, 7 = error, 8 = off, 9 = standby frost. | UInt16 | - | 1 | R |
| 3002 | 1 | Buffer: actual high temperature Upper buffer sensor. | Int16 | °C | 0.1 | R |
| 3003 | 1 | Buffer: actual low temperature Lower buffer sensor. | Int16 | °C | 0.1 | R |
| 3004 | 1 | Buffer: temperature set over Modbus Buffer temperature written by the Modbus client, 0..90 °C. | Int16 | °C | 0.1 | RW |
| 3005 | 1 | Buffer: request type -1 = invalid request (deactivates the Modbus request immediately), 0 = no request, 1 = flow pump circulation, 2 = central heating, 3 = central cooling. | Int16 | - | 1 | RW |
| 3006 | 1 | Buffer: request flow temperature setpoint Requested flow temperature, 0.0..65.0 °C; a valid value is required. | Int16 | °C | 0.1 | RW |
| 3007 | 1 | Buffer: request return temperature setpoint Requested return temperature, 0.0..60.0 °C; a valid value is required. | Int16 | °C | 0.1 | RW |
| 3008 | 1 | Buffer: request heat-sink temperature difference setpoint Requested difference between flow and return, 0.0..35.0 K; a valid value is required. | Int16 | K | 0.1 | RW |
| 3009 | 1 | Buffer: Modbus request heating capacity Requested capacity, 0.0..25.5 kW; optional. | Int16 | kW | 0.1 | RW |
| 3050 | 1 | Buffer: maximum buffer temperature Setting for the maximum buffer temperature, 25.0..65.0 °C. | Int16 | °C | 0.1 | RW |
| 5001 | 1 | Heating circuit 1: operating state 0 = heating, 1 = eco, 2 = cooling, 3 = floor drying, 4 = frost, 5 = maximum temperature, 6 = error, 7 = service, 8 = holiday, 9 = summer, 10 = cooling/winter, 11 = priority stop, 12 = off, 13 = release off, 14 = time off, 15 = standby, 16 = standby heating, 17 = standby eco, 18 = standby cooling, 19 = standby frost, 20 = standby floor drying. | UInt16 | - | 1 | R |
| 5002 | 1 | Heating circuit 1: flow line temperature Actual flow line temperature. | Int16 | °C | 0.1 | R |
| 5003 | 1 | Heating circuit 1: return line temperature Actual return line temperature. | Int16 | °C | 0.1 | R |
| 5004 | 1 | Heating circuit 1: room device temperature Room temperature measured by the room device, -29.9..99.9 °C. | Int16 | °C | 0.1 | RW |
| 5005 | 1 | Heating circuit 1: setpoint flow line temperature Flow temperature setpoint the controller works with, 15.0..65.0 °C. | Int16 | °C | 0.1 | RW |
| 5006 | 1 | Heating circuit 1: operating mode 0 = off (RW), 1 = manual (R), 2 = automatic (RW), 3 = auto heating (RW), 4 = auto cooling (RW), 5 = frost (RW), 6 = summer (RW), 7 = floor dry (R). | Int16 | - | 1 | RW |
| 5050 | 1 | Heating circuit 1: offset of the flow temperature setpoint Offset on the calculated heating curve, -10.0..10.0 K. | Int16 | °C | 0.1 | RW |
| 5051 | 1 | Heating circuit 1: room setpoint in heating mode 15.0..40.0 °C. | Int16 | °C | 0.1 | RW |
| 5052 | 1 | Heating circuit 1: room setpoint in cooling mode 15.0..40.0 °C. | Int16 | °C | 0.1 | RW |
Read this device live with Modbus Connect, free for Windows, macOS and Linux
Related guides
Notes
Source: LAMBDA Wärmepumpen GmbH 'MODBUS-PROTOKOLL 1.0' (vendor PDF: chapter 2, implementation; chapter 3, data-point table), read together with the same vendor document dated 18.09.2024, whose Read/Write, data-format and unit columns are printed in line with the rows (the 1.0 edition prints those columns offset). Every read uses function code 03 and every write function code 16, so all rows are holding registers. Register numbers are built as index (module) → subindex (module instance) → number (data point), four decimal digits: the vendor example '1 1 04 = 1104' is index 1 = heat pump, subindex 1 = second heat pump, number 04 = flow temperature, and chapter 4 uses 5X05 for the heating-circuit flow setpoint and 0102 for the grid power input. Those numbers are used unchanged as the wire address (declared zero-based); the document prints no separate base-1 numbering. Types are INT16/UINT16, or INT32 (two registers) for the energy counters; scales come from the unit column ([0.1 °C] = 0.1, [0.01 °C] = 0.01, [0.1 kW] = 0.1, [0.01 %] = 0.01, Watt/Wh = 1). Modbus/TCP runs on the display's network port, port 502. The document prints no unit identifier for the TCP server, so 1 is used here and must be matched on site. Data points 00-49 must be written cyclically (they fall back to a default after a 5-minute timeout); points from 50 upwards are stored permanently. The solar and pool modules (index 4 / 10), the network-settings block and the statistics of further heat pumps are left out. Register 0102 is documented as 'UINT16 or INT16' and is entered as Int16 because it is negative when the site exports to the grid.