gimli
27. November 2024 um 20:16
1
Hallo zusammen,
Ich steige gerade von Iobroker auf HA um und wollte heute meine Stiebel Eltron WP in HA integrieren.
Die Kommunikation mit modbus läuft auch aber ich will mir damit auch die Energieaufnahme der WP in HA holen.
Jetzt ist mir aufgefallen, dass über modbus die tägliche Energieaufnahme in kWh als Ganzzahl kommt, also 3,6 kWh werden dann zu 4 und der Gesamtzähler ist ebenfalls als Ganzzahl allerdings in MWh, gibt mir aktuell also eine 7 zurück was ja eine Spanne von 1 MWh ist. So sind die Werte aus meiner Sicht nicht zu gebrauchen.
Über die Website des ISG werden die Werte zwar auch in kWh bzw. MWh angezeigt, allerdings als float mit drei Nachkommastellen.
Übersehe ich was bzw. nutzt jemand von euch die Werte?
Im Iobroker habe ich über die Stiebel ISG Instanz zugegriffen und die Werte in einem vernünftigen Format erhalten.
Ich möchte jetzt allerdings ungern nur wegen den paar Energiedaten weiter mein iobroker laufen lassen.
LG Denny
greimel
1. Dezember 2024 um 14:46
2
Ich lese zusätzlich Werte per Web-Scraping des ISG (http://servicewelt ) aus.
(scan_interval
dürfte keinen Effekt haben)
scrape:
- resource: http://192.xxx.xxx.xx/?s=1,1
scan_interval: 60
sensor:
- name: 'WP Verdichterstarts'
select: "#content > div:nth-child(5) > table > tr.even > td.value"
unit_of_measurement: "restarts"
- name: 'WP Inverter: Strom (A)'
select: "#content > div:nth-child(1) > table > tr:nth-child(12) > td.value"
value_template: '{{ value.split("A")[0] | replace (",", ".") | float }}'
unit_of_measurement: A
- name: 'WP Inverter: Spannung (V)'
select: "#content > div:nth-child(1) > table > tr:nth-child(13) > td.value"
value_template: '{{ value.split("V")[0] | replace (",", ".") | float }}'
unit_of_measurement: V
- name: 'WP Inverter: Leistung (kW)'
select: "#content > div:nth-child(1) > table > tr:nth-child(20) > td.value.round-rightbottom"
value_template: '{{ value.split("kW")[0] | replace (",", ".") | float }}'
unit_of_measurement: kW
- name: 'WP Wärmequelle: Vorlauftemperatur'
select: "#content > div:nth-child(1) > table > tr:nth-child(17) > td.value"
value_template: '{{ value.split("°C")[0] | replace (",", ".") | float }}'
unit_of_measurement: °C
- name: 'WP Wärmequelle: Rücklauftemperatur'
select: "#content > div:nth-child(1) > table > tr:nth-child(16) > td.value"
value_template: '{{ value.split("°C")[0] | replace (",", ".") | float }}'
unit_of_measurement: °C
- name: 'WP Wärmemenge Heizen Tag'
select: "#content > div:nth-child(2) > table > tr:nth-child(2) > td.value"
value_template: '{{ value.split("KWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- name: 'WP Wärmemenge Warmwasser Tag'
select: "#content > div:nth-child(2) > table > tr:nth-child(4) > td.value"
value_template: '{{ value.split("KWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- name: 'WP Stromverbrauch Heizen Tag'
select: "#content > div:nth-child(3) > table > tr:nth-child(2) > td.value"
value_template: '{{ value.split("KWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- name: 'WP Stromverbrauch Warmwasser Tag'
select: "#content > div:nth-child(3) > table > tr:nth-child(4) > td.value"
value_template: '{{ value.split("KWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- resource: http://192.xxx.xxx.xx/?s=1,8
scan_interval: 60
sensor:
- name: 'WP Wärmemenge Heizen 24h'
select: "#content > div:nth-child(1) > table > tr:nth-child(2) > td.value"
value_template: '{{ value.split("kWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- name: 'WP Wärmemenge Warmwasser 24h'
select: "#content > div:nth-child(1) > table > tr:nth-child(5) > td.value"
value_template: '{{ value.split("kWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- name: 'WP Stromverbrauch Heizen 24h'
select: "#content > div.span-11.prepend-1 > table > tr:nth-child(2) > td.value"
value_template: '{{ value.split("kWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
- name: 'WP Stromverbrauch Warmwasser 24h'
select: "#content > div.span-11.prepend-1 > table > tr:nth-child(5) > td.value"
value_template: '{{ value.split("kWh")[0] | replace (",", ".") | float }}'
unit_of_measurement: "kWh"
Und damit berechne ich mir die aktuelle Stromaufnahme und Effizienz.
template:
- sensor:
- name: 'Wärmepumpe: Leistung (kW)'
unique_id: "wp_leistung_kw"
unit_of_measurement: kW
device_class: "energy"
state: >-
{{ ((float(states('sensor.wp_inverter_strom_a'))) * (float(states('sensor.wp_inverter_spannung_v'))) / 1000) | round(2) }}
- name: 'WP Effizienz Heizen 24h'
unique_id: "wp_effizienz_heizen_24h"
unit_of_measurement: ""
device_class: "energy"
state: >-
{{ ((float(states('sensor.wp_warmemenge_heizen_24h'))) / (float(states('sensor.wp_stromverbrauch_heizen_24h')))) | round(2) }}
- name: 'WP Effizienz Warmwasser 24h'
unique_id: "wp_effizienz_warmwasser_24h"
unit_of_measurement: ""
device_class: "energy"
state: >-
{{ ((float(states('sensor.wp_warmemenge_warmwasser_24h'))) / (float(states('sensor.wp_stromverbrauch_warmwasser_24h')))) | round(2) }}
- name: 'WP Effizienz Heizen Tag'
unique_id: "wp_effizienz_heizen_tag"
unit_of_measurement: ""
device_class: "energy"
state: >-
{{ ((float(states('sensor.wp_warmemenge_heizen_tag'))) / (float(states('sensor.wp_stromverbrauch_heizen_tag')))) | round(2) }}
- name: 'WP Effizienz Warmwasser Tag'
unique_id: "wp_effizienz_warmwasser_tag"
unit_of_measurement: ""
device_class: "energy"
state: >-
{{ ((float(states('sensor.wp_warmemenge_warmwasser_tag'))) / (float(states('sensor.wp_stromverbrauch_warmwasser_tag')))) | round(2) }}
gimli
11. Dezember 2024 um 21:02
4
Das mit dem Auslesen der Website mittels scrape habe ich hinbekommen, vielen Dank für den Input.
Zwei Fragen hätte ich zu deinen Berechnungen:
Die Leistung der WP errechnest du über inverter_strom * inverter_spannung. Soweit klar. Aber ist der Inverter das einzige, was an einer Wärmepumpe Strom “verbraucht”?
Und dann ist mir noch aufgefallen, dass es beim Punkt Inverter auch noch einen Wert für die Motorleistung gibt. Der ist bei mir aber durchweg höher als die Spannung * Strom, ist das bei dir auch so und hast du dafür eine Erklärung?