Stiebel Eltron WPE-I 07 H 400 Modbus Configuration

Hi. A year ago, I had a Stiebel Eltron WPE-I 07 H 400 brine-to-water heat pump with underfloor heating installed in my house. Additionally, I received the ISG from Stiebel Eltron with firmware v12.2.3. I can also read data via Modbus on my test installation of HA (I prefer not to use my active HA instance for testing).

Now to my problem: I would like to adjust the temperatures via HA in the web interface and later also through a thermostat. Unfortunately, I couldn’t find the relevant information in the documentation for the Modbus registers (https://www.stiebel-eltron.ch/content/dam/ste/ch/de/downloads/kundenservice/smart-home/Modbus/Modbus%20Bedienungsanleitung.pdf from page 38 onwards).

At the moment, I can read the current water temperatures for my domestic hot water as well as the outdoor temperature (Hot water register 5999, outdoor temperature register 6099. The ISG starts counting at 1).

Heres my current modbus config:

- name: Stiebel_Eltron_Heizung
  type: tcp
  host: 192.168.50.39
  port: 502

  delay: 0
  message_wait_milliseconds: 30
  timeout: 5

  sensors:
  - name: 'Boiler Temp Oben'
    slave: 1
    address: 6018
    input_type: input
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Boiler Temp unten'
    slave: 1
    address: 6019
    input_type: input
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Aussentemperatur'
    slave: 1
    address: 6099
    input_type: input
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Warmwassertempertatur gemittelt'
    slave: 1
    address: 6100
    input_type: input
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei 17C° Aussentemperatur'
    slave: 1
    address: 7028
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei 10C° Aussentemperatur'
    slave: 1
    address: 7029
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei 5C° Aussentemperatur'
    slave: 1
    address: 7030
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei 0C° Aussentemperatur'
    slave: 1
    address: 7031
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei -5C° Aussentemperatur'
    slave: 1
    address: 7032
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei -15C° Aussentemperatur'
    slave: 1
    address: 7033
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Sollwert bei -25C° Aussentemperatur'
    slave: 1
    address: 7034
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Kühlbetrieb Einschalttemperatur'
    slave: 1
    address: 7095
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

  - name: 'Kühlbetrieb Ausschalttemperatur'
    slave: 1
    address: 7096
    input_type: holding
    unit_of_measurement: °C
    device_class: temperature
    scale: 0.01
    precision: 1 

What else should I do so that I can send the temperature value of a room (a room sensor is available) to the system? I will be getting a cooling circuit installed later on, so I would like to be able to switch between heating and cooling / adjust the values accordingly. I hope you can help me.

Best regards,
Patrick

I have same heatpump and i’m using GitHub - CJNE/thermiagenesis: Home assistant custom component for Thermia Inverter/Mega heat pumps for communication with it. It works without ISG. Just connect Ethernet cable, activate BMS and set it to modbus tcp