Domekt Komfovent C4 Plus Modbus Registers

From ivc wiki
Jump to navigationJump to search

Domekt Komfovent C4 is a AHU (Air Handling Unit) for use in a balanced HVAC system. The C4 is an older standard use from approx. 2011 to 2016.

If you have a unit without a control panel or want to interface the unit with an external automation. ex. Home Assistant, the following data will make that possible.

To make sure the unit works at all, jump the FC-wires together and the unit should start spinning at max. after three seconds. This confirms that the MCU works as expected.

Connection

Connect the unit to a computer using the provided RS485/ModBus cable extruding from the top. There is no need to add 820 Ohm 5V pull-up/gnd pull-down or 120 Ohm termination. It works fine as is.

The pin-out is as the following:

RJ-45 flat cable Wire color Function
Pin 1 Color Not used
Pin 2 Color Not used
Pin 3 Red +24VDC
Pin 4 Yellow RS485 A+
Pin 5 Green RS485 B-
Pin 6 White Gnd
Pin 7 Color Not used
Pin 8 Color Not used

Modbus settings

To establish a working connection, it's important to match the following connection parameters. A single wrong setting will make the connection not work at all.

Bits per second/baudrate 19200
Data bits/word length 8
Parity Even
Stop bits 1

It is also important to use the correct Modbus ID. It's the identifier on the bus and has to be correct in order for communication to happen with the AHU.

The C4 unit has a different Modbus ID than later models, so make sure to double check. Either of the following will work with only one unit on the Modbus line.

Modbus ID 20 (specific C4 identification address)
254 (common identification address)

Register list

The C4 unit uses the following Modbus data register functions to read and write data.

A CR2032 battery keeps the registers concurrent when the unit is unplugged, ex. the time and date.

The unit will respond 01 Illegal register or 01 Illegal data register if you are trying to access something that does not exist.

Read data: Function code 03 Operation status, temperatures, fans speed, and etc.
Write data single register: Function code 06 Turn on/off unit, set temperature, change auto/manual mode
Write data multiple registers: Function code 16 Set values with decimals/floating integers

Controller registers available on the C4 unit. When manually inquiring the unit, use the actual register address. This is because Domekt offsets the register address by times 10 and sutract -1, ex. 1000 => 99999.

General settings and status

Modbus register Actual register Type Access Range Description Data values
1000 99999 Read/write Integer 0..1 C4 Start/stop unit 1-Start, 0-Stop
1001 10000 Read/write Integer 0..1 Season, heating enabled or prohibited 1-Winter, 0-Summer
1002 10001 Read/write 2x Char 0x0000..0x2359 Time, hh:mm Ex. 8:05 => 0x0805
1003 10002 Read/write Integer 1-7 Day of the week 1-Mon, 2-Tue, 3-Wed, 4-Thu, 5-Fri, 6-Sat, 7-Sun
1004 10003 Read/write 2x Char 0x0101..0x1231 Month-day date Ex. 9th May => 0x0509
1005 10004 Read/write Integer 1900-2100 Year date Ex. 2023
1006 10005 Read/write Integer 1..100 Modbus ID, default 20 Ex. 20
1007 10006 Read Integer 11..14 Alarm status (warnings) 14-Service, 13-Heater off, 11-Rotor stop
1008 10007 Read Binary 0x00..0x7F [b0-b7, 0..1]
Ex. 0x40=>64=>01000000
b1=1, supply sensor B1 fault
Alarm status (stop flags) b1-Supply sensor B1,
b2-Heater overheating,
b3-Water temp. low,
b4-Rotor stop,
b5-Frost possibility,
b6-Air temp. high,
b7-Air temp. low
(1-Fault, 0-None)
1009 10008 Read Integer 3..28 Alarm status (stop code) 3-Rotor stop,
4-Heater overheating,
9-Supply sensor B1,
19-Air temp. low,
20-Air temp. high,
27-Water temp. low,
28-Frost possibility
1010 10009 Read Integer 0..100 Recuperation level (heat exchanger) 0 to 100%
1011 10010 Read Integer 0..100 Electric heater level (heating element) 0 to 100%
1012 10011 Read Integer 0..100 Water heating level (external, if installed) 0 to 100%
1013 10012 Read Integer 0..100 Water cooling level (external, if installed) 0 to 100%

Ventilation settings and status

