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