Project Curv // Curv360 / ASHP Hot Water Cylinder = MODBUS

Hi all,

I am in the process of installing a Project Curv ASHP hot water cylinder and reached out to the manufacturer for the Modbus registers as they are not in the manual / readily available online.

The aim is to use Modbus instead of the Wi-Fi app to manage/control the cylinder via a Waveshare RS485 device through HA.

Hope this is something of use for anyone else in the future!

Description Value
Address 1~254
Mode RTU
Baudrate 9600bps
Start bit 1
Data bits 8
Parity None
Stop bits 1

MODBUS interface description domestic-hot-water-heat-pump

Designation Read/Write Supported function codes Unit Holding Registers address Number of registers Minimum value Maximum value Data format
Slave Address Read 0x03 N/A 0 1 1 254 N/A
Current mode (which mode is the BW-WP currently in → Auto, Eco, Vac, Elec) Read/Write 0x03/0x10 N/A 1 1 0 3 0 AUTO 1 ECO 2 ELEC 3 VAC(0x03)
Current mode (which mode is the BW-WP currently in → Active, Boost, Mute, Sterilize) Read/Write 0x03/0x10 N/A 2 1 0000h FFFFh bit0 0 deactive 1 active bit1 0 boost off 1 boost on bit2 0 mute off 1 mute on(0x03) bit3 0 sterilize off 1 sterilize on
Current operating status (which heat source is currently being used → heat pump, electric heater, heating register thermal solar/boiler) Read 0x03 N/A 3 1 0000h FFFFh bit0 0 heat pump off 1 heat pump on bit1 0 electric heater off 1 electric heater on bit2 0 solar off 1 solar on bit3 0 boiler off 1 boiler on
Current hot water quantity (how full is the tank → in percent) Read 0x03 % 4 1 0 100 N/A
Target Temperature Read 0x03 °C 5 1 1 100 N/A
User Set temperature (enter the temperature to which the temperature should be heated → ) Read/Write 0x03/0x10 °C 6 1 35 75 N/A
Current temperature of the water Read 0x03 °C 7 1 0 100 N/A
Current temperature of the water tank above Read 0x03 °C 8 1 0 100 N/A
Current temperature of the water tank below Read 0x03 °C 9 1 0 100 N/A
Current ambient temperature Read 0x03 °C 10 1 -50 100 N/A
RTC clock Read 0x03 °C 11 7 N/A N/A byte0~1 year YY 0~99 (24 for 2024) byte2~3 month MM 1~12 byte4~5 date DD 1~31 byte6~7 Week 1~7 byte8~9 hour 0~23 byte10~11 minute 0~59 byte12~13 second 0~59
Fault code display Read 0x03 N/A 18 1 0 64 0 None 1~15 E1~EF 16~31 L0~LF 32~47 F0~FF 48~63 P0~PF 64 PP
Energy consumption by heat pump (last 7 days, 12 months, 5 years) Read 0x03 kWh 19~25 26~37 38~42 24 0000h FFFFh byte0~1 Monday byte2~3 Tuesday …… byte12~13 Sunday byte14~15 January byte16~17 February …… byte36~37 December byte38~39 four years ago byte40~41 three years ago byte42~43 the year before last byte44~45 last year byte46~47 this year
Energy consumption by heat electric heater (last 7 days, 12 months, 5 years) Read 0x03 kWh 43~49 50~61 62~66 24 0000h FFFFh byte0~1 Monday byte2~3 Tuesday …… byte12~13 Sunday byte14~15 January byte16~17 February …… byte36~37 December byte38~39 four years ago byte40~41 three years ago byte42~43 the year before last byte44~45 last year byte46~47 this year
Accumulated energy consumption (heating power) (last 7 days, 12 months, 5 years) Read 0x03 kWh 67~73 74~85 86~90 24 0000h FFFFh byte0~1 Monday byte2~3 Tuesday …… byte12~13 Sunday byte14~15 January byte16~17 February …… byte36~37 December byte38~39 four years ago byte40~41 three years ago byte42~43 the year before last byte44~45 last year byte46~47 this year