I'm working on extending the ESPHome NibeGW component to emulate an AXC40/ECS circuit on a Nibe heat pump.
Current status
The heat pump successfully detects the accessory as:
- ECS_S3 (address 0x03)
- Accessory token EE is acknowledged
- No communication alarms
Current ESPHome configuration:
- address: ECS_S3
token: ACCESSORY
data: [0x01, 0x0F, 0xA2]
- address: ECS_S3
token: ECS_DATA_MSG_1
data: [0x02, 0x02, 0x77, 0x20, 0x06]
- address: ECS_S3
token: ECS_DATA_MSG_2
data: [0x02, 0x00, 0x00, 0xA0, 0x06]
- address: ECS_S3
token: ECS_DATA_REQ
data: [0x00, 0x93]
Observations
Real ECS_S2 traffic:
5C 00 02 A0
5C 00 02 55
5C 00 02 90
ECS_S3 traffic observed from the heat pump:
5C 00 03 A0
5C 00 03 A3
5C 00 03 A4
5C 00 03 AF
5C 00 03 EE
The heat pump actively requests A3, A4 and AF for address 0x03.
I added support for:
ECS_DATA_A3 = 0xA3
ECS_DATA_A4 = 0xA4
ECS_DATA_AF = 0xAF
but I do not know the expected payload structure.
Problem
The heat pump creates circuit S3 correctly, but sensor values are wrong:
BT2 (Supply temperature S3) = 0.0°C
BT3 (Return temperature S3) = 20.8°C
Changing the payload contents does not seem to affect BT2.
According to the Nibe register database:
40006 = EP22-BT2 Supply temp S3
40128 = EP22-BT3 Return temp S3
40031 = EP22-BT50 Room temp S3
(all s16 with factor 10)
Additional information requested
I am also looking for information regarding the control of the mixing valve and circulation pump for an AXC40/ECS circuit.
Specifically:
-
Which messages/tokens contain the mixing valve position command?
-
Which messages/tokens contain the circulation pump enable/disable command?
-
Addresses/registers used by ECS_S3 for:
- BT2 (Supply temperature)
- BT3 (Return temperature)
- BT50 (Room temperature)
- Mixing valve position
- Circulation pump status
If anyone has:
- AXC40 packet captures
- ECS_S3 traffic dumps
- Nibe service documentation
- Reverse protocol information
I would be very interested in knowing:
Token
Payload format
Data length
Expected values
for:
and any messages related to:
Mixing valve control
Circulation pump control
Heating demand
Circuit status
The objective is to fully emulate an AXC40/ECS circuit using ESPHome and NibeGW, including temperatures, mixing valve operation and circulator control.
I'm working on extending the ESPHome NibeGW component to emulate an AXC40/ECS circuit on a Nibe heat pump.
Current status
The heat pump successfully detects the accessory as:
Current ESPHome configuration:
Observations
Real ECS_S2 traffic:
ECS_S3 traffic observed from the heat pump:
The heat pump actively requests A3, A4 and AF for address 0x03.
I added support for:
but I do not know the expected payload structure.
Problem
The heat pump creates circuit S3 correctly, but sensor values are wrong:
Changing the payload contents does not seem to affect BT2.
According to the Nibe register database:
(all s16 with factor 10)
Additional information requested
I am also looking for information regarding the control of the mixing valve and circulation pump for an AXC40/ECS circuit.
Specifically:
Which messages/tokens contain the mixing valve position command?
Which messages/tokens contain the circulation pump enable/disable command?
Addresses/registers used by ECS_S3 for:
If anyone has:
I would be very interested in knowing:
for:
and any messages related to:
The objective is to fully emulate an AXC40/ECS circuit using ESPHome and NibeGW, including temperatures, mixing valve operation and circulator control.