Danfoss ECL 210/296/310

A controller supports three different ways of receiving external offset signals;

  • SCADA outdoor temperature (C)
  • SCADA heat offset (-10 to +10 K)
    • Up to four circuits are supported.
  • Offset/adjustment of measurement for port S1 to S10.

Via SCADA outdoor temperature, the regulator's current outdoor temperature gets replaced with any value written.

Via SCADA heat offset, a range limited offset is applied to the four possible circuits, 1 to 4.

Adjustment of measurements on port S1 to S10 should be avoided as a way to perform external control.

Table of Content


The ECL hardware platform supports up to ten (10) signal inputs. They range from S1 to S10. Depending on the Application selected for the circumstances of the installation of the controller, these signal inputs will have different purposes, such as temperature or pressure sensors for various points in the installation.


The ECL 296 and 310 supports Modbus TCP and Modbus RTU. The ECL 210 only supports Modbus RTU.


An ECL controller supports many different scenarios. The hardware is the same; the only thing that changes is the software. Danfoss supplies these Applications as separate components of an installation. With prices vary depending on the functionality.

For details about the various Applications, see the Danfoss store. If the link doesn't work, then use your common sense and a search engine.

Some typical applications are;

  • A230: Heating control with wind compensation. Cooling control.
  • A260: 2 x heating control
  • A266: Heating and DHW control
  • A302: Zone control


For an extended explaination of the Modbus protocol, see the educational material.

Noteable sections include;

Supported functions

The controller only supports Holding Registers. The functions supported are;

  • 03 (0x03) Read Holding Registers
  • 04 (0x04) Read Input Registers
  • 06 (0x06) Write Single Register


The controller exposes all sensor values (S1-S10) either as raw or non-raw values in two different segments.

The following values are available as Holding Registers.

Raw sensor values

Modbus NumberSizeScaleDescription
1020116-bit100S1 Raw
1020216-bit100S2 Raw
1020316-bit100S3 Raw
1020416-bit100S4 Raw
1020516-bit100S5 Raw
1020616-bit100S6 Raw
1020716-bit100S7 Raw
1020816-bit100S8 Raw
1020916-bit100S9 Raw
1021016-bit100S10 Raw

Non-raw sensor values

Modbus NumberSizeScaleDescription
1120116-bit100S1 (Sensor 1)
1120216-bit100S2 (Sensor 2)
1120316-bit100S3 (Sensor 3)
1120416-bit100S4 (Sensor 4)
1120516-bit100S5 (Sensor 5)
1120616-bit100S6 (Sensor 6)
1120716-bit100S7 (Sensor 7)
1120816-bit100S8 (Sensor 8)
1120916-bit100S9 (Sensor 9)
1121016-bit100S10 (Sensor 10)

Outdoor sensors

It seems that S1 is always the outdoor temperature sensor for all Applications. However, this is not guaranteed. Always check the Application specification.

The example below is taken from A230.1.

The following values are available as Holding Registers.

Modbus NumberSizeScaleDescription
1120116-bit100S1 (Outdoor temperature)

Supply and Return temperature

The example below is taken from A230.1.

The following values are available as Holding Registers.

Modbus NumberSizeScaleDescription
1120316-bit100Supply temperature HS1 (S3)
1120516-bit100Return temperature primary side (S5)

Offset of supply temperature

In the Danfoss ECL Comfort 210/296/310 documentation. This is described as SCADA Heat Offset.

The example below is taken from A230.1.

It seems that these registers are always the same for all Applications.

Allowed range is -100 (65436) and +100 (100), i.e. -10 Kelvin and +10 Kelvin.

The following values are available as Holding Registers.

Modbus NumberSizeScaleDescription
1040116-bit10Supply setpoint offset for HS1
1040216-bit10Supply setpoint offset for HS2
1040316-bit10Supply setpoint offset for HS3
1040416-bit10Supply setpoint offset for HS4

M-Bus Heat Meter

Only available on ECL Comfort 296/310.

It seems that these registers are always the same for all Applications.

32-bit values are integer values.

The following values are available as Holding Registers.

Modbus NumberSizeScaleDescription
600616-bit100Flow temperature, Heat Meter HS1 (C)
600716-bit100Return temperature, Heat Meter HS1 (C)
6008,600932-bit?Flow, Heat Meter HS1 (l/h)
6010,601132-bit?Power, Heat Meter HS1 (kW)
6012,601332-bit10Accumulated Volume, Heat Meter HS1 (m3)
6014,601532-bit10Accumulated Energy, Heat Meter HS1 (kWh)
605616-bit100Flow temperature, Heat Meter HS2 (C)
605716-bit100Return temperature, Heat Meter HS2 (C)
6058,605932-bit?Flow, Heat Meter HS2 (l/h)
6060,606132-bit?Power, Heat Meter HS2 (kW)
6062,606332-bit10Accumulated Volume, Heat Meter HS2 (m3)
6064,606532-bit10Accumulated Energy, Heat Meter HS2 (kWh)
610616-bit100Flow temperature, Heat Meter HS3 (C)
610716-bit100Return temperature, Heat Meter HS3 (C)
6108,610932-bit?Flow, Heat Meter HS3 (l/h)
6110,611132-bit?Power, Heat Meter HS3 (kW)
6112,611332-bit10Accumulated Volume, Heat Meter HS3 (m3)
6114,611532-bit10Accumulated Energy, Heat Meter HS3 (kWh)
615616-bit100Flow temperature, Heat Meter HS4 (C)
615716-bit100Return temperature, Heat Meter HS4 (C)
6158,615932-bit?Flow, Heat Meter HS4 (l/h)
6160,616132-bit?Power, Heat Meter HS4 (kW)
6162,616332-bit10Accumulated Volume, Heat Meter HS4 (m3)
6164,616532-bit10Accumulated Energy, Heat Meter HS4 (kWh)
620616-bit100Flow temperature, Heat Meter HS5 (C)
620716-bit100Return temperature, Heat Meter HS5 (C)
6208,620932-bit?Flow, Heat Meter HS5 (l/h)
6210,621132-bit?Power, Heat Meter HS5 (kW)
6212,621332-bit10Accumulated Volume, Heat Meter HS5 (m3)
6214,621532-bit10Accumulated Energy, Heat Meter HS5 (kWh)

