Is there any interest in a Stiebel Eltron climate platform?

Sure, no problem:

Disclaimer: Most of the things i know i found here. Thank you for this great community!

Here is my code in the configuration.yaml (i tried to put it in a modbus.yaml with modbus: !include in configuration.yaml but that didn´t work.

# Altbau
  - type: tcp
    host: 192.168.188.156 #IP-Adress of your ISGweb or ISGplus
    port: 502
    name: STIEBELELTRON #Name for your Heat-Pump, needed if you have more than one (as i have)
    close_comm_on_error: false
    retry_on_empty: true
    retries: 10

    # Sensoren
    sensors:

      # INPUT-Entities - Only for Reading

      - name:                wp_altbau_ist_temp_aussen
        unique_id:           wp_altbau_ist_temp_aussen # Unique ID enables you to rename it and change Icon etc via UI
        slave:               1
        address:             506 #507 - 1 <== Meaning: In the Documentation the Modbus-Adress is 507, here i need to use 506 (always -1)
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_ist_temp_heizkreis1
        unique_id:           wp_altbau_ist_temp_heizkreis1
        slave:               1
        address:             507 #508 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_soll_temp_heizkreis1
        unique_id:           wp_altbau_soll_temp_heizkreis1
        slave:               1
        address:             509 #510 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_ruecklauf_ist_temp
        unique_id:           wp_altbau_ruecklauf_ist_temp
        slave:               1
        address:             515 #516 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_puffer_ist_temp
        unique_id:           wp_altbau_puffer_ist_temp
        slave:               1
        address:             517 #518 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_puffer_soll_temp
        unique_id:           wp_altbau_puffer_soll_temp
        slave:               1
        address:             518 #519 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_ist_temp_warmwasser
        unique_id:           wp_altbau_ist_temp_warmwasser
        slave:               1
        address:             521 #522 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_soll_temp_warmwasser
        unique_id:           wp_altbau_soll_temp_warmwasser
        slave:               1
        address:             522 #523 - 1
        input_type:          input
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_betriebsstatus
        unique_id:           wp_altbau_betriebsstatus
        slave:               1
        address:             2500 #2501 - 1 
        input_type:          input
        data_type:           uint16

      - name:                wp_altbau_fehlerstatus
        unique_id:           wp_altbau_fehlerstatus
        slave:               1
        address:             2503 #2504 - 1 
        input_type:          input
        data_type:           uint16

      - name:                wp_altbau_waermemenge_heizen_tag
        unique_id:           wp_altbau_waermemenge_heizen_tag
        slave:               1
        address:             3500 #3501 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_waermemenge_heizen_ges_kwh
        unique_id:           wp_altbau_waermemenge_heizen_ges_kwh
        slave:               1
        address:             3501 #3502 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_waermemenge_heizen_ges_mwh
        unique_id:           wp_altbau_waermemenge_heizen_ges_mwh
        slave:               1
        address:             3502 #3503 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: MWh
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_waermemenge_warmwasser_tag
        unique_id:           wp_altbau_waermemenge_warmwasser_tag
        slave:               1
        address:             3503 #3504 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_waermemenge_warmwasser_ges_kwh
        unique_id:           wp_altbau_waermemenge_warmwasser_ges_kwh
        slave:               1
        address:             3504 #3505 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_waermemenge_warmwasser_ges_mwh
        unique_id:           wp_altbau_waermemenge_warmwasser_ges_mwh
        slave:               1
        address:             3505 #3506 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: MWh
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_stromverbrauch_heizen_tag
        unique_id:           wp_altbau_stromverbrauch_heizen_tag
        slave:               1
        address:             3510 #3511 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_stromverbrauch_heizen_ges_kwh
        unique_id:           wp_altbau_stromverbrauch_heizen_ges_kwh
        slave:               1
        address:             3511 #3512 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_stromverbrauch_heizen_ges_mwh
        unique_id:           wp_altbau_stromverbrauch_heizen_ges_mwh
        slave:               1
        address:             3512 #3513 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: MWh
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_stromverbrauch_warmwasser_tag
        unique_id:           wp_altbau_stromverbrauch_warmwasser_tag
        slave:               1
        address:             3513 #3514 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_stromverbrauch_warmwasser_ges_kwh
        unique_id:           wp_altbau_stromverbrauch_warmwasser_ges_kwh
        slave:               1
        address:             3514 #3515 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: kWh  
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      - name:                wp_altbau_stromverbrauch_warmwasser_ges_mwh
        unique_id:           wp_altbau_stromverbrauch_warmwasser_ges_mwh
        slave:               1
        address:             3515 #3516 - 1 
        input_type:          input
        data_type:           uint16
        unit_of_measurement: MWh
        device_class:        energy
        state_class:         total_increasing
        scan_interval:       30

      # HOLDING-Entities - Read AND Write possible

      - name:                wp_altbau_betriebsart
        unique_id:           wp_altbau_betriebsart
        slave:               1
        address:             1500 #1501 - 1 
        input_type:          holding
        data_type:           uint16

      - name:                wp_altbau_heizkreis1_heizkurve
        unique_id:           wp_altbau_heizkreis1_heizkurve
        slave:               1
        address:             1503 #1504 - 1
        input_type:          holding
        scale:               0.01
        precision:           2

      - name:                wp_altbau_heizkreis1_temp_komfort
        unique_id:           wp_altbau_heizkreis1_temp_komfort
        slave:               1
        address:             1501 #1502 - 1
        input_type:          holding
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_heizkreis1_temp_eco
        unique_id:           wp_altbau_heizkreis1_temp_eco
        slave:               1
        address:             1502 #1503 - 1
        input_type:          holding
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_warmwasser_temp_komfort
        unique_id:           wp_altbau_warmwasser_temp_komfort
        slave:               1
        address:             1509 #1510 - 1
        input_type:          holding
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

      - name:                wp_altbau_warmwasser_temp_eco
        unique_id:           wp_altbau_warmwasser_temp_eco
        slave:               1
        address:             1510 #1511 - 1
        input_type:          holding
        unit_of_measurement: °C
        device_class:        temperature
        scale:               0.1
        precision:           1

To get the current “total” of power consumption you have sum MWH + KWH + TODAY. I did this via template sensors like this:

template:
  - sensor:
      - unique_id: wp_altbau_waermemenge_heizen_gesamt
        name: wp_altbau_waermemenge_heizen_gesamt
        state: "{{ states('sensor.wp_altbau_waermemenge_heizen_ges_mwh') | int * 1000 + states('sensor.wp_altbau_waermemenge_heizen_ges_kwh') | int + states('sensor.wp_altbau_waermemenge_heizen_tag') | int }}"
        unit_of_measurement: kWh  
        device_class: energy
        state_class: total_increasing

      - unique_id: wp_altbau_waermemenge_warmwasser_gesamt
        name: wp_altbau_waermemenge_warmwasser_gesamt
        state: "{{ states('sensor.wp_altbau_waermemenge_warmwasser_ges_mwh') | int * 1000 + states('sensor.wp_altbau_waermemenge_warmwasser_ges_kwh') | int + states('sensor.wp_altbau_waermemenge_warmwasser_tag') | int }}"
        unit_of_measurement: kWh  
        device_class: energy
        state_class: total_increasing

To change settings like comfort-temp i use mushroom-cards with “tap_action:” to call a service:

service: modbus.write_register
data:
  address: 1510
  slave: 1
  value: "{{ trigger.to_state.state | float(0) * 10 | int }}"
  hub: STIEBELELTRON

I would recomment to read the modbus-documentation from stiebel eltron:
https://www.stiebel-eltron.de/content/dam/ste/cdbassets/historic/bedienungs-_u_installationsanleitungen/ISG_Modbus__b89c1c53-6d34-4243-a630-b42cf0633361.pdf

5 Likes