Java library to communicate with a Danfoss ECL300 heating controller
This project consists of a Java library and a command line application to communicate with a Danfoss ECL300 heating controller using the serial (RS-232) interface. You can:
- execute a command and read the response.
- read all parameters
- log sensor values and write to a file
- dump memory content
- send commands by directly providing byte values
The library is mainly for reading values. Writing is possible using lower level commands.
WARNING: This library directly communicates with the hardware. Using this may permantly damage your controller, there are no means of protection implemented. USE IT AT YOUR OWN RISK!!!
This library is for educational purpose only.
Example:
java -cp lib/rxtx-2.2.2.jar:bin org.jensix.ecl300.Serial <see usage below>
Usage: <command> | all | getPorts | log <path>> | dump <path> <address> | sendCommand b1 b2 b3 b4
command one of:
READ_APPLICATION
READ_SENSOR_1
READ_SENSOR_2
READ_SENSOR_3
READ_SENSOR_4
READ_SENSOR_5
READ_SENSOR_6
READ_CALC_FLOW_TEMP_1
READ_CALC_FLOW_TEMP_2
READ_CALC_RETURN_TEMP_1
READ_CALC_RETURN_TEMP_2
READ_ROOM_TEMP_1
READ_ROOM_TEMP_2
READ_OUTDOOR_TEMP
READ_MODE_1
READ_MODE_2
READ_MODE_3
READ_TIME_MONTH_YEAR
READ_TIME_DAY_HOUR
READ_TIME_MIN_SEC
READ_TIME
READ_PUMP
READ_VALVE
CHOICE_TIME_CONTROL_UNIT_1_10
CANCEL_REDUCED_TEMP_1_11
REFERENCE_RAMPING_1_13
OPTIMIZE_CONST_1_14
ADAPT_FUNC_ROOM_TEMP_1_15
TEMP_REF_FEEDBACK_1_17
OPTIMIZE_ROOM_OUTDOOR_1_20
TOTAL_STOP_1_21
PUMP_MOTION_1_22
VALVE_MOTION_1_23
GEAR_THERMO_MOTOR_1_24
RETURN_TEMP_LIMIT_CONST_1_30
RETURN_TEMP_LIMIT_UPPER_X_1_31
RETURN_TEMP_LIMIT_UPPER_Y_1_32
RETURN_TEMP_LIMIT_LOWER_X_1_33
RETURN_TEMP_LIMIT_LOWER_Y_1_34
RETURN_TEMP_LIMIT_INFL_MAX_1_35
RETURN_TEMP_LIMIT_INFL_MIN_1_36
ADAPT_FUNC_RETURN_LIMITER_1_37
CHARGE_PUMP_POST_RUN_PRIMARY_1_40
CHARGE_PUMP_POST_RUN_SECONDARY_1_41
PRIORITY_OR_PARALLEL_OP_1_43
MAX_HOTWATER_LOAD_TIME_1_44
MAX_HOTWATER_LOCK_TIME_1_45
CHARGE_PUMP_OR_DIVERTING_VALUE_1_51
PI_REF_DURING_HWS_1_53
CIRCULATION_DURING_HOTWATER_LOAD_1_55
ADAPT_FUNC_COMPENSATION_1_67
SETPOINT_MISC_1_78
TIME_SETUP_MISC_1_80
APP_SELECTION_3_MISC_1_83
ACTUAL_FLOW_ENERGY_1_110
ACTUAL_SETPOINT_FLOW_ENERGY_1_111
TAU_FLOW_INTEGRATOR_1_112
TAU_FLOW_FILTER_INTEGRATOR_1_113
TYPE_FLOW_PULSE_UNIT_1_114
FLOW_UNIT_1_115
FLOW_LIMIT_UPPER_Y_1_116
FLOW_LIMIT_LOWER_Y_1_117
SENSOR_TYPE_1_140
OVERRIDE_VIA_SENSOR_INPUT_1_141
MAX_TANK_TEMP_1_152
PROTECT_1_174
HEATING_CURVE_1_175
PARALLEL_DISPLACEMENT_1_176
FLOW_TEMP_MIN_1_177
FLOW_TEMP_MAX_1_178
HEATING_CUT_OUT_1_179
ROOM_TEMP_DAY_SETPOINT_1_180
ROOM_TEMP_NIGHT_SETPOINT_1_181
ROOM_TEMP_INFLUENCE_MAX_1_182
ROOM_TEMP_INFLUENCE_MIN_1_183
PROPORTIONAL_BAND_1_184
INTEGRATION_CONSTANT_1_185
MOTOR_VALUE_RUNNING_TIME_1_186
NEUTRAL_ZONE_1_187
DIFFERENTIAL_1_CUT_OUT_TEMP_1_194
DIFFERENTIAL_2_CUT_IN_TEMP_1_195
SERVICE_PIN_LON_1_196
LON_RESET_1_197
SUMMER_TIME_CHANGE_1_198
SLAVE_ADDRESS_1_199
ROOM_TEMP_1_211
S2_SENSOR_REFERENCE_1_229
S3_SENSOR_REFERENCE_1_230
CHOICE_TIME_CONTROL_UNIT_2_10
CANCEL_REDUCED_TEMP_2_11
REFERENCE_RAMPING_2_13
OPTIMIZE_CONST_2_14
ADAPT_FUNC_ROOM_TEMP_2_15
OPTIMIZE_ROOM_OUTDOOR_2_20
TOTAL_STOP_2_21
PUMP_MOTION_2_22
VALVE_MOTION_2_23
GEAR_THERMO_MOTOR_2_24
RETURN_TEMP_LIMIT_UPPER_X_2_31
RETURN_TEMP_LIMIT_UPPER_Y_2_32
RETURN_TEMP_LIMIT_LOWER_X_2_33
RETURN_TEMP_LIMIT_LOWER_Y_2_34
RETURN_TEMP_LIMIT_INFL_MAX_2_35
RETURN_TEMP_LIMIT_INFL_MIN_2_36
ADAPT_FUNC_RETURN_LIMITER_2_37
PRIORITY_OR_PARALLEL_OP_2_43
CLOSED_VALVE_PI_REGULATION_2_52
ACTUAL_FLOW_ENERGY_2_110
ACTUAL_SETPOINT_FLOW_ENERGY_2_111
TAU_FLOW_INTEGRATOR_2_112
TAU_FLOW_FILTER_INTEGRATOR_2_113
TYPE_FLOW_PULSE_UNIT_2_114
FLOW_UNIT_2_115
FLOW_LIMIT_UPPER_Y_2_116
FLOW_LIMIT_LOWER_Y_2_117
OVERRIDE_VIA_SENSOR_INPUT_2_141
PROTECT_2_174
HEATING_CURVE_2_175
PARALLEL_DISPLACEMENT_2_176
FLOW_TEMP_MIN_2_177
FLOW_TEMP_MAX_2_178
HEATING_CUT_OUT_2_179
ROOM_TEMP_DAY_SETPOINT_2_180
ROOM_TEMP_NIGHT_SETPOINT_2_181
ROOM_TEMP_INFLUENCE_MAX_2_182
ROOM_TEMP_INFLUENCE_MIN_2_183
PROPORTIONAL_BAND_2_184
INTEGRATION_CONSTANT_2_185
MOTOR_VALUE_RUNNING_TIME_2_186
NEUTRAL_ZONE_2_187
ROOM_TEMP_2_211
S2_SENSOR_REFERENCE_2_229
S3_SENSOR_REFERENCE_2_230
HOT_WATER_TEMP_DAY_SETPOINT_3_190
HOT_WATER_TEMP_NIGHT_SETPOINT_3_191
S6_SENSOR_3_206
S11_EXTRA_SENSOR_3_208
S12_EXTRA_SENSOR_3_209