Calculated supply temperature

The following values are available as Holding Registers.

Modbus NumberSizeScaleDescription
1125116-bit10?S1 sensor reference (set-point, etc.)
1125216-bit10?S2 sensor reference (set-point, etc.)
1125316-bit10?S3 sensor reference (set-point, etc.)
1125416-bit10?S4 sensor reference (set-point, etc.)
1125516-bit10?S5 sensor reference (set-point, etc.)
1125616-bit10?S6 sensor reference (set-point, etc.)
1125716-bit10?S7 sensor reference (set-point, etc.)
1125816-bit10?S8 sensor reference (set-point, etc.)
1125916-bit10?S9 sensor reference (set-point, etc.)
1126016-bit10?S10 sensor reference (set-point, etc.)

Watchdog / Failover

ECL 210/296/310 controllers use an internal watchdog for all SCADA values.

There is a poorly documented SCADA (before 2022) variable hidden at Modbus Number (PNU) 10399. Firmware version 1.54 and above contains support for a SCADA time-out register and newer documentation contains information regarding that functionality as well.

Modbus NumberSizeScaleDescriptionNote
1039916-bit1SCADA time-out (minutes)Available from FW 1.54

This value represents the number of minutes (Time-To-Live) after which any SCADA offset returns to zero (0).

This should be changed to 30 (minutes).

SCADA offset type

ECL 210/296/310 controllers use a control register to define the type of SCADA offset.

The value is a bitmask. Which, in order of least significant bit, represents the offset type for Modbus Number 10400 up to 10404.

Modbus NumberSizeScaleDescriptionNote
1039816-bit1SCADA bitmask for offset typeAvailable from FW 2.10

The bit value 0 represents relative offset. While 1 represents absolut offset.

For example, an 8bit value of 0b00010010 (18) activetes absolute offset for HS1 and HS4. While setting outdoortemp, HS2, HS3 remains as relative offset.

This should (in most cases) be set to 0 (all relative offset).


A NODA Modbus Gateway is required for installation.

Installation steps can be found under Modbus Gateway > Installation.


Before performing this step. Please ensure that you have finished all necessary steps in Modbus Gateway > Installation.

To complete the following steps, administrative access to NODA EnergyView is required. If you do not have administrative access to NODA EnergyView then setup has to be carried out by NODA support personell.

For each heating system controlled, NODA requires the following;

  • Outdoor sensors (C)
  • Supply and return temperature (C)
  • Offset of supply temperature (K)
  • M-Bus Heat Meter values
    • Supply and return temperature (C)
    • Energy (MWh)
    • Power (kW)
    • Volume (m3)
    • Flow (l/h)
  • Calculated supply temperature (C)

M-Bus Heat Meter values may be omitted if these values are transferred to NODA's system in some other way than via the Danfoss controller.


  • The NODA Modbus Gateway acts as a Modbus Client/Master and as a secure transport of data from and to the internet.
  • The Danfoss controller acts as a Modbus Server/Slave.



The NODA Modbus Gateway can be connected to the ECL controller either via the LAN1 port on the NODA Modbus Gateway or via the WAN port to an existing LAN network. For more details on this see NODA Modbus Gateway: Ethernet.


An ECL 210/296/310 can be connected via Modbus RTU over RS-485. This is done via the screw terminals 34 (B), 35 (A), 36 (S. Gnd). The bus must be terminated using 120 Ohm resistors.

All devices in the network must use the same communication settings. Multiple communication settings are not allowed;

  • 9600, 19200 or 38400 (default) baud rate
  • 1 start bit
  • 8 data bits
  • even parity
  • 1 stop bit

(a total of 11 bits).

RS-485 Pinout

  • RS-485 (A) should be wired to D_N and R_N.
  • RS-485 (B) should be wired to D_P and R_P.
  • RS-485 (GND) should be wired to GND.

For more details on this see NODA Modbus Gateway: RS-485.

USB Serial

The USB interface on the ECL Comfort 210/296/310 exposes an Modbus RTU interface.

As an alternative to the RS-485 interface, this interface can be used together with an RUT955/956 and the "USB Serial" support.

The following mapping is a recommended example of a single heating system installation using the A230.1 Application.

For other Applications you are required to extend this example as needed.

Holding registers

Modbus NumberValue typeMultiplicationDirectionSensor target
600616-bit signed integer0.01GETmeter_primsupplytemp (C)
600716-bit signed integer0.01GETmeter_primreturntemp (C)
6008,600932-bit signed integer?GETmeter_volumeflow (l/h)
6010,601132-bit signed integer?GETmeter_effect (kW)
6012,601332-bit unsigned integer0.1GETmeter_volume (m3)
6014,601532-bit unsigned integer0.0001GETmeter_heatenergy (MWh)
1120116-bit signed integer0.01GEToutdoortemp (C)
1120316-bit signed integer0.01GETsupplytemp_sec (C)
1120516-bit signed integer0.01GETreturntemp_sec (C)
1125316-bit signed integer0.01GETsupplytemp_sec_controller_setvalue (C)

Holding registers

Modbus NumberValue typeMultiplicationDirectionSensor target
1040116-bit signed integer10SETsupplytemp_sec_offset (K)