<-header--> <---data header----> <-data-> <-crc->
00 01 02 03 04 05 06 07 08 09 10 11 -1 last
a0 00 xx xx xx xx xx xx xx xx xx xx xx xx xx xx
|| || || || ^^ ^^ - CRC-16/MCRF4XX
|| || || ^^ - dataLength
|| || ^^ - frame type
^^ ^^ - frame begin
0x10 5s heartbeat
0x11 remote request
0x12 at boot
0x15 second remote?
0x17 data request
0x18 ack
0x1a data response
0x1c status data update
0x55 30s status often corrupted
0x58 19 30s status (long)
0x58 0b 30m status (short)
0x98 at boot
0x95 at boot
<---data header----> <-data->
00 01 02 03 04 05 06 07
|| ^^ ^^ - data type
^^ - destination ?
fe - broadcast ?
00 - master ?
40 - remote ?
00 8a - heartbeat
03 c6 - status
03 c4 - mode change
00 41 - operation switch
03 c1 - temperature change
00 15 - force defrost
00 80 - data request
00 ef - data response
00 a1 - ack
00 2b - ?
a0 00 10 07 00 08 00 00 fe 00 8a 75 05
a0 00 58 19 00 08 00 00 fe 03 c6 c1 30 10 78 5c 7a 78 5c 7a 00 00 00 00 00 e9 89 5e 00 41 4a
a0 00 58 19 00 08 00 00 fe 03 c6 c1 30 12 78 62 7a 78 5e 6c 00 10 00 00 00 e9 84 5d 00 d8 d0 - night mode on
a0 00 58 19 00 08 00 00 fe 03 c6 c2 24 18 78 60 7a 78 5e 55 00 10 00 00 00 e9 58 68 00 f1 4b
a0 00 58 19 00 08 00 00 fe 03 c6 c1 00 10 76 5c 7a 76 5c 7a 00 00 00 00 00 e9 7d 5a 00 34 e2
a0 00 58 19 00 08 00 00 fe 03 c6 c0 20 00 76 5a 7a 76 50 70 00 10 00 00 00 e9 5d 58 00 ca 49
a0 00 58 19 00 08 00 00 fe 03 c6 c0 00 00 76 5a 7a 76 5a 7a 00 00 00 00 00 e9 5d 58 00 a6 1c
|| || || || || || || || || || || ^^ 27 - TWI (0x68 / 0x02 - 0x10) ?
|| || || || || || || || || || ^^ 26 - TWO (0x58 / 0x02 - 0x10) ?
|| || || || || || || || || ^^ 21 - +0x02 defrost in progress, +0x10 night mode active
|| || || || || || || || ^^ 19 - follow set zone 2 temperature, actual target temperature (including night setback) ?
|| || || || || || || ^^ 18 - follow set zone 1 temperature, actual target temperature (including night setback) ?
|| || || || || || ^^ 17 - follow set hot water temperature, actual target temperature ?
|| || || || || ^^ 16 - set zone 2 temperature 0x7a / 0x02 - 0x10 ?
|| || || || ^^ 15 - set zone1 temperature 0x60 / 0x02 - 0x10
|| || || ^^ 14 - set hot water temperature 0x76 / 0x02 - 0x10
|| || ^^ 13 - 0x00 -> off, +0x01 backup e-heater, +0x02 heating cmp on, +0x04 HW e-heater, +0x08 HW cmp on, +0x10 -> pump1 on
|| ^^ 12 - 0x00 off, +0x04 auto mode on, +0x10 quiet on, +0x20 night on
^^ 11 - c0 all off, c1 heating on, c2 hot water on, c3 heating + hot water
a0 00 1c 0f 00 08 00 00 fe 03 c6 c1 00 12 76 60 7a 00 00 15 4c
a0 00 1c 0f 00 08 00 00 fe 03 c6 c0 20 00 76 5a 7a 10 00 b8 5b
|| || || || || || ^^ 17 - +0x02 defrost in progress, +0x10 night mode active
|| || || || || ^^ 16 - set zone 2 temperature 0x7a / 0x02 - 0x10 ?
|| || || || ^^ 15 - set zone1 temperature 0x60 / 0x02 - 0x10
|| || || ^^ 14 - set hot water temperature 0x76 / 0x02 - 0x10
|| || ^^ 13 - 0x00 -> off, +0x01 backup e-heater, +0x02 heating cmp on, +0x04 HW e-heater, +0x08 HW cmp on, +0x10 -> pump1 on
|| ^^ 12 - 0x00 off, +0x04 auto mode on, +0x10 quiet on, +0x20 night on
^^ 11 - c0 all off, c1 heating on, c2 hot water on, c3 heating + hot water
a0 00 18 09 00 08 00 08 00 00 a1 00 41 c1 95
^^ ^^ - frame with this data type ack'd
a0 00 17 0f 00 00 40 08 00 00 80 00 ef 00 2c 08 00 06 00 2c 40
|| || ^^ - requested data code
^^ ^^ - frame with this data type expected ?
a0 00 1a 0d 00 08 00 00 40 00 ef 00 80 00 2c 00 1f 73 83
a0 00 1a 0d 00 08 00 00 40 00 ef 00 80 00 a2 00 2c 6c 6c
|| || || ^^ ^^ - data for requested code (int16BE)
|| || ^^ - 0x2c -> data available, 0xa2 -> data not available
^^ ^^ - response to frame with this type ?
command byte 11
a0 00 11 08 00 00 40 08 00 00 41 23 8f 38 -> on, 0x23
a0 00 11 08 00 00 40 08 00 00 41 22 9e b1 -> off, 0x22
a0 00 11 08 00 08 00 08 00 00 41 03 72 07 -> on, 0x03 by digital input
a0 00 11 08 00 08 00 08 00 00 41 02 63 8e -> off, 0x02 by digital input
a0 00 11 08 00 00 40 08 00 00 41 2c 77 cf -> on, 0x2c
a0 00 11 08 00 00 40 08 00 00 41 28 31 eb -> off, 0x28
a0 00 11 08 00 08 00 08 00 00 41 0c crc -> on, 0x0c by digital input
a0 00 11 08 00 08 00 08 00 00 41 08 cc d4 -> off, 0x08 by digital input
command byte 11
value byte 12
a0 00 11 0b 00 00 40 08 00 03 c4 01 00 00 00 de df -> on, command 0x01, value 0x01
a0 00 11 0b 00 00 40 08 00 03 c4 01 01 00 00 84 03 -> off, command 0x01, value 0x00
Quiet mode must be enabled in controller all the time to be able to switch on and off with commands.
a0 00 11 0b 00 00 40 08 00 03 c4 04 04 00 00 d3 e9 -> on, command 0x04, value 0x04 (0x01 << 2)
a0 00 11 0b 00 00 40 08 00 03 c4 04 00 00 00 b0 88 -> off, command 0x04, value 0x00
a0 00 11 0b 00 00 40 08 00 03 c4 04 04 00 00 d3 e9 -> activate, command 0x04, value 0x04 (0x01 << 2) ?
a0 00 11 0b 00 00 40 08 00 03 c4 04 00 00 00 b0 88 -> deactivate, command 0x04, value 0x00 ?
a0 00 11 0b 00 00 40 08 00 03 c4 88 08 00 00 cc 10 -> on, command 0x88, value 0x08 (0x01 << 3)
a0 00 11 0b 00 00 40 08 00 03 c4 88 88 00 00 c0 fc -> on and activate, command 0x88, value 0x88 ?
a0 00 11 0b 00 00 40 08 00 03 c4 88 00 00 00 0a d2 -> off, command 0x88, value 0x00
a0 00 11 0b 00 00 40 08 00 03 c4 88 88 00 00 c0 fc -> activate, command 0x88, value 0x88 (0x11 << 3) current | 0x80
a0 00 11 0b 00 00 40 08 00 03 c4 88 08 00 00 crc -> deactivate, command 0x88, value 0x08 (0x01 << 3) current & 0x08
command 8c = 04 | 88
value 0c = 04 | 08
a0 00 11 0b 00 00 40 08 00 03 c4 8c 0c 00 00 dd 9d -> combined quiet mode activate + night mode deactivate
command byte 12
value byte 13
a0 00 11 0a 00 00 40 08 00 00 15 00 46 01 e7 25 -> on, command 0x46, value 0x01
a0 00 11 0a 00 00 40 08 00 00 15 00 46 00 f6 ac -> off, command 0x46, value 0x00
command byte 11
a0 00 11 0c 00 00 40 08 00 03 c1 02 5c 7a 76 5c b2 d1 -> command 0x02, value offset 12 and 15, value = (temp + 16) * 2
a0 00 11 0c 00 00 40 08 00 03 c1 04 5c 7a 76 5c crc -> command 0x04, value offset 13, value = (temp + 16) * 2 ?
a0 00 11 0c 00 00 40 08 00 03 c1 08 00 12 78 5c e5 c4
a0 00 11 0c 00 00 40 08 00 03 c1 08 00 00 70 00 83 c0 -> command 0x08, value offset 14, value = (temp + 16) * 2
a0 00 17 0f 00 00 40 08 00 00 80 00 ef 00 2c 08 00 07 00 35 98 -> request data by code, offset 17 value 0x00 - 0xff