From cfae38330090a724cddeb518ef0544b7a99a0a41 Mon Sep 17 00:00:00 2001 From: budulinek Date: Mon, 24 Apr 2023 09:48:22 +0200 Subject: [PATCH] Release v1.0 --- Payload-data-read.md | 818 ++++++++++-------- README.md | 110 ++- .../advanced_settings.h | 2 +- .../arduino-altherma-controller.ino | 18 +- .../src/P1P2Serial_mod/P1P2Serial_mod.cpp | 2 +- pics/loxone10.png | Bin 0 -> 57302 bytes pics/loxone8.png | Bin 0 -> 31554 bytes pics/loxone9.png | Bin 0 -> 57800 bytes 8 files changed, 551 insertions(+), 399 deletions(-) create mode 100644 pics/loxone10.png create mode 100644 pics/loxone8.png create mode 100644 pics/loxone9.png diff --git a/Payload-data-read.md b/Payload-data-read.md index 0f9abcd..0c4bf9f 100644 --- a/Payload-data-read.md +++ b/Payload-data-read.md @@ -23,359 +23,473 @@ This document describes payload data of few **selected readable packet types** ( ### Data types -The following data types were observed in the payload. Bytes are ordered ordered in a "normal" way, i.e. big endian: - -| Data type | Definition | -| --------- | ------------------------------------------------------------ | -| flag8 | byte composed of 8 single-bit flags | -| u8 | unsigned 8-bit integer 0 .. 255 | -| u16 | unsigned 16-bit integer 0..65535 | -| u24 | unsigned 24-bit integer 0..16777215 | -| f8.8 | signed fixed point value : 1 sign bit, 7 integer bit, 8 fractional bits (two’s compliment, see explanation below) | -| f8/8 | Daikin-style fixed point value: 1st byte is value before comma, and 2nd byte is first digit after comma (see explanation below) | -| s-abs4 | Daikin-style temperature deviation: bit 4 is sign bit, bits 0-3 is absolute value of deviation | - -Explanation of **f8.8** format: a temperature of 21.5°C in f8.8 format is represented by the 2-byte value in 1/256th of a unit as 1580 hex (1580hex = 5504dec, dividing by 256 gives 21.5). A temperature of -5.25°C in f8.8 format is represented by the 2-byte value FAC0 hex (FAC0hex = - (10000hex-FAC0hex) = - 0540hex = - 1344dec, dividing by 256 gives -5.25). - -Explanation of **f8/8** format: a temperature of 21.5°C in f8/8 format is represented by the byte value of 21 (0x15) followed by the byte value of 5 (0x05). So far this format was only detected for the setpoint temperature, which is usually not negative, so we don't know how negative numbers are stored in this format. - -# Packet type 0x10 - -### Packet type 0x10: request - -Header: 0x000010 - -| Data byte | Description | Data type | Bit: description | -| --------- | -------------------------------- | --------- | ------------------------------------------------------------ | -| 0 | Climate | flag8 | 0: power (off/on) | -| 1 | Climate status | flag8 | 0: heating (off/on)
1: cooling (off/on)
7: status (standby / running) | -| 2 | DHW tank | flag8 | 0: power (off/on) | -| 3 | ? | | | -| 4 | ? | | | -| 5 | ? | | | -| 6 | ? | | | -| 7 | Target room temperature | u8 | | -| 8 | ? | | | -| 9 | Heating/cooling operation mode ? | flag8 | 5: ?
6: ? | -| 10 | Quiet mode | flag8 | 2: quiet mode (off/on) | -| 11 | ? | | | -| 12 | ?? | flag8 | 3: ? | -| 13 | ? | | | -| 14 | ? | | | -| 15 | ?? | flag8 | 0: ?
1: ?
2: ?
3: ? | -| 16 | ? | | | -| 17 | DHW tank mode | flag8 | 1: booster (off/on)
6: operation (off/on) | -| 18-19 | DHW target temperature | f8/8 | | - -### Packet type 0x10: response - -Header: 0x400010 - -| Data byte | Description | Data type | Bit: description | -| ---------- | ----------------------- | ---------- | ------------------------------------------------------------ | -| 0 | LWT control | flag8 | 0: LWT control (off/on) | -| 1 | ?? | flag8 | 7: ? | -| 2 | Valves | flag8 | 0: heating (off/on)
1: cooling (off/on)
4: ?
5: main zone (off/on)
6: additional zone (off/on)
7: DHW tank (off/on) | -| 3 | DHW control | flag8 | 0: DHW control (off/on)
4: DHW boost (off/on) | -| 4-5 | DHW target temperature | f8/8 | | -| 6 | ?? | flag8 | 0: ?
1: ?
2: ?
3: ? | -| 7 | ? | | | -| 8 | Target room temperature | u8 | | -| 9 | ? | | | -| 10 | Space operation mode | flag8 | 1: ?
3: ?
4: ?
5: auto (off/on)
6: ? | -| 11 | Quiet mode | flag8 | 2: quiet mode (off/on) | -| 12-16 | ? | | | -| 17 | Operation mode | flag8 | 0: DHW boost (off/on)
1: Defrost (off/on)
6: DHW (off/on) | -| 18 | Pump and compressor | flag8 | 0: compressor (off/on)
3: pump (off/on) | -| 19 | DHW ? | flag8 | 1: ?
0: mode?? | - -# Packet type 0x11 - -### Packet type 0x11: request - -Header: 0x000011 - -| Data byte | Description | Data type | Bit: description | -| ---------- | ----------------------- | ---------- | ----------------- | -| 0-1 | Actual room temperature | f8.8 | | -| 2 | ? | | | -| 3 | ? | | | -| 4 | ? | | | -| 5 | ? | | | -| 6 | ? | | | -| 7 | ? | | | - -### Packet type 0x11: response - -Header: 0x400011 - -| Data byte | Description | Data type | Bit: description | -| --------- | ------------------------------------------------------------ | --------- | ---------------- | -| 0-1 | Leaving water temperature | f8.8 | | -| 2-3 | DHW temperature | f8.8 | | -| 4-5 | Outside temperature 1 (raw; in 0.5 degree resolution) | f8.8 | | -| 6-7 | Returning water temperature | f8.8 | | -| 8-9 | Mid-way temperature (heat exchanger) | f8.8 | | -| 10-11 | Refrigerant temperature | f8.8 | | -| 12-13 | Actual room temperature | f8.8 | | -| 14-15 | External temperature sensor (if connected);
otherwise Outside temperature 2 derived from external unit sensor, but stabilized; it does not change during defrosts; it also adds extra variations not in raw outside temperature, perhaps due to averaging over samples | f8.8 | | -| 16-17 | ? | | | - -# Packet type 0x12 - -### Packet type 0x12: request - -Header: 0x000012 - -| Data byte | Description | Data type | Bit: description | -| ---------- | ------------------------------------------------------------ | --------- | --------------------------------- | -| 0 | new hour value | flag8 | 1: new-hour or restart indicator | -| 1 | day of week (0=Monday, 6=Sunday) | u8 | | -| 2 | time - hours | u8 | | -| 3 | time - minutes | u8 | | -| 4 | date - year (0x13 = 2019) | u8 | | -| 5 | date - month | u8 | | -| 6 | date - day of month | u8 | | -| 7-11 | ? | u8 | | -| 12 | upon restart: 1x 00; 1x 01; then 41; a single value of 61 triggers an immediate restart | flag8 | 1: ?
5: reboot
6: ? | -| 13 | once 00, then 04 | flag 8 | 2: ? | -| 14 | ? | | | - -### Packet type 0x12: response - -Header: 0x400012 - -| Data byte | Description | Data type | Bit: description | -| --------- | --------------------------------------------------------- | --------- | ------------------------------------------------------------ | -| 0 | ?? | | | -| 1 | ?? | | | -| 2-9 | ? | | | -| 9 | External thermostat main | flag8 | 1: main B - cooling (off/on)
2: main A - heating (off/on) | -| 10 | kWh preference input(s)
External thermostat additional | flag8 | 4: preference kWh input
7: additional B - cooling (off/on) | -| 11 | Current limit in 0.1 A ?? | u8 | | -| 12 | operating mode | flag8 | 0: heat pump? 6: gas? 7: DHW active2 ? | -| 13 | ? | | | -| 14-29 | ? | | | - - -# Packet type 0x13 - -### Packet type 0x13: request - -Header: 0x000013 - -| Data byte | Description | Data type | Bit: description | -| --------- | ---------------------------------- | --------- | ---------------- | -| 0-1 | ? | | | -| 2 | first package 0x00 instead of 0xD0 | flag8 ? | | - -### Packet type 0x13: response - -Header: 0x400013 - -| Data byte | Description | Data type | Bit: description | -| --------------- | ------------------------------------------------------------ | ----------- | ---------------- | -| 0 | DHW target temperature
(one packet delayed/from/via boiler?/ 0 in first packet after restart) | u8 / f8.8 ? | | -| 1 | ? | | | -| 2 | ?? | | | -| 3 | ?? | | | -| 4-6 | ? | | | -| 7 | no flow | | FF = no flow | -| 8-9 | flow (in 0.1 l/min) | u16 | | -| 10-11 | software version inner unit | u16 | | -| 12-13 | software version outer unit | u16 | | -| EHV only: 14 | ?? | u8 | | -| EHV only: 15 | ?? | u8 | | - -# Packet type 0x14 - -### Packet type 0x14: request - -Header: 0x000014 - -| Data byte | Description | Data type | Bit: description | -| --------- | --------------------------------------------------------- | ---------- | ----------------- | -| 0-1 | Target LWT main zone | f8/8 | | -| 2 | ?? | | | -| 3 | ? | | | -| 4 | ?? first package 0x37 instead of 0x2D (55 instead of 45) | u8 | | -| 5 | ? | | | -| 6 | ?? first package 0x37 instead of 0x07 | u8 | | -| 7 | ? | | | -| 8 | delta-T | s-abs4 | | -| 9 | ?? night/eco related mode ? 7:00: 02 9:00: 05 | | | -| 10-11 | ? | | | -| 12 | first package 0x37 instead of 0x00 | | | -| 13-14 | ? | | | - -### Packet type 0x14: response - -Header: 0x400014 - -| Data byte | Description | Data type | Bit: description | -| ---------- | ------------------------------------ | ---------- | ----------------- | -| 0-1 | Target LWT main zone (desired) | f8/8 | | -| 2-3 | ?? | f8/8 | | -| 4-5 | Target LWT additional zone (desired) | f8/8 | | -| 6 | ? | | | -| 7 | ? | | | -| 8 | ? LWT offset | | | -| 9 | ? | | | -| 10-14 | | | | -| 15-16 | Target LWT main zone (actual) | f8/8 | | -| 17-18 | Target LWT additional zone (actual) | f8/8 | | - -# Packet type 0x15 - -### Packet type 0x15: request - -Header: 0x000015 - -| Data byte | Description | Data type | Bit: description | -| --------- | -------------------------- | --------- | ---------------- | -| 0 | ? | | | -| 1-2 | operating mode? 7:30: 01D6 | | | -| 3 | ? | | | -| 4 | ?? | | | -| 5 | ?? | | | - -### Packet type 0x15: response - -Header: 0x400015 - -| Data byte | Description | Data type | Bit: description | -| --------- | ------------------------------------------------ | --------- | ---------------- | -| 0-1 | ? | | | -| 2-3 | Refrigerant temperature in 0.5 degree resolution | f8.8 | | -| 4-5 | ? | | | -| 6* | parameter number (see table bellow) | u8 | | -| 7* | (part of parameter or parameter value?) | u8 | | -| 8* | ?? | u8 | | - -*observed on Daikin Altherma LT (EHVH/EHVX) heat pumps, missing on Daikin Altherma Hybrid (EHYHBX) - -| Parameter number | Parameter Value | Description | Data type | Bit: description | -| ---------------- | --------------- | ------------------ | --------- | ---------------- | -| 05 | 96 | 15.0 degree ? | u8div10 | | -| 08 | 73,78,7D | 11.5, 12.0, 12.5 ? | u8div10 | | -| 0A | C3,C8 | 19.5, 20.0 | u8div10 | | -| 0C | 6E,73,78 | 11.0, 11.5, 12.0 | u8div10 | | -| 0E | B9,BE | 18.5, 19.0 | u8div10 | | -| 0F | 68,6B | 10.4, 10.7 | u8div10 | | -| 10 | 05 | 0.5 | u8div10 | | -| 19 | 01 | 0.1 | u8div10 | | -| others | 00 | ?? | u8 | | - - -# Packet type 0x16 - -observed on Daikin Altherma LT (EHVH/EHVX) heat pumps, missing on Daikin Altherma Hybrid (EHYHBX) - -### Packet type 0x16: request - -Header: 0x000016 - -| Data byte | Description | Data type | Bit: description | -| --------- | ----------------- | --------- | ---------------- | -| 0-1 | ? | | | -| 2-3 | room temperature? | f8.8 | | -| 4-15 | ? | | | - -### Packet type 0x16: response - -Header: 0x400016 - -| Data byte | Description | Data type | Bit: description | -| --------- | -------------------------------- | --------- | ---------------- | -| 0 | Current in 0.1 A | u8div10 | | -| 1 | Power input in 0.1 kW | u8div10 | | -| 2 | ? | | | -| 3 | ? | | | -| 4 | ? | | | -| 5 | ? | | | -| 6 | Heating/cooling output in 0.1 kW | u8div10 | | -| 7 | DHW output in 0.1 kW | u8div10 | | -| 8 | ?? | | | - -# Packet type 0xB8 - -These packets contain counters for energy consumed and produced, operating hours and number of starts. Communication in packet type B8 is specific. In request, master specifies data type it would like to receive. Slave (heat pump) responds with the requested data type. - -### Packet type 0xB8: request - -Header: 0x0000B8 - -| Data byte | Description | Data type | Byte: description | -| --------- | ----------- | --------- | ------------------------------------------------------------ | -| 0 | Data type | u8 | 0x00: energy consumed (kWh)
0x01: energy produced (kWh)
0x02: pump and compressor hours
0x03: backup heater hours
0x04: compressor starts
0x05: gas boiler hours | - -### Packet type 0xB8: response - -Header: 0x4000B8 - -#### Data type 0x00 - -| Data byte | Description | Data type | Bit: description | -| --------- | -------------------------------------------- | --------- | ---------------- | -| 0 | Data type 0x00 | u8 | | -| 1-3 | energy consumed for heating (backup heater?) | u24 | | -| 4-6 | energy consumed for DHW (backup heater?) | u24 | | -| 7-9 | energy consumed for heating (compressor?) | u24 | | -| 10-12 | energy consumed for cooling | u24 | | -| 13-15 | energy consumed for DHW (compressor?) | u24 | | -| 16-18 | energy consumed total | u24 | | +The following data-types were observed or suspected in the payload data: + +| Data type | Definition | +|---------------|:-------------------------------------| +| flag8 | byte composed of 8 single-bit flags | +| c8 | ASCII character byte | +| s8 | signed 8-bit integer -128 .. 127 | +| u8 | unsigned 8-bit integer 0 .. 255 | +| u6 | unsigned 6-bit integer 0 .. 63 | +| u2 | unsigned 2-bit integer 0 .. 3 or 00 .. 11 | +| s16 | signed 16-bit integer -32768..32767 | +| u16 | unsigned 16-bit integer 0 .. 65535 | +| u24 | unsigned 24-bit integer | +| u32 | unsigned 32-bit integer | +| u16hex | unsigned 16-bit integer output as hex 0x0000-0xFFFF | +| u24hex | unsigned 24-bit integer | +| u32hex | unsigned 32-bit integer | +| f8.8 (code: f8_8) | signed fixed point value : 1 sign bit, 7 integer bit, 8 fractional bits (two’s compliment, see explanation below) | +| f8/8 (code: f8s8) | Daikin-style fixed point value: 1st byte is value before comma, and 2nd byte is first digit after comma (see explanation below) | +| s-abs4 | Daikin-style temperature deviation: bit 4 is sign bit, bits 0-3 is absolute value of deviation | +| sfp7 | signed floating point value: 1 sign bit, 4 mantissa bits, 2 exponent bits (used for field settings) | +| u8div10 | unsigned 8-bit integer 0 .. 255, to be divided by 10 | +| u16div10 | unsigned 16-bit integer 0 .. 65535, to be divided by 10 | +| t8 | schedule moment in 10 minute increments from midnight (0=0:00, 143=23:50) | +| d24 | day in format YY MM DD | + +Explanation of f8.8 format: a temperature of 21.5°C in f8.8 format is represented by the 2-byte value in 1/256th of a unit as 1580 hex (1580hex = 5504dec, dividing by 256 gives 21.5). A temperature of -5.25°C in f8.8 format is represented by the 2-byte value FAC0 hex (FAC0hex = - (10000hex-FACOhex) = - 0540hex = - 1344dec, dividing by 256 gives -5.25). + +Explanation of f8/8 format: a temperature of 21.5°C in f8/8 format is represented by the byte value of 21 (0x15) followed by the byte value of 5 (0x05). So far this format was only detected for the setpoint temperature, which is usually not negative, so we don't know how negative numbers are stored in this format. + +# Packet types 10-1F form communication package between main controller and heat pump + +Packet types 10-16 are part of the regular communication pattern between main controller and heat pump. + +## Packet type 10 - operating status + +### Packet type 10: request + +Header: 000010 + +|Byte(:bit)| Hex value observed | Description | Data type +|:---------|:-------------------|:-------------------------|:- +|0:0 | 0/1 | Heat pump (off/on) | bit +|0:other | 0 | ? | bit +|1:7 | 0/1 | Heat pump (off/on) | bit +|1:0 | 0/1 | 1=Heating mode | bit +|1:1 | 0/1 | 1=Cooling mode | bit +|1:0 | 1 | Operating mode gas? | bit +|1:other | 0 | Operating mode? | bit +|2:1 | 0/1 | DHW tank power (off/on) | bit +|2:0 | 0/1 | DHW (off/on) | bit +|2:other | 0 | ? | bit +| 3 | 00 | ? | +| 4 | 00 | ? | +| 5 | 00 | ? | +| 6 | 00 | ? | +| 7-8 | 13 05 | Target room temperature | f8.8 +| 9:6 | 0/1 | ? | bit +| 9:5 | 0/1 | Heating/Cooling automatic mode | bit +| 9:others | 0 | ? | bit +|10:2 | 0/1 | Quiet mode (off/on) | bit +|10:others | 0 | ? | bit +| 11 | 00 | ? | +|12:3 | 1 | ? | bit +|12:others | 0 | ? | bit +| 13 | 00 | ? | +| 14 | 00 | ? | +| 15 | 0F | ? | flag8/bits? +| 16 | 00 | ? | +|17:6 | 0/1 | operation (off/on) | bit +|17:1 | 0/1 | booster (off/on) | bit +|17:others | 0 | ? | bit +| 18 | 3C | DHW target temperature | u8 / f8.8? +| 19 | 00 | fractional part byte 18? | + +### Packet type 10: response + +Header: 400010 + +|Byte(:bit)| Hex value observed | Description | Data type +|:---------|:-------------------|:-------------------------|:- +| 0:0 | 0/1 | Heating power (off/on) | bit +| 0:other | 0 | ? | bit +| 1:7 | 0/1 | Operating mode gas? | bit +| 1:0 | 0 | Operating mode? | bit +| 1:other | 0 | Operating mode? | bit +| 2:7 | 0/1 | DHW tank power (off/on) | bit +| 2:6 | 0/1 | Additional zone (off/on) | bit +| 2:5 | 0/1 | Main zone (off/on) | bit +| 2:4 | 0/1 | ? | bit +| 2:3 | 0 | ? | bit +| 2:2 | 0 | ? | bit +| 2:1 | 0/1 | cooling (off/on) | bit +| 2:0 | 0/1 | heating (off/on) | bit +| 3:4 | 0/1 | **DHW boost (off/on)** | bit +| 3:0 | 0/1 | **DHW (off/on)** | bit +| 3:others | 0 | ? | bit +| 4 | 3C | DHW target temperature| u8 / f8.8? +| 5 | 00 | +fractional part? | +| 6 | 0F | ? | u8 / flag8? +| 7 | 00 | ? +| 8 | 14 | Target room temperature | u8 / f8.8? +| 9 | 00 | ? +|10 | 1A | ? +|11:2 | 0/1 | Quiet mode (off/on) | bit +|11 | 0 | ? | bit +|12 | 00 | Error code part 1 | u8 +|13 | 00 | Error code part 2 | u8 +|14 | 00 | Error subcode | u8 +|15-17 | 00 | ? +|17:1 | 0/1 | Defrost operation | bit +|18:3 | 0/1 | Circ.pump (off/on) | bit +|18:1 | 0/1 | ? | bit +|18:0 | 0/1 | Compressor (off/on) | bit +|18:other | 0 | ? | bit +|19:2 | 0/1 | DHW mode | bit +|19:1 | 0/1 | gasboiler active1 (off/on) | bit +|19:other | 0 | ? | bit + +Error codes: tbd, HJ-11 is coded as 024D2C, 89-2 is coded as 08B908, 89-3 is coded as 08B90C. + +## Packet type 11 - temperatures + +### Packet type 11: request + +Header: 000011 + +| Byte nr | Hex value observed | Description | Data type +|:--------|:-------------------|:------------------------|:- +| 0-1 | XX YY | Actual room temperature | f8.8 +| 2 | 00 | ? +| 3 | 00 | ? +| 4 | 00 | ? +| 5 | 00 | ? +| 6 | 00 | ? +| 7 | 00 | ? + +### Packet type 11: response + +Header: 400011 + +| Byte nr | Hex value observed | Description | Data type +|:--------|:-------------------|:------------------------------------------------------|:- +| 0-1 | XX YY | LWT temperature | f8.8 +| 2-3 | XX YY | DHW temperature tank (if present) | f8.8 +| 4-5 | XX YY | Outside temperature (raw; in 0.5 degree resolution) | f8.8 +| 6-7 | XX YY | RWT | f8.8 +| 8-9 | XX YY | Mid-way temperature heat pump - gas boiler | f8.8 +| 10-11 | XX YY | Refrigerant temperature | f8.8 +| 12-13 | XX YY | Actual room temperature | f8.8 +| 14-15 | XX YY | External outside temperature sensor (if connected); otherwise Outside temperature 2 derived from external unit sensor, but stabilized; does not change during defrosts; perhaps averaged over time | f8.8 +| 16-19 | 00 | ? + +## Packet type 12 - Time, date and status flags + +### Packet type 12: request + +Header: 000012 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:------------------------------|:---------------------------------|:- +| 0:1 | 0/1 | pulse at start each new hour | bit +| 0:other| 0 | ? | bit +| 1 | 00-06 | day of week (0=Monday, 6=Sunday) | u8 +| 2 | 00-17 | time - hours | u8 +| 3 | 00-3B | time - minutes | u8 +| 4 | 13-16 | date - year (16 = 2022) | u8 +| 5 | 01-0C | date - month | u8 +| 6 | 01-1F | date - day of month | u8 +| 7-11 | 00 | ? | +| 12:6 | 0/1 | restart process indicator ? | bit +| 12:5 | 0/1 | restart process indicator ? | bit +| 12:0 | 0/1 | restart process indicator ? | bit +| 12:other| 0 | ? | bit +| 13:2 | 0/1 | once 0, then 1 | bit +| 13:other| 0 | ? | bit +| 14 | 00 | ? | + +Byte 12 has following pattern upon restart: 1x 00; 1x 01; then 41. A single value of 61 triggers an immediate heat pump restart. + +### Packet type 12: response + +Header: 400012 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:----------------------|:- +| 0 | 40 | ? +| 1 | 40 | ? +| 2-9 | 00 | ? +| 10:4 | 0/1 | kWh preference input | bit +| 10:other| 0 | | bit +| 11 | 00/7F | once 00, then 7F | u8 +| 12 | | operating mode | flag8 +| 12:7 | 0/1 | DHW active2 | bit +| 12:6 | 0/1 | gas? (depends on DHW on/off and heating on/off) | bit +| 12:0 | 0/1 | heat pump? | bit +| 12:other| 0 | ? | bit +| 13:2 | 1 | ? | bit +| 13:other| 0 | ? | bit +| 14-19 | 00 | ? + +## Packet type 13 - software version, DHW target temperature and flow + +### Packet type 13: request + +Header: 000013 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:-----------------------------------|:- +| 0-1 | 00 | ? +| 2:4 | 0/1 | ? | bit +| 2:5,3-0 | 0 | ? | bit +| 2:7-6 | 00/01/10/11 | modus ABS / WD / ABS+prog / WD+dev | bit2 + +### Packet type 13: response + +Header: 400013 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:----------------------------|:- +| 0 | 3C | DHW target temperature (one packet delayed/from/via boiler?/ 0 in first packet after restart) | u8 / f8.8 ? +| 1 | 00 | +fractional part? +| 2 | 01 | ? +| 3 | 40/D0 | ? +| 3:5-0 | 0 | ? | bit +| 3:7-6 | 00/01/10/11 | modus ABS / WD / ABS+prog / WD+dev | bit2 +| 4-7 | 00 | ? +| 8-9 | **FFFC/FFFD/**0000-010E | flow (in 0.1 l/min) (EHV/EHYHB only. Zero on EJHA) | **s16div10 (negative if pump stops, probably bad calibration)** +| 10-11 | xxxx | software version inner unit | u16 +| 12-13 | xxxx | software version outer unit | u16 +|EHV only: 14| 00 | ? | u8 +|EHV only: 15| 00 | ? | u8 + +The DHW target temperature is one packet delayed - perhaps this is due to communication with the Intergas gas boiler and confirms the actual gas boiler setting? + +## Packet type 14 - LWT target temperatures, temperature deviation, .. + +### Packet type 14: request + +Header: 000014 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:---------------------------------|:- +| 0-1 | 27 00 | LWT setpoint Heating Main zone | f8.8 or f8/8? +| 2-3 | 12 00 | LWT setpoint Cooling Main zone | f8.8 or f8/8? +| 4-5 | 27 00 | LWT setpoint Heating Add zone | f8.8 or f8/8? +| 6-7 | 12 00 | LWT setpoint Cooling Add zone | f8.8 or f8/8? +| 8 | 00-0A,10-1A | LWT deviation Heating Main zone | s-abs4 +| 9 | 00-0A,10-1A | LWT deviation Cooling Main zone | s-abs4 +| 10 | 00-0A,10-1A | LWT deviation Heating Add zone | s-abs4 +| 11 | 00-0A,10-1A | LWT deviation Cooling Add zone | s-abs4 +| 12 | 00/37 | first package 37 instead of 00 | u8 +| 13-14 | 00 | ? + +### Packet type 14: response + +Header: 400014 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:--------------------------|:- +| 0-14 | XX | echo of 000014-{00-14} | +| 15-16 | 1C-24 00-09 | Target LWT Main zone in 0.1 degree (based on outside temperature in 0.5 degree resolution)| f8/8? +| 17-18 | 1C-24 00-09 | Target LWT Add zone in 0.1 degree (based on outside temperature in 0.5 degree resolution)| f8/8? + +## Packet type 15 - temperatures, operating mode + +### Packet type 15: request -#### Data type 0x01 - -| Data byte | Description | Data type | Bit: description | -| --------- | --------------------------- | --------- | ---------------- | -| 0 | Data type 0x01 | u8 | | -| 1-3 | energy produced for heating | u24 | | -| 4-6 | energy produced for cooling | u24 | | -| 7-9 | energy produced for DHW | u24 | | -| 10-12 | energy produced total | u24 | | - -#### Data type 0x02 - -| Data byte | Description | Data type | Bit: description | -| --------- | ---------------------------------- | --------- | ---------------- | -| 0 | Data type 0x02 | u8 | | -| 1-3 | number of pump hours | u24 | | -| 4-6 | number of compressor hours heating | u24 | | -| 7-9 | number of compressor hours cooling | u24 | | -| 10-12 | number of compressor hours DHW | u24 | | - -#### Data type 0x03 - -| Data byte | Description | Data type | Bit: description | -| --------- | -------------------------------- | --------- | ---------------- | -| 0 | Data type 0x03 | u8 | | -| 1-3 | backup heater1 hours for heating | u24 | | -| 4-6 | backup heater1 hours for DHW | u24 | | -| 7-9 | backup heater2 hours for heating | u24 | | -| 10-12 | backup heater2 hours for DHW | u24 | | -| 13-15 | ? | u24 | | -| 16-18 | ? | u24 | | - -#### Data type 0x04 - -| Data byte | Description | Data type | Bit: description | -| --------- | --------------------------- | --------- | ---------------- | -| 0 | Data type 0x04 | u8 | | -| 1-3 | ? | u24 | | -| 4-6 | ? | u24 | | -| 7-9 | ? | u24 | | -| 10-12 | number of compressor starts | u24 | | +Header: 000015 -#### Data type 0x05 +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:----------------------|:--------------------------------|:- +| 0 | 00 | ? +| 1-2 | 01/09/0A/0B 54/F4/C4/D6/F0 | schedule-induced operating mode? | flag8,flag8? +| 3 | 00 | ? +| 4 | 03 | ? +| 5 | 20/52 | ? -| Data byte | Description | Data type | Bit: description | -| --------- | -------------------------------------- | --------- | ---------------- | -| 0 | Data type 0x05 | u8 | | -| 1-3 | number of gas boiler hours for heating | u24 | | -| 4-6 | number of gas boiler hours for DHW | u24 | | -| 7-9 | ? | u24 | | -| 10-12 | ? | u24 | | -| 13-15 | number of gas boiler hours total | u24 | | -| 16-18 | ? | u24 | | +### Packet type 15: response +Header: 400015 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:----------------------|:----------------------------------|:- +| 0-1 | 00 | Refrigerant temperature? | f8.8? +| 2-3 | FD-FF,00-08 00/80 | Refrigerant temperature (in 0.5C) | f8.8 +| 4-5 | 00 | Refrigerant temperature? | f8.8? +|EHV only: 6 | 00-19 | parameter number | u8/u16 +|EHV only: 7 | 00 | (part of parameter or value?) | +|EHV only: 8 | XX | ? | s16div10_LE? + +EHV is the only model for which we have seen use of the mechanism in the basic packet types. +The following parameters have been observed in this packet type on EHV model only: + +| Parameter number | Parameter Value | Description +|:-----------------|:------------------------------|:- +|EHV: 05 | 96 | 15.0 degree? +|EHV: 08 | 73,78,7D | 11.5, 12.0, 12.5 ? +|EHV: 0A | C3,C8 | 19.5, 20.0 +|EHV: 0C | 6E,73,78 | 11.0, 11.5, 12.0 +|EHV: 0E | B9,BE | 18.5, 19.0 +|EHV: 0F | 68,6B | 10.4, 10.7 +|EHV: 10 | 05 | 0.5 +|EHV: 19 | 01 | 0.1 +|EHV: others | 00 | ? + +These parameters are likely s16div10. + +## Packet type 16 - temperatures + +Only observed on EHV\* and EJHA\* heat pumps. + +### Packet type 16: request + +Header: 000016 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:------------------|:- +| 0-1 | 00 | ? +| 2-3 | 32 14 | room temperature? | f8.8? +| 4-15 | 00 | ? + +### Packet type 16: response + +Header: 400016 + +| Byte(:bit) | Hex value observed | Description | Data type +|:-----------|:-------------------|:---------------------------------|:- +| 0 | | **Current in 0.1 A** | u8div10 +| 1 | | **Power input in 0.1 kW** | u8div10 +| 0-7 | 00 | ? | +| 6 | | **Heating/cooling output in 0.1 kW** | u8div10 +| 7 | | **DHW output in 0.1 kW** | u8div10 +| 8 | E6 | ? | + +# Packet types A1 and B1 communicate text data + +## Packet type A1 + +Used for name of product? + +### Packet type A1: request + +Header: 0000A1 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:----------------------|:- +| 0 | 00 | ? +| 1-15 | 30 | ASCII '0' | c8 +| 16-17 | 00 | ASCII '\0' | c8 + +### Packet type A1: response + +Header: 4000A1 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:----------------------|:- +| 0 | 00 | ? +| 1-15 | 00 | ASCII '\0' (missing) name outside unit | c8 +| 16-17 | 00 | ASCII '\0' | c8 + +## Packet type B1 - heat pump name + +Product name. + +### Packet type B1: request + +Header: 0000B1 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:----------------------|:- +| 0 | 00 | ? +| 1-15 | 30 | ASCII '0' | c8 +| 16-17 | 00 | ASCII '\0' | c8 + +### Packet type B1: response + +Header: 4000B1 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:----------------------|:- +| 0 | 00 | ? +| 1-12 | XX | ASCII "EHYHBH08AAV3" name inside unit | c8 +| 13-17 | 00 | ASCII '\0' | c8 + +# Packet type B8 - counters, #hours, #starts, electricity used, energy produced + +Counters for energy consumed and operating hours. The main controller specifies which data type it would like to receive. The heat pump responds with the requested data type counters. A B8 package is only transmitted by the main controller after a manual menu request for these counters. P1P2Monitor can insert B8 requests to poll these counters, but this violates the rule that an auxiliary controller should not act as main controller. But if timed carefully, it works. + +### Packet type B8: request + +Header: 0000B8 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:----------------------|:- +| 0 | XX | data type requested
00: energy consumed
01: energy produced
02: pump and compressor hours
03: backup heater hours
04: compressor starts
05: boiler hours and starts | u8 + +### Packet type B8: response + +Header: 4000B8 + +#### Data type 00 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:--------------------------------------|:- +| 0 | 00 | data type 00 : energy consumed (kWh) | u8 +| 1-3 | XX XX XX | by backup heater for heating | u24 +| 4-6 | XX XX XX | by backup heater for DHW | u24 +| 7-9 | 00 XX XX | by compressor for heating | u24 +| 10-12 | XX XX XX | by compressor for cooling | u24 +| 13-15 | XX XX XX | by compressor for DHW | u24 +| 16-18 | XX XX XX | total | u24 + +#### Data type 01 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:-------------------------------------|:- +| 0 | 01 | data type 01 : energy produced (kWh) | u8 +| 1-3 | XX XX XX | for heating | u24 +| 4-6 | XX XX XX | for cooling | u24 +| 7-9 | XX XX XX | for DHW | u24 +| 10-12 | XX XX XX | total | u24 + +On EJHA\* all counters for type 01 are always zero. + +#### Data type 02 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:-------------------------------|:- +| 0 | 02 | data type 02 : operating hours | u8 +| 1-3 | XX XX XX | pump hours | u24 +| 4-6 | XX XX XX | compressor for heating | u24 +| 7-9 | XX XX XX | compressor for cooling | u24 +| 10-12 | XX XX XX | compressor for DHW | u24 + +#### Data type 03 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:-------------------------------|:- +| 0 | 03 | data type 03 : operating hours | u8 +| 1-3 | XX XX XX | backup heater1 for heating | u24 +| 4-6 | XX XX XX | backup heater1 for DHW | u24 +| 7-9 | XX XX XX | backup heater2 for heating | u24 +| 10-12 | XX XX XX | backup heater2 for DHW | u24 +| 13-15 | XX XX XX | ? | u24 +| 17-18 | XX XX XX | ? | u24 + +#### Data type 04 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:----------------------------|:- +| 0 | 04 | data type 04 | u8 +| 1-3 | XX XX XX | ? | u24 +| 4-6 | XX XX XX | ? | u24 +| 7-9 | XX XX XX | ? | u24 +| 10-12 | XX XX XX | number of compressor starts | u24 + +#### Data type 05 + +| Byte nr | Hex value observed | Description | Data type +|:--------------|:------------------------------|:------------------------------------------|:- +| 0 | 05 | data type 05 : gas boiler in hybrid model | u8 +| 1-3 | XX XX XX | boiler operating hours for heating | u24 +| 4-6 | XX XX XX | boiler operating hours for DHW | u24 +| 7-9 | XX XX XX | gas usage for heating (unit tbd) | u24 +| 10-12 | XX XX XX | gas usage for heating (unit tbd) | u24 +| 13-15 | XX XX XX | number of boiler starts | u24 +| 16-18 | XX XX XX | gas usage total (unit tbd) | u24 + +Internal gas metering seems only supported on newer models, not on the AAV3. diff --git a/README.md b/README.md index 95e6c9b..02306a7 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,30 @@ # Arduino Altherma UDP Controller -## What is it good for? +* [What is it good for?](#what-is-it-good-for) +* [Technical specifications](#technical-specifications) +* [Hardware](#hardware) +* [Firmware](#firmware) +* [Settings](#settings) + - [System Info](#system-info) + - [P1P2 Status](#p1p2-status) + - [IP Settings](#ip-settings) + - [TCP/UDP Settings](#tcpudp-settings) + - [P1P2 Settings](#p1p2-settings) + - [Packet Filter](#packet-filter) +* [Integration](#integration) + - [Loxone](#loxone) + - [Other systems](#other-systems) +* [Limitations and known issues](#limitations-and-known-issues) +* [Comparison with other solutions](#comparison-with-other-solutions) +* [Version history](#version-history) + +# What is it good for? Allows you to connect your Daikin Altherma heat pump (P1/P2 bus) to a home automation system (such as Loxone). This controller reads data from the P1/P2 bus on your Daikin Altherma and forwards them via ethernet UDP. You can also control your Daikin Altherma by sending commands via ethernet UDP. -The controller itself can be configured through built-in web interface, which alsoallows you to monitor the P1/P2 connection and count errors. All settings and P1/P2 statistics are stored in EEPROM. This program implements P1P2Serial library (https://github.com/Arnold-n/P1P2Serial). +The controller has a built-in web interface. You can use this web interface to configure the controller itself, monitor the status of the controller's connection to the P1/P2 bus and check error counters. All settings and P1/P2 statistics are stored in EEPROM. This program implements P1P2Serial library (https://github.com/Arnold-n/P1P2Serial). - - - -## What are the technical specifications? +# Technical specifications * this controller is compatible with Daikin Altherma heat pumps (E-series), including: - Altherma Hybrid @@ -39,9 +54,9 @@ The controller itself can be configured through built-in web interface, which al # Hardware Get the hardware and connect together: -* **Arduino Uno or Mega**. +* **Arduino Uno**. -* **Ethernet shield (with W5100, W5200 or W5500 chip)**. The ubiquitous W5100 shield for Uno/Mega is sufficient. !!! ENC28J60 will not work !!! +* **Ethernet shield (with W5100, W5200 or W5500 chip)**. The ubiquitous W5100 shield for Uno is sufficient. !!! ENC28J60 will not work !!! * **Custom P1P2 Uno adapter**. You can [solder your own adapter](https://github.com/Arnold-n/P1P2Serial/tree/main/circuits#p1p2-adapter-as-arduino-uno-hat) or buy one from Arnold-n (his e-mail address can be found on line 3 of his library [P1P2Serial.cpp](https://github.com/Arnold-n/P1P2Serial/blob/main/P1P2Serial.cpp)). Here is my HW setup (cheap Arduino Uno clone + W5500 Ethernet shield from Keyestudio + custom P1P2 Uno adapter): @@ -85,13 +100,13 @@ This controller has a built-in webserver which allows you to configure the contr * **Connecting...** The controller is in the process of connecting to the P1/P2 bus (to the main Daikin controller). * **Connected**. The controller is connected to the P1/P2 bus (to the main Daikin controller). Once connected, the controller can also: - show Altherma model in **Daikin Unit** - - periodically request, read (and send via UDP) some additional data (counters) + - periodically request, read (and send via UDP) Altherma counters - control Altherma by sending **Write Packet** through the web interface - control Altherma by sending commands via UDP * **Not Supported by the Pump**. The controller failed to connect to the P1/P2 bus (to the main Daikin controller) because it is not supported by the heat pump. The controller will not reconnect even if it is in the Auto Connect mode (see P1P2 Settings) but the user can still try to (re)connect manually. The **Not Supported by the Pump** status occurs when: - - the heat pump (the main Daikin controller) does not support external controllers - - one external controller (for example Daikin LAN controller) is already connected to the P1/P2 bus and the heat pump does not support second external controller - - two external controllers are already connected + - The heat pump (the main Daikin controller) does not support external controllers. + - One external controller (for example Daikin LAN controller) is already connected to the P1/P2 bus and the heat pump does not support second external controller. The number of supported external controllers depends on the model of the Daikin unit. + - Two external controllers are already connected. This Arduino controller can not connect to the P1/P2 bus if there are already 2 or more external controllers (regardless of whether the Daikin unit supports more external controllers or not). **Daikin Unit**. Shows the name of your Altherma indoor unit. @@ -200,7 +215,7 @@ Optionally, set the **Remote IP** (= Loxone Miniserver IP) and enable **Only to/ ### 3. Virtual UDP Input -Download the Loxone template **[VIU_Daikin Altherma.xml](VIU_Daikin Altherma.xml)**. Open Loxone Config and in the periphery tree mark `Virtual Inputs`, then go to UDP Device Templates > Import Template ... in the menu bar: +Download the Loxone template **[VIU_Daikin Altherma.xml](https://github.com/budulinek/arduino-altherma-controller/blob/main/VIU_Daikin%20Altherma.xml)**. Open Loxone Config and in the periphery tree mark `Virtual Inputs`, then go to UDP Device Templates > Import Template ... in the menu bar: @@ -208,25 +223,28 @@ Find the template you have downloaded and import the template. You should see Da -Just drag and drop individual inputs into your Loxone plan and you are ready to go. The only challenge are compound inputs containing multiple digital inputs in one byte. Names of these compound inputs end with `_B`. You need to connect these compound inputs to a `Binary Decoder` block and decode individual digital inputs according to the provided hint. Here is an example of `Valves_B` compound input: +Just drag and drop individual inputs into your Loxone plan and you are ready to go. There are only two challenges: +* LWT deviations `Deviation_LWT__` are split into two inputs carrying positive values `_Pos` and negative values `_Neg`. +* There are compound inputs containing multiple digital inputs in one byte. Names of these compound inputs end with `_B`. You need to connect these compound inputs to a `Binary Decoder` block and decode individual digital inputs according to the provided hint. Here is an example of `Valves_B` compound input: + ### 4. Virtual Output Virtual Output will only work if the Arduino controller is connected to the P1/P2 bus (can write to the bus). Moreover, writeable command are device-specific. The Virtual Output Commands provided in the template may (with no guarantee) work only with **Daikin Altherma LT (EHVH(H/X/Z))** heat pumps. **Use at your own risk!!!** -Download the Loxone template **[VO_Daikin Altherma LT.xml](VO_Daikin Altherma LT.xml)**. Open Loxone Config and in the periphery tree mark `Virtual Outputs`, then go to Device Templates > Import Template ... in the menu bar. Find the template you have downloaded and import the template. You should see Daikin Altherma LT with a number of `Virtual Output Commands`. Change the IP address or UDP port if needed: +Download the Loxone template **[VO_Daikin Altherma LT.xml](https://github.com/budulinek/arduino-altherma-controller/blob/main/VO_Daikin%20Altherma%20LT.xml)**. Open Loxone Config and in the periphery tree mark `Virtual Outputs`, then go to Device Templates > Import Template ... in the menu bar. Find the template you have downloaded and import the template. You should see Daikin Altherma LT with a number of `Virtual Output Commands`. Change the IP address or UDP port if needed: There are 3 types of outputs available: -* Analog outputs for target temperatures, setpoints etc. As expected, these inputs accept temperature in °C (float). +* Analog outputs for target temperatures, setpoints etc. As expected, these outputs accept temperature in °C (float). * Digital outputs have `_OnOff` in their name. As expected: 0 = Off, 1 = On. -* Discreet analog outputs for various operational modes. Always check the provided hints. Here is an example of Heating/Cooling operational mode: +* Discreet analog outputs for various operational modes. These outputs accept discreet integer values - see the provided hints. Here is an example of Heating/Cooling operational mode: -If you want to control your heat pump through Loxone App (just like I did in the short video above) or Loxone Web Interface, use the `EIB push-button` block. It has the same functionality as a normal push-button but in addition has the State (S) input which can forward the status of a heat pump actuator without triggering an action on the output. As a result, you can have a smooth two-directional communication between the main Daikin controller and the Loxone App. Here you have a solution for the DHW On/Off push-button and the DHW Boost push button. Please note that the DHW_OnOff_B input is a compound input which needs to be decoded with `Binary Decoder`: +If you want to control your heat pump through Loxone App (just like I did in the short video above) or Loxone Web Interface, use the `EIB push-button` block. It has the same functionality as a normal push-button but in addition has the State (S) input which can forward the status of a heat pump settings without triggering an action on the output. As a result, you can have a smooth two-directional communication between the main Daikin controller and the Loxone App. Here you have a solution for the DHW On/Off push-button and the DHW Boost push button. Please note that the DHW_OnOff_B input is a compound input which needs to be decoded with `Binary Decoder`: ### 5. Digital Outputs (Relays) @@ -234,7 +252,7 @@ By default, the main Daikin controller (the user interface mounted at the indoor Fortunately, 1) Daikin Altherma allows you to connect an external thermostat and 2) Loxone Miniserver can act as an external thermostat. -**Wiring**. External thermostat is an external 230V relay operated by a temperature sensor (+ some scheduling logic). It controls the heat pump by opening and closing a **230V circuit!** **Danger of death!** Always unplug your heat pump from the mains before connecting wires and consult your heat pump's Installation manual in order to locate the correct wiring terminal. **Proceed at your own risk!** If you know what you are doing, connect the correct wiring terminal of your heat pump (on my Altherma I have used the X2M wiring terminal) to Loxone Miniserver relays. You can use separate relays for heating and cooling and separate relays for main LWT zone and additional LWT zone. Therefore, depending on the complexity of your heating/cooling system, up to 4 external relays can be used. +**Wiring**. External thermostat is an external 230V relay operated by a temperature sensor (+ some scheduling logic). It controls the heat pump by opening and closing a **230V circuit!** **Danger of death!** Always unplug your heat pump from the mains before connecting wires and consult your heat pump's Installation manual in order to locate the correct wiring terminal. **Proceed at your own risk!** If you know what you are doing, connect the correct wiring terminal of your heat pump (on my Altherma I have used the X2M wiring terminal) to Loxone Miniserver relays. You can use separate relays for heating and cooling and separate relays for main LWT zone and additional LWT zone. Therefore, up to 4 external relays can be used depending on the complexity of your heating/cooling system. **Heat Pump Configuration**. Enable external thermostat on your heat pump. Consult your installation manual. In my case I have the settings here: `Installer settings > System layout > Standard > [A.2.1.7] Unit control method > Ext RT control`. If you want to use separate relays for heating and cooling, check also `Installer settings > System layout > Options > [A.2.2.4] Contact type main > H/C request`. @@ -242,24 +260,55 @@ Fortunately, 1) Daikin Altherma allows you to connect an external thermostat and -It is quite simple. I have a `HVAC Controller` block which serves as a heating and cooling source for 7 `Intelligent Room Controllers` (see the "7 Objects Assigned" note at the bottom of the HVAC block). The HVAC block needs to know the outdoor temperature, so I have connected the `Temperature_Outside_Stabilized` measured by the heat pump. I have wired 3 digital outputs (relays) to the wiring terminal of the heat pump, even though I only use 2 of them. Relay `Ext_Therm_Main_Heating` triggers heating on the main LWT zone (floor heating), relay `Ext_Therm_Add_Cooling` triggers cooling on the additional LWT zone (ceiling cooling panels). I do not use my floor for cooling. +It is quite simple. I have a `HVAC Controller` block which serves as a heating and cooling source for 7 `Intelligent Room Controllers` (see the "7 Objects Assigned" note at the bottom of the HVAC block). The HVAC block needs to know the outdoor temperature, so I have connected the `Temperature_Outside_Stabilized` measured by the heat pump. Relay `Ext_Therm_Main_Heating` triggers heating on the main LWT zone (underfloor heating), relay `Ext_Therm_Add_Cooling` triggers cooling on the additional LWT zone (ceiling cooling panels). `Ext_Therm_Main_Cooling` is not connected because I do not use floor for cooling. + +### 6. Application Recommendations + +**Use relays for heating/cooling requests**. Your Loxone automation system can now control the Altherma heat pump through 2 sets of outputs: Virtual Output Commands (UDP) and Digital Outputs (Relays). Each of them is doing a different thing, the two do not replace but complement each other: +* **Virtual Output Commands** are sent (via UDP) to the Arduino controller and then (via P1/P2 bus) to the main Daikin controller at your indoor unit. These commands allow you to remotely change user settings (Quiet Mode, Schedules), target temperatures (DHW, LWT), turn the DHW on/off, etc. **Whenever you use Virtual Output Commands (UDP), new settings are stored in the main Daikin controller, wearing its EEPROM!** Use these outputs sparingly. For example, the `LWT_Control_OnOff` command completely shuts down heating (though DHW still works). Valves are closed and the heat pump ignores any heating/cooling requests from the internal thermostat (main Daikin controller) or from the external thermostat (Loxone relays). Use this output only if you want to stop the heat pump for longer periods of time (such as holidays). +* **Digital Outputs** allow you to send heating / cooling requests by closing Loxone Miniserver relays. These relays are connected directly to the heat pump's wiring terminals, not to the main Daikin controller. No new data (settings) are stored in the main Daikin controller's EEPROM. You do wear out your Loxone relay a bit, but relays are easier (and cheaper) to replace than the internal EEPROM of your Daikin controller. Use relays for automated heating / cooling requests, they are meant to be used this way. For example (and in contrast to the LWT_Control_OnOff command mentioned above), the `Ext_Therm_Main_Heating` output only sends a request for heating. When the relay is closed (DO = 1), the heat pump knows there is a demand for heating, and starts compressor in order to maintain the leaving water temperature at a certain level. When the relay is open (DO = 0), compressor stops, no heat is produced but the heat pump remains in a stand-by mode, waiting for new heating request. + +**Adjust the heating curve**. Daikin Altherma heat pumps have a built-in heating curve (weather-dependent curve, equithermic curve). Heating curve means that the leaving water temperature (LWT) depends on weather (outdoor temperature). Interestingly, Loxone also has a heating curve, integrated in the `Intelligent Temperature Controller` block. Here are your choices: + +* **Altherma heating curve**. Altherma heating curve (weather-dependent curve) can be enabled/disabled in installer settings. Consult your installation manual, in my case it is here: `Installer settings > Space operation > LWT settings > Main > [A.3.1.1.1] LWT setpoint mode`. By default, heating curve should be enabled (`Weather dep.`). Users can configure parameters of the heating curve (`User settings > Set weather dependent > Main > Set weather-dependent heating`). In this example, Altherma will use outdoor temperature to calculate the LWT, Loxone will only send heating requests through `Ext_Therm_Main_Heating` relay: + + -**Application Notes**. I recommend using **both** the Arduino controller (Virtual UDP Outputs) and relays on the Loxone Miniserver (Digital Outputs) for controlling the heat pump. Each of them is doing a different thing, the two do not replace but complement each other. The **controller** (Virtual UDP Outputs) allows you to remotely change user settings (Quiet Mode, Schedules), turn the DHW on/off, change target temperatures (DHW, LWT), etc. Whenever you use the Virtual UDP Outputs, data are written to the main Daikin controller, wearing its EEPROM! So use sparingly. Loxone Miniserver as **external thermostat** (Digital Outputs - Relays) allows you to send heating or cooling requests. No data are written to the Daikin EEPROM, though you do wear out your Loxone relay a bit. Let's compare. The `LWT_Control_OnOff` (Virtual UDP Output) completely shuts down heating (though DHW still works). The valves are shut and the heat pump ignores any heating requests from the internal thermostat (main Daikin controller) or the external thermostat (Loxone relays). On the other side, the `Ext_Therm_Main_Heating` (Digital Output - Relay) only sends a request for heating. When the relay is closed (DO = 1), the heat pump knows there is a demand for heating, the circulation pump is running and the compressor maintains the leaving water temperature at a certain level. When the relay is open (DO = 0), no heat is produced but the heat pump is in a stand-by mode, waiting for a new heating request. +* **Loxone heating curve**. Loxone heating curve is more advanced than Altherma heating curve, because Loxone uses more variables to calculate the LWT. Not just the outdoor temperature, but also the target room temperature, the difference between target and actual room temperatures, room heating phase / cooling phase. Moreover, Loxone can also adjust the target room temp (thus the requested LWT) based on schedule or presence of people. So, go ahead and completely disable your Altherma's heating curve (set the `LWT setpoint mode` to `Absolute`) and use the Loxone block `Intelligent Temperature Controller` (AQf - Flow Target Temperature) to calculate the LWT. Loxone will send heating requests through `Ext_Therm_Main_Heating` relay and requested leaving water temperature through `Target_Setpoint_LWT_Zone_Main` virtual UDP command. This is the most efficient way of controling your heat pump. The problem is that target LWT values calculated by Loxone change far too often (because outdoor temperature fluctuates throughout the day). Hysteresis setting in Arduino helps you reduce the frequency of LWT values sent to the heat pump, but the number of EEPROM writes will (probably) still exceed the limit (19 writes per day). You can give it a try but I do not recommend this choice. + -## Other Systems +* **Altherma heating curve + adjustments by Loxone**. The `Intelligent Temperature Controller` block can also output AQi - Flow Temperature Increase/Decrease. This increase/decrease is caused by the room temperature difference (see parameter G - Gain) and the target room temperature increase during heating phase (see parameter I - Target temperature increase). In other words, AQi is Loxone's adjustment to the weather-dependent target LWT. We can sent it to the heat pump through the `Deviation_LWT_Zone_Main` virtual UDP command. This is a compromise solution. We will let Altherma calculate the weather-dependent LWT (from the outdoor temperature) and Loxone will calculate the LWT adjustment (from the difference between target and actual room temperature). Since AQi does not change that often, we will have less EEPROM writes. You can try this choice, but: + - Set the parameter I - Target temperature increase to zero. Daikin user manual explicitly discourages users from increasing/decreasing the desired room temperature to speed up space heating/cooling. Use only the parameter G - Gain. + - Check the number of Daikin EEPROM Writes in the Arduino controller web interface. Make sure that average writes per day (and yesterday writes) remain bellow the limit (19 writes per day). + -# Limitations and Known Issues +## Other systems + +#### Home Assistant + +Arduino Altherma UDP controller is not suitable for Home Assistant. As far as I know, it is difficult to parse hex UDP messages in HA. Check the table bellow and use another solution (or Node-RED as an intermediary). + +#### Node-RED + +Import and configure the **[node-red-contrib-buffer-parser](https://flows.nodered.org/node/node-red-contrib-buffer-parser)** package. See [Payload-data-read.md](Payload-data-read.md) how to parse UDP messages (read data from the heat pump). See [Payload-data-write.md](Payload-data-write.md) how to make UDP commands (write to the heat pump). + +You can use Node RED as: +* a rudimentary automation system on its own +* an intermediary between the Arduino controller and other home automation system +* an intermediary between the Arduino controller and a time series database and visualisation tool (InfluxDB + Grafana) + +# Limitations and known issues ## Portability -The code was tested on Arduino Uno and Mega, ethernet chips W5100 and W5500. It may work on other platforms, but: +The code was tested on Arduino Uno, ethernet chips W5100 and W5500. It may work on other platforms, but: * The random number generator (for random MAC) is seeded through watch dog timer interrupt - this will work only on Arduino (credits to https://sites.google.com/site/astudyofentropy/project-definition/timer-jitter-entropy-sources/entropy-library/arduino-random-seed) * The restart function will also work only on Arduino. -## Remote IP Settings on the W5500 Chip +## Remote IP settings on the W5500 Chip The Ethernet.setRetransmissionCount() and Ethernet.setRetransmissionTimeout() commands do not work on W5500 chips because of a bug in the Ethernet.h library (see [this issue](https://github.com/arduino-libraries/Ethernet/issues/140)). As a result, Arduino fails to read data from the P1/P2 bus (read errors, CRC errors) if certain conditions are met: * Ethernet shield with the W5500 chip is used. @@ -268,7 +317,7 @@ The Ethernet.setRetransmissionCount() and Ethernet.setRetransmissionTimeout() co In this situation (UDP unicast) the W5500 chip checks whether the remote IP exists via ARP request. While the Ethernet.h waits for the ARP response, new P1/P2 packet arrives and is not properly processed which leads to P1/P2 read errors. The solution is simple. If you have a shield with the W5500 chip, set the Send and Receive UDP setting to **To/From Any IP (Broadcast)**. -## Ethernet Sockets +## Ethernet sockets The number of used sockets is determined (by the Ethernet.h library) based on microcontroller RAM. Therefore, even if you use W5500 (which has 8 sockets available) on Arduino Nano, only 4 sockets will be used due to limited RAM on Nano. @@ -276,13 +325,13 @@ The number of used sockets is determined (by the Ethernet.h library) based on mi Not everything could fit into the limited flash memory of Arduino Nano / Uno. If you have a microcontroller with more memory (such as Mega), you can enable extra settings in the main sketch by defining ENABLE_DHCP and/or ENABLE_EXTRA_DIAG in advanced settings. -# What is the Difference from Other Solutions? +# Comparison with other solutions -Here is a brief comparison with other solutions (as of April 2023): +As of April 2023: | **Project** | **[budulinek/
arduino-altherma-controller](https://github.com/budulinek/arduino-altherma-controller)** | **[Arnold-n/
P1P2Serial](https://github.com/Arnold-n/P1P2Serial)** | **[raomin/
ESPAltherma](https://github.com/raomin/ESPAltherma)** | **[tadasdanielius/
daikin_altherma](https://github.com/tadasdanielius/daikin_altherma)** | **[speleolontra/
daikin_residential_altherma](https://github.com/speleolontra/daikin_residential_altherma)** || |------------------------------------|------------------------------------------------------------------------------------|----------------------------------------------------------|-------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------|-------------------------------------------| -| **Hardware** | • Arduino Uno/Mega
• Ethernet Shield
• Custom P1P2 Uno adapter | • Custom all-in-one board | • M5StickC (or any ESP32/ESP8266 board)
• external relay (optional) | • Daikin LAN adapter
(BRP069A62/ BRP069A61
with OLD firmware) | • Daikin LAN adapter
(BRP069A62/ BRP069A61
with NEW firmware) | • Daikin WLAN adapter
(BRP069A78) | +| **Hardware** | • Arduino Uno
• Ethernet Shield
• Custom P1P2 Uno adapter | • Custom all-in-one board | • M5StickC (or any ESP32/ESP8266 board)
• external relay (optional) | • Daikin LAN adapter
(BRP069A62/ BRP069A61
with OLD firmware) | • Daikin LAN adapter
(BRP069A62/ BRP069A61
with NEW firmware) | • Daikin WLAN adapter
(BRP069A78) | | **Programable MCUs** | 1
ATmega328P | 2
ATmega328P + ESP8266 | 1
ESP32/8266 | --- | --- || | **Connection to Daikin Altherma** | P1/P2 bus | P1/P2 bus | X10A serial port | P1/P2 bus | P1/P2 bus | dedicated slot | | **Interface** | • Ethernet | • WiFi
• Ethernet (optional) | • WiFi | • Ethernet | • Ethernet | • WiFi | @@ -298,3 +347,6 @@ Here is a brief comparison with other solutions (as of April 2023): ## Version history For version history see: + +https://github.com/budulinek/arduino-altherma-controller/blob/main/arduino-altherma-controller/arduino-altherma-controller.ino#L3 + diff --git a/arduino-altherma-controller/advanced_settings.h b/arduino-altherma-controller/advanced_settings.h index 270f2f2..4f7a6fc 100644 --- a/arduino-altherma-controller/advanced_settings.h +++ b/arduino-altherma-controller/advanced_settings.h @@ -46,7 +46,7 @@ const unsigned int WEB_IDLE_TIMEOUT = 400; // Time (ms) from last client d const unsigned int TCP_DISCON_TIMEOUT = 500; // Timeout (ms) for client DISCON socket command, non-blocking alternative to https://www.arduino.cc/reference/en/libraries/ethernet/client.setconnectiontimeout/ //const unsigned int TCP_RETRANSMISSION_TIMEOUT = 50; // Ethernet controller’s timeout (ms), blocking (see https://www.arduino.cc/reference/en/libraries/ethernet/ethernet.setretransmissiontimeout/) //const byte TCP_RETRANSMISSION_COUNT = 3; // Number of transmission attempts the Ethernet controller will make before giving up (see https://www.arduino.cc/reference/en/libraries/ethernet/ethernet.setretransmissioncount/) -const unsigned int TCP_RETRANSMISSION_TIMEOUT = 10; // Ethernet controller’s timeout (ms), blocking (see https://www.arduino.cc/reference/en/libraries/ethernet/ethernet.setretransmissiontimeout/) +const unsigned int TCP_RETRANSMISSION_TIMEOUT = 50; // Ethernet controller’s timeout (ms), blocking (see https://www.arduino.cc/reference/en/libraries/ethernet/ethernet.setretransmissiontimeout/) const byte TCP_RETRANSMISSION_COUNT = 3; // Number of transmission attempts the Ethernet controller will make before giving up (see https://www.arduino.cc/reference/en/libraries/ethernet/ethernet.setretransmissioncount/) const int FETCH_INTERVAL = 2000; // Fetch API interval (ms) for the Modbus Status webpage to renew data from JSON served by Arduino diff --git a/arduino-altherma-controller/arduino-altherma-controller.ino b/arduino-altherma-controller/arduino-altherma-controller.ino index 92206d1..14cc0f9 100644 --- a/arduino-altherma-controller/arduino-altherma-controller.ino +++ b/arduino-altherma-controller/arduino-altherma-controller.ino @@ -1,21 +1,11 @@ -/* Altherma UDP Controller: Monitors and controls Daikin E-Series (Altherma) through P1/P2 bus. +/* Altherma UDP Controller: Monitors and controls Daikin E-Series (Altherma) het pumps through P1/P2 bus. Version history v0.1 2020-11-30 Initial commit, save history of selected packets, settings v0.2 2020-12-05 Hysteresis, vertify commands sent to P1P2 v0.3 2020-12-09 More effective and reliable writing to P1P2 bus v0.4 2020-12-10 Minor tweaks - v1.0 2023-XX-XX Major upgrade: web interface, store settings in EEPROM, P1P2 error counters - -changes: -- only Daikin E* heat pumps (Altherma) -- no SW_SCOPE -- no error budget -- no write budget (Write Cycles can are displayed via web UI) -- use single queue for all write packets (0x3X, counter requests, daikin restart, etc.) -- write all packets after 0x30 (disable #define KLICDA writing after 0x12 packet) -- write any packets (incl. counter requests, restarts, etc.) only if connected as controller -- if the main controller sends request to our auxiliary controller, always respond + v1.0 2023-04-18 Major upgrade: web interface, store settings in EEPROM, P1P2 error counters */ @@ -42,10 +32,6 @@ enum first_last : byte { LAST }; - - -/****** DEFAULT FACTORY SETTINGS ******/ - enum status : byte { PACKET_SEEN, // Packet Type was detected on P1P2 bus PACKET_SENT, // Packet is sent via UDP diff --git a/arduino-altherma-controller/src/P1P2Serial_mod/P1P2Serial_mod.cpp b/arduino-altherma-controller/src/P1P2Serial_mod/P1P2Serial_mod.cpp index 39cf211..0deccf7 100644 --- a/arduino-altherma-controller/src/P1P2Serial_mod/P1P2Serial_mod.cpp +++ b/arduino-altherma-controller/src/P1P2Serial_mod/P1P2Serial_mod.cpp @@ -75,7 +75,7 @@ #ifdef __AVR_ATmega2560__ -#error ATmega2560 code has not been tested, use with caution. +#warning ATmega2560 code has not been tested, use with caution. // RW using timer5 #define INPUT_CAPTURE_PIN 48 // PL1 diff --git a/pics/loxone10.png b/pics/loxone10.png new file mode 100644 index 0000000000000000000000000000000000000000..e491fa58e1576b88a8cd64aad8ecfb3b0d045beb GIT binary patch literal 57302 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

4&nazYK>l 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 F{SP%l?b`qV literal 0 HcmV?d00001 diff --git a/pics/loxone8.png b/pics/loxone8.png new file mode 100644 index 0000000000000000000000000000000000000000..686c6893bf9b864c264b9c5e6eda481295b7d5d8 GIT binary patch literal 31554 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

}t&r1YZ1t}kbdr!gQ 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 L;Fsl~_d)*$NU=eA literal 0 HcmV?d00001