Reading modbus register

Hi,

a heat pump is connected by modbus and I can read and set values. But I got a weird problem
with the heating circuits

The heat pump has two heating circuits:

  • HC 1
  • HC 2
  • (HC 3) not used

Both have different values. For example “Heating curve end point (HCEP)” with different addresses

  • HCEP 1: 5038
  • HCEP 2: 5084

This is my modbus configuration for the two values:

- name: "WP EHK Heizkurvenendpunkt"
    slave: 2
    address: 5038
    input_type: holding
    unit_of_measurement: °C
    state_class: measurement
    offset: 0
    precision: 1
    min_value: 20
    max_value: 70
    data_type: int16
    device_class: temperature
...
- name: "WP ZHK Heizkurvenendpunkt"
    slave: 2
    address: 5084
    input_type: holding
    unit_of_measurement: °C
    state_class: measurement
    offset: 0
    precision: 1
    min_value: 20
    max_value: 70
    data_type: int16
    device_class: temperature

Both values have 42°C.

  1. I open the webui of the heat pump and select HC1
  2. I change the HCEP 1 to e.g. 44°C
  3. My HA shows for BOTH (HCEP 1 and HCEP 2) the value 44°C !
  4. I select HC 2 in the webui of the heat pump
  5. In the webui of the heat pump HCEP 2 is still 42°C and now the value in HA for HCEP 2 changes to 42°C. HCEP 1 still remains on 44°C in HA
  6. I select HC 1 in the heat pump web ui and the value in HA changes back to 44°C for both HCEP

I am kinda confused.

The documentation of the heat pump mentions that you have to write a register if you want to control the values betwen HC 2 and HC 3. But there is no HC 3 in the system!. And the documentation does not
mention this for reading values of HC 1 or HC 2

Nevertheless I would try to send a “select command” by modbus before reading the values
of HC 2. Any idea how to do that?

Best regards
Goran

Maybe you can’t change individually

Moved to Weishaupt Heatpump integration via modbus - #93 by anorakophobia