Modbus register Type Access Range Description Data values
1100 Read/write Integer 1..3 Ventilation level (manual mode) 1-Low fan speed,
2-Normal fan speed (recommended),
3-High fan speed
1101 Read Integer 0..4 Ventilation level (current operation) 0-Standby,
1-Low fan speed,
2-Normal fan speed,
3-High fan speed,
4-Override mode
1102 Read/write Integer 0..1 Mode (Auto/Manual) 0-Manual (preset fan speed), 1-Auto (schedule)
1103 Read/write Integer 20..100 / 0 Intake ventilation intensity level 1 (EC-type fan) 20 to 100% (EC-fan only)
1104 Read/write Integer 20..100 / 0..2 Intake ventilation intensity level 2 (EC-type fan / AC-type fan) 20 to 100% (EC-fan), 0 to 2 (AC-fan)
1105 Read/write Integer 20..100 / 0 Intake ventilation intensity level 3 (EC-type fan) 20 to 100% (EC-fan only)
1106 Read/write Integer 20..100 / 0 Intake ventilation intensity level 4 (EC-type fan) 20 to 100% (EC-fan only)
1107 Read/write Integer 20..100 / 0 Exhaust ventilation intensity level 1 (EC-type fan) 20 to 100% (EC-fan only)
1108 Read/write Integer 20..100 / 0..2 Exhaust ventilation intensity level 2 (EC-type fan / AC-type fan) 20 to 100% (EC-fan), 0 to 2 (AC-fan)
1109 Read/write Integer 20..100 / 0 Exhaust ventilation intensity level 3 (EC-type fan) 20 to 100% (EC-fan only)
1110 Read/write Integer 20..100 / 0 Exhaust ventilation intensity level 4 (EC-type fan) 20 to 100% (EC-fan only)
1111 Read/write Integer 0..1 Override/"OVR"-mode 0-Disable, 1-Enable
1112 Read/write Integer 1..90 Override mode timer 1 to 90 minutes
1113 Read Integer 0..90 Override mode timer (current count down) 0 to 90 minutes
1114 Read Binary 0..1 AHU (Air Handling Unit) fans status 0-Stopped, 1-Operating
1115 Read Integer 0..100 Supply fan level (current level) 0 to 100%
1116 Read Integer 0..100 Exhaust fan level (current level) 0 to 100%

Temperature settings and status

Modbus register Type Access Range Description Data values
1200 Read Integer -300..750 Supply air temperature, C (to rooms) -30 to 75C, 10x C, ex. 250 => 25.0C
1201 Read/write Integer 0..300 Setpoint temperature, C (for calculation of recuperation, heating levels) 0 to 30C, 10x C, ex. 25.0C => 250
1202 Read/write Integer 0..300 Temperature correction, C (time based) -90 to +90C, 10x C, ex. +4.5C => 45
1203 Read/write 2x Char 0x0000..0x2359 Temperature correction start time Ex. 08:05 => 0x0805
1204 Read/write 2x Char 0x0000..0x2359 Temperature correction end time Ex. 15:05 => 0x1505
1205 Read Integer -100..1100 Water temperature, C (external, if installed) -10 to 110C, 10x C, ex. 320 => 32.0C

Schedule settings

