Is someone having an idea how I can set the temporary ventilation level (and time)?
I would like to include it in some of my automations (fire automation, better ventilation during hot days, …).
Would you be so kind to share your full configuration.yaml for stiebel? Like the komfort temp etc?
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
Anyone had success with reading values from an ISG Web running firmware 12.0.0 on a LWZ 5S Plus?
I bought one recently and it looks like modbus is not active, Stiebel Eltron support tells me it should be.
Tried reading values trough home assistant using above config or directly with pymodbus.
Always running into an exception: (132, 4, IllegalAddress)
Realized that the LWZ 5S Plus is categorized as “integral ventilation units” so I was just looking in the wrong table for the modbus addresses.
Thanks @ingo.niehues for this input.
I am convinced that this help will allow me to set up a more user-friendly monitoring of the installation than the native ISG platform.
I just need to get rid of a “sensor” error.
Ask me If you need Help.
HELP !
Thank you very much for the proposal.
I placed the modbus part in a dedicated yaml, and the sensors part in another dedicated yaml.
I only left 16 of all the “sensors” you placed on your side.
When I check from “Check and restart” I get the following message 16 times.
Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See /config/configuration.yaml, line 29)
I had the same error before doing the split in separate yamls, so I don’t think the problem is there.
Thank you in advance to anyone who can enlighten me
I´ve had problems with my modbus-configuration when i put the modbus-configuration in a separated file witch i “include: …” in the configuration.yaml.
When i put ALL my modbus-configuration directly in the configuration.yaml there is no problem. Don´t know why, but this way it works for me.
Maybe you could share your modbus-part of your configuration or send me a message with it.
Hello @ingo.niehues and thanks for the feedback.
It seems that it was caused by a syntax problem (and modbus declaration).
I kept only one sensor for the moment, in order to simplify debugging if necessary.
I still have to see how to go further to display the indicators and especially to use the sensors in “write”.
I wish you a good week !
Voici le code pour ceux qui rencontreraient aussi un soucis:
modbus:
- name: STIEBEL_ELTRON #Name for your Heat-Pump
type: tcp
host: 192.168.0.109 #IP-Adress of your ISGweb or ISGplus
port: 502
close_comm_on_error: false
retry_on_empty: true
retries: 10
sensors:
- name: temp_ext
unique_id: temp_ext # Unique ID enables you to rename it and change Icon etc via UI
address: 506 #507 - 1 <== Meaning: In the Documentation the Modbus-Adress is 507, here i need to use 506 (always -1)
slave: 1
input_type: input
unit_of_measurement: °C
device_class: temperature
scale: 0.1
precision: 1
You have to use a service call to write to a register.
service: modbus.write_register
data:
address: 1510 #Register for Eco-Mode-Temperature for Warmwater
slave: 1 #same as the read-sensor
value: "{{ trigger.to_state.state | float(0) * 10 | int }}" # see below
hub: STIEBELELTRON #same as the "name" under "modbus:" in configuration-yaml
HOW you have to write data to a register depends on the datatype of the register.
To control values like set-temperature for “eco” and “comfort”-mode i use helpers (input_number) and the following to automations to (1) update the helpers if a value changes in the heatpump and (2) set a value to the heat-pump if a helper has a changed value.
# automation to update helpers if a value in the heatpump changed
alias: Wärmepumpe Altbau - Inputs aktualisieren
description: ""
trigger: # if one of these sensors have changed values
- platform: state
entity_id: sensor.wp_altbau_heizkreis1_temp_eco
id: eco
alias: Eco-Temperatur aktualisiert
- platform: state
entity_id: sensor.wp_altbau_heizkreis1_temp_komfort
id: komfort
alias: Komfort-Temperatur aktualisiert
- platform: state
entity_id: sensor.wp_altbau_warmwasser_temp_eco
id: ww_eco
alias: Eco-Temperatur aktualisiert
- platform: state
entity_id: sensor.wp_altbau_warmwasser_temp_komfort
id: ww_komfort
alias: Komfort-Temperatur aktualisiert
- platform: state
entity_id:
- sensor.wp_altbau_betriebsart
id: betriebsart
alias: Betriebsart aktualisiert
- platform: state
entity_id: sensor.wp_altbau_heizkreis1_heizkurve
id: heizkurve
alias: Heizkurve aktualisiert
condition: []
action: #... then change the input_number (and input_select) to that value
- choose:
- conditions:
- condition: trigger
id: eco
alias: Auslöser Eco-Temperatur
sequence:
- service: input_number.set_value
data:
value: "{{ trigger.to_state.state | float(0) }}"
target:
entity_id: input_number.wp_altbau_temp_eco
alias: Input-Number für Eco-Temperatur anpassen
- conditions:
- condition: trigger
id: ww_eco
alias: Auslöser Eco-Temperatur Warmwasser
sequence:
- service: input_number.set_value
data:
value: "{{ trigger.to_state.state | float(0) }}"
target:
entity_id: input_number.wp_altbau_ww_temp_eco
alias: Input-Number für Eco-Temperatur Warmwasser anpassen
- conditions:
- condition: trigger
id: ww_komfort
alias: Auslöser Eco-Temperatur
sequence:
- service: input_number.set_value
data:
value: "{{ trigger.to_state.state | float(0) }}"
target:
entity_id: input_number.wp_altbau_ww_temp_komfort
alias: Input-Number für Komfort-Temperatur Warmwasser anpassen
- conditions:
- condition: trigger
id: komfort
alias: Auslöser Komfort-Temperatur
sequence:
- service: input_number.set_value
data:
value: "{{ trigger.to_state.state | float(0) }}"
target:
entity_id: input_number.wp_altbau_temp_komfort
alias: Input-Number für Komfort-Temperatur anpassen
- conditions:
- condition: trigger
id: betriebsart
alias: Auslöser Betriebsart
sequence:
- if:
- condition: state
entity_id: sensor.wp_altbau_betriebsart
state: "0"
then:
- service: input_select.select_option
data:
option: Notbetrieb
target:
entity_id: input_select.wp_altbau_betriebsart
else:
- if:
- condition: state
entity_id: sensor.wp_altbau_betriebsart
state: "1"
then:
- service: input_select.select_option
data:
option: Bereitschaftsbetrieb
target:
entity_id: input_select.wp_altbau_betriebsart
else:
- if:
- condition: state
entity_id: sensor.wp_altbau_betriebsart
state: "2"
then:
- service: input_select.select_option
data:
option: Programmbetrieb
target:
entity_id: input_select.wp_altbau_betriebsart
else:
- if:
- condition: state
entity_id: sensor.wp_altbau_betriebsart
state: "3"
then:
- service: input_select.select_option
data:
option: Komfortbetrieb
target:
entity_id: input_select.wp_altbau_betriebsart
else:
- if:
- condition: state
entity_id: sensor.wp_altbau_betriebsart
state: "4"
then:
- service: input_select.select_option
data:
option: Eco-Betrieb
target:
entity_id: input_select.wp_altbau_betriebsart
else:
- if:
- condition: state
entity_id: sensor.wp_altbau_betriebsart
state: "5"
then:
- service: input_select.select_option
data:
option: Warmwasserbetrieb
target:
entity_id: input_select.wp_altbau_betriebsart
alias: Betriebsart-Input aktualisieren
- conditions:
- condition: trigger
id: heizkurve
alias: Auslöser Heizkurve
sequence:
- service: input_number.set_value
data:
value: "{{ trigger.to_state.state | float(0) }}"
target:
entity_id: input_number.wp_altbau_heizkurve
alias: Input-Number für Heizkurve anpassen
mode: single
and
# automation to send new values from helpers to the heatpump
alias: Wärmepumpe altbau - Anlage durch Inputs steuern
description: ""
trigger: # if a value of a helper changed...
- platform: state
entity_id:
- input_number.wp_altbau_temp_eco
id: eco
alias: Eco-Temperatur aktualisiert
- platform: state
entity_id:
- input_number.wp_altbau_ww_temp_eco
id: ww_eco
alias: Eco-Temperatur Warmwasser aktualisiert
- platform: state
entity_id:
- input_number.wp_altbau_temp_komfort
id: komfort
alias: Komfort-Temperatur aktualisiert
- platform: state
entity_id:
- input_number.wp_altbau_ww_temp_komfort
id: ww_komfort
alias: Komfort-Temperatur Warmwasser aktualisiert
- platform: state
entity_id:
- input_select.wp_altbau_betriebsart
id: betriebsart
alias: Betriebsart aktualisiert
- platform: state
entity_id:
- input_number.wp_altbau_heizkurve
id: heizkurve
alias: Heizkurve aktualisiert
condition: []
action: # send service calls to update the values of the heatpump
- choose:
- conditions:
- condition: trigger
id: eco
alias: Auslöser Eco-Temperatur
sequence:
- service: modbus.write_register
data:
address: 1502
slave: 1
value: "{{ trigger.to_state.state | float(0) * 10 | int }}"
hub: ISG_Jeschke
- conditions:
- condition: trigger
id: ww_eco
alias: Auslöser Eco-Temperatur Warmwasser
sequence:
- service: modbus.write_register
data:
address: 1510
slave: 1
value: "{{ trigger.to_state.state | float(0) * 10 | int }}"
hub: ISG_Jeschke
- conditions:
- condition: trigger
id: komfort
alias: Auslöser Komfort-Temperatur
sequence:
- service: modbus.write_register
data:
address: 1501
slave: 1
value: "{{ trigger.to_state.state | float(0) * 10 | int }}"
hub: ISG_Jeschke
- conditions:
- condition: trigger
id: ww_komfort
alias: Auslöser Komfort-Temperatur Warmwasser
sequence:
- service: modbus.write_register
data:
address: 1509
slave: 1
value: "{{ trigger.to_state.state | float(0) * 10 | int }}"
hub: ISG_Jeschke
- conditions:
- condition: trigger
id: betriebsart
alias: Auslöser Betriebsart
sequence:
- if:
- condition: state
entity_id: input_select.wp_altbau_betriebsart
state: Notbetrieb
then:
- service: modbus.write_register
data:
address: 1500
slave: 1
value: 0
hub: ISG_Jeschke
else:
- if:
- condition: state
entity_id: input_select.wp_altbau_betriebsart
state: Bereitschaftsbetrieb
then:
- service: modbus.write_register
data:
address: 1502
slave: 1
value: 1
hub: ISG_Jeschke
else:
- if:
- condition: state
entity_id: input_select.wp_altbau_betriebsart
state: Programmbetrieb
then:
- service: modbus.write_register
data:
address: 1502
slave: 1
value: 2
hub: ISG_Jeschke
else:
- if:
- condition: state
entity_id: input_select.wp_altbau_betriebsart
state: Komfortbetrieb
then:
- service: modbus.write_register
data:
address: 1502
slave: 1
value: 3
hub: ISG_Jeschke
else:
- if:
- condition: state
entity_id: input_select.wp_altbau_betriebsart
state: Eco-Betrieb
then:
- service: modbus.write_register
data:
address: 1502
slave: 1
value: 4
hub: ISG_Jeschke
else:
- if:
- condition: state
entity_id: input_select.wp_altbau_betriebsart
state: Warmwasserbetrieb
then:
- service: modbus.write_register
data:
address: 1502
slave: 1
value: 5
hub: ISG_Jeschke
- conditions:
- condition: trigger
id: heizkurve
alias: Auslöser Heizkurve
sequence:
- service: modbus.write_register
data:
address: 1503
slave: 1
value: "{{ trigger.to_state.state | float(0) * 100 }}"
hub: ISG_Jeschke
mode: single
If you use “HACS” you should maybe give this a try → GitHub - pail23/stiebel_eltron_isg_component: Stiebel Eltron Modbus component for Home Assistant
Should be much easier, if it works for you.
Am I right that it’s not possible to change the current Lüfterstufe via Modbus?
Hello,
I didn’t check my notifications and I missed your replies.
Finally the sensor created (to first retrieve the setpoint t°) does not work, I have to clean up my way of creating sensors.
I try to move forward step by step according to the time available for this project
Thanks for the help.
Are you also noticing that the power consumption of a given day never starts at 0?
Currently parsing these from the Stiebel Eltron Web interface. But even the values shown on the heat pump are not 0 at midnight.
This applies for both hot water and heating.
I can fix that downstream in e.g. Grafana but I was wondering if this is a known issue.
I´ve had the same problem. There are 2 ways to solve this:
1.) Maybe your WPM has set the wrong time (this was in my case). You can change it directly from your WPM.
2.) The Update of the values from your Heat Pump doesn´t come excatly when you need them to “start the new day”. I fixed this by adding a “scan_interval” to my energy-entities like this:
- name: wp_neubau_waermemenge_warmwasser_tag
unique_id: wp_neubau_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 # <- Updates come every 30 seconds
Edit:
The “Total MWH” and “Total KWH”-values only updates once a day. If you want the current total you have to sum up “Total MHW / 1000” + “Total KWH” + “Today KWH” via a template sensor.
Edit 2:
Just read that you parse your values from the Web Interface (“Servicewelt”). I did this before, but got better values via ModBus-Integration. Hope you´ll find a soltution for your problem. Sadly the Modbus-Integration does not give decimals on “Today KWH” even if they are there in “Servicewelt”. I´ve contacted Stiebel Eltron and asked them. For now there are no decimal values in ModBus, maybe that changes in the future.
Irgendwie bin ich am verzweifeln Ich dreh mich im Kreis.
Ich habe Modbus aktiviert, allerdings ohne besondere Configs.
Im Moment sieht der so aus:
#Modbus
modbus:
- name: "hub1modbus"
type: tcp
host: 192.168.0.92
delay: 5
type: tcp
port: 502
# Stiebel Eltron Wärmepumpe
stiebel_eltron:
name: LWZ504e
In meinem Log wirft er folgenden Fehler:
Logger: homeassistant.setup
Source: components/stiebel_eltron/__init__.py:45
First occurred: 22:09:30 (1 occurrences)
Last logged: 22:09:30
Error during setup of component stiebel_eltron
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 256, in _async_setup_component
result = await task
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/stiebel_eltron/__init__.py", line 45, in setup
modbus_client = hass.data[MODBUS_DOMAIN][config[DOMAIN][CONF_HUB]]
KeyError: 'modbus_hub'
Ich wollte eigentlich nur hin und wieder meine Lüftung steuern und evtl. Luftwärme konfigurieren.
Jemand einen Tipp wo ich suchen muss?
German:
Ich empfehle dir über HACS die folgende Integration zu verwenden. Das geht viel einfacher und funktioniert auch. Mit der standard Stiebel Eltron Integration hab ich auch keine Verbindung hinbekommen:
PS: Poste hier bitte in englisch, damit jeder etwas davon hat.
English:
I would recommend to use the following integration via HACS. It is much easier and works flawless. I´ve also had problems with the standard stiebel eltron integration in home assistant und could not make it work.
Hi Ingo.Niehues,
I will continue in english to give more people the chance to benefit from my questions. Thanks for the hint!
With the help of your link I got the component running. I still see only “Unknown” values.
I assume this is related to a not properly configured modbus? Is there a way to check if the modbus works?
Ok, Verständnisfrage: Wühle mich durch Tutorials und Videos:
Muss ich für jeden Wert den auslesen möchte in der Modbus Konfiguration (YAML) einen entsprechenden Sensor anlegen? Da die ganzen Sensoren schon in der Integration aufgelistet sind (Siehe Bild) hatte ich gehofft, dass diese schon dabei sind.
Ich habe leider keine Heizung von Stiebel Eltron direkt, sondern Tecalor. Allerdings sind die Tecalor Wärmepumpen am Ende vom Tag Stiebel Eltron Geräte als Whitelabel verkauft. ISG Gateway ist das gleiche und Heizungssteuerung auch.
Gibt es eine Liste aller Modbus Register für Tecalor/Stiebel Eltron Geräte?
Und gibt es jemand der alle Sensoren im Modbus schon angelegt hat? Sonst muss ich wohl viel Mühe aufwenden, die alle anzulegen
sensors:
- name: temp_ext
unique_id: temp_ext # Unique ID enables you to rename it and change Icon etc via UI
address: 506 #507 - 1 <== Meaning: In the Documentation the Modbus-Adress is 507, here i need to use 506 (always -1)
slave: 1
input_type: input
unit_of_measurement: °C
device_class: temperature
scale: 0.1
precision: 1
Einmal mit 506 und 507 probiert, hat nicht geklappt Was mach ich falsch?
List of all modbus-registers for stiebel eltron:
There are different options for integrating a stiebel eltron heat pump into home assistant:
1.) The official Stiebel Eltron Integration => STIEBEL ELTRON - Home Assistant (did not work for me)
2.) The “Stiebel Eltron ISG”-Integration via HACS => GitHub - pail23/stiebel_eltron_isg_component: Stiebel Eltron Modbus component for Home Assistant (works for me)
3.) The Modbus-Integration of Home Assistant => Modbus - Home Assistant (works for me)
If you use the Modbus-Integration (3.) you have to configure your Sensors via YAML-Code in the configuration.yaml. The other to methods (1. and 2.) don´t require manually YAML-Configuration.
If you use the “Stiebel Eltron Modbus” you should NOT set up “Modbus” in configuation.yaml. If you do so, then two Modbus connection to your heat pump will exists (one from the “modbus”-integration and one from the “ISG”-integration - this may lead to problems, as multiple modbus connections may not work).
So my advice is:
1.) remove the “modbus:…”-code from your configuration.yaml
2.) restart home assistant
3.) Check if you get sensor values from the “ISG”-integration
If not: Check your Logs for “modbus” or “ISG”.