Modbus register Type Access Range Description Data values
1300 Read/write 2x Char 0x0000..0x2359 Mon1 start time Ex. 08:05 => 0x0805
1301 Read/write 2x Char 0x0000..0x2359 Mon1 stop time Ex. 15:05 => 0x1505
1302 Read/write 2x Char 0x0000..0x2359 Mon2 start time Ex. 08:05 => 0x0805
1303 Read/write 2x Char 0x0000..0x2359 Mon2 stop time Ex. 15:05 => 0x1505
1304 Read/write 2x Char 0x0000..0x2359 Mon3 start time Ex. 08:05 => 0x0805
1305 Read/write 2x Char 0x0000..0x2359 Mon3 stop time Ex. 15:05 => 0x1505
1306 Read/write 2x Char 0x0000..0x2359 Tue1 start time Ex. 08:05 => 0x0805
1307 Read/write 2x Char 0x0000..0x2359 Tue1 stop time Ex. 15:05 => 0x1505
1308 Read/write 2x Char 0x0000..0x2359 Tue2 start time Ex. 08:05 => 0x0805
1309 Read/write 2x Char 0x0000..0x2359 Tue2 stop time Ex. 15:05 => 0x1505
1310 Read/write 2x Char 0x0000..0x2359 Tue3 start time Ex. 08:05 => 0x0805
1311 Read/write 2x Char 0x0000..0x2359 Tue3 stop time Ex. 15:05 => 0x1505
1312 Read/write 2x Char 0x0000..0x2359 Wed1 start time Ex. 08:05 => 0x0805
1313 Read/write 2x Char 0x0000..0x2359 Wed1 stop time Ex. 15:05 => 0x1505
1314 Read/write 2x Char 0x0000..0x2359 Wed2 start time Ex. 08:05 => 0x0805
1315 Read/write 2x Char 0x0000..0x2359 Wed2 stop time Ex. 15:05 => 0x1505
1316 Read/write 2x Char 0x0000..0x2359 Wed3 start time Ex. 08:05 => 0x0805
1317 Read/write 2x Char 0x0000..0x2359 Wed3 stop time Ex. 15:05 => 0x1505
1318 Read/write 2x Char 0x0000..0x2359 Thu1 start time Ex. 08:05 => 0x0805
1319 Read/write 2x Char 0x0000..0x2359 Thu1 stop time Ex. 15:05 => 0x1505
1320 Read/write 2x Char 0x0000..0x2359 Thu2 start time Ex. 08:05 => 0x0805
1321 Read/write 2x Char 0x0000..0x2359 Thu2 stop time Ex. 15:05 => 0x1505
1322 Read/write 2x Char 0x0000..0x2359 Thu3 start time Ex. 08:05 => 0x0805
1323 Read/write 2x Char 0x0000..0x2359 Thu3 stop time Ex. 15:05 => 0x1505
1324 Read/write 2x Char 0x0000..0x2359 Fri1 start time Ex. 08:05 => 0x0805
1325 Read/write 2x Char 0x0000..0x2359 Fri1 stop time Ex. 15:05 => 0x1505
1326 Read/write 2x Char 0x0000..0x2359 Fri2 start time Ex. 08:05 => 0x0805
1327 Read/write 2x Char 0x0000..0x2359 Fri2 stop time Ex. 15:05 => 0x1505
1328 Read/write 2x Char 0x0000..0x2359 Fri3 start time Ex. 08:05 => 0x0805
1329 Read/write 2x Char 0x0000..0x2359 Fri3 stop time Ex. 15:05 => 0x1505
1330 Read/write 2x Char 0x0000..0x2359 Sat1 start time Ex. 08:05 => 0x0805
1331 Read/write 2x Char 0x0000..0x2359 Sat1 stop time Ex. 15:05 => 0x1505
1332 Read/write 2x Char 0x0000..0x2359 Sat2 start time Ex. 08:05 => 0x0805
1333 Read/write 2x Char 0x0000..0x2359 Sat2 stop time Ex. 15:05 => 0x1505
1334 Read/write 2x Char 0x0000..0x2359 Sat3 start time Ex. 08:05 => 0x0805
1335 Read/write 2x Char 0x0000..0x2359 Sat3 stop time Ex. 15:05 => 0x1505
1336 Read/write 2x Char 0x0000..0x2359 Sun1 start time Ex. 08:05 => 0x0805
1337 Read/write 2x Char 0x0000..0x2359 Sun1 stop time Ex. 15:05 => 0x1505
1338 Read/write 2x Char 0x0000..0x2359 Sun2 start time Ex. 08:05 => 0x0805
1339 Read/write 2x Char 0x0000..0x2359 Sun2 stop time Ex. 15:05 => 0x1505
1340 Read/write 2x Char 0x0000..0x2359 Sun3 start time Ex. 08:05 => 0x0805
1341 Read/write 2x Char 0x0000..0x2359 Sun3 stop time Ex. 15:05 => 0x1505
1342 Read/write Integer 0..3 Mon1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1343 Read/write Integer 0..3 Mon2 ventilation level (fan speed) 0 to 3
1344 Read/write Integer 0..3 Mon3 ventilation level (fan speed) 0 to 3
1345 Read/write Integer 0..3 Tue1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1346 Read/write Integer 0..3 Tue2 ventilation level (fan speed) 0 to 3
1347 Read/write Integer 0..3 Tue3 ventilation level (fan speed) 0 to 3
1348 Read/write Integer 0..3 Wed1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1349 Read/write Integer 0..3 Wed2 ventilation level (fan speed) 0 to 3
1350 Read/write Integer 0..3 Wed3 ventilation level (fan speed) 0 to 3
1351 Read/write Integer 0..3 Thu1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1352 Read/write Integer 0..3 Thu2 ventilation level (fan speed) 0 to 3
1353 Read/write Integer 0..3 Thu3 ventilation level (fan speed) 0 to 3
1354 Read/write Integer 0..3 Fri1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1355 Read/write Integer 0..3 Fri2 ventilation level (fan speed) 0 to 3
1356 Read/write Integer 0..3 Fri3 ventilation level (fan speed) 0 to 3
1357 Read/write Integer 0..3 Sat1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1358 Read/write Integer 0..3 Sat2 ventilation level (fan speed) 0 to 3
1359 Read/write Integer 0..3 Sat3 ventilation level (fan speed) 0 to 3
1360 Read/write Integer 0..3 Sun1 ventilation level (fan speed) 0-Standby, 1-Low, 2-Normal, 3-High
1361 Read/write Integer 0..3 Sun2 ventilation level (fan speed) 0 to 3
1362 Read/write Integer 0..3 Sun3 ventilation level (fan speed) 0 to 3