COP-Wert Wärmepumpe berechnen

Zur Heizung gehen und prüfen ob sie ordnungsgemäss funktioniert war gestern. Mit Home Assistant die Effizienz der Wärmepumpe kontinuierlich überwachen.

Die Leistungszahl, kurz COP (Coefficient of Performance), ist das Verhältnis der abgegebenen Wärmeleistung zur aufgenommenen elektrischen Leistung.

Der COP ist abhängig von der Temperatur der Wärmequelle und der Vorlauftemperatur. Beim Ein- und Ausschalten der Wärmepumpe können zudem die Messwerte kurzfristig ausserhalb des Sollzustands liegen. Home Assistant bietet die Möglichkeit einen Verbrauchszähler einzurichten. Die Überwachung der Wärmepumpe erfolgt, über das Verhältnis von abgegebener Wärmeenergie (Wärmeleistung * Zeit) zur aufgenommenen elektrischen Energie (Leistung * Zeit).

Damit das funktioniert brauchst Du:

  • Die Wärmeleistung messen
  • Die elektrische Leistung messen
  • …und natürlich Home Assistant

Anleitung

Die Wärmeleistung messen

Option 1: Die Wärmepumpe liefert die Wert der abgegebenen Wärmeleistung

Option 2: Die Wärmeleistung messen. Wie das geht ist in diesem Artikel beschrieben: Den Heizverbrauch messen. Im Artikel ist das Messgerät bei der Position «Verbraucher Messung» installiert, um den COP der Wärmepumpe zu berechnen muss es an der Position «Erzeuger Messung» installiert werden.


Die elektrische Leistung messen

Option 1: Die Wärmepumpe liefert den Wert der aufgenommenen elektrischen Leistung

Option 2: Die elektrische Leistung wird über ein Zusatzgerät gemessen. Wie das geht ist in diesem Artikel beschrieben: Energiemessung Wärmepumpe mit Energie Dashboard


COP über Leistungsmessung berechnen

Die gemessenen Leistungen sind in Home Assistant verfügbar und können im Verlauf angezeigt werden.

Der COP-Wert wird über eine Template Sensor berechnet. Der Nenner darf nicht Null sein. Der COP wird in diesem Beispiel erst ab einer elektrischen Leistung von 2’000 W berechnet um die Messwerte beim Ein- und Ausschalten zu ignorieren. Dieser Schwellwert wurde empirisch ermittelt.

template:
- sensor:
    - name: ug_wp_cop
      unique_id: ug_wp_cop_id
      device_class: power_factor

      state: >
        {% set el_power = states('sensor.ug_wp_power_el')  %}
        {% set therm_power = states('sensor.ug_wp_power_q') %}
        {% if is_number(el_power) and is_number(therm_power) %}
          {% if (el_power | int) > 2000 %}
            {% set cop = (therm_power | int) / (el_power | int) %}
          {% else %}
            {% set cop = 0 %}
          {% endif %}
          {{ cop }}
        {% endif %} 

COP Tagesindex über Energie berechnen

Entitäten Verbrauchszähler erstellen

Das Gerät welches die elektrische Leistung misst, verfügt in der Regel auch über einen Energiezähler (siehe Energiemessung Wärmepumpe mit Energie Dashboard, Artikel «TE331 KNX Messwertgeber konfigurieren und integrieren»).

Mit dem Messwert der elektrischen Energie (sensor.ug_wp_energy_electric_total) wird ein Verbrauchszähler (utility_meter) erstellt.

Mit dem Messwert der Wärmeenergie (sensor.up_wp_energy) wird ein weiterer Verbrauchszähler (utility_meter) erstellt.

Hier das Beispiel für die Konfigurationsdatei configuration.yaml die beiden Verbrauchszähler können auch in der grafischen Benutzeroberfläche über Einstellungen:Helfer erstellt werden.

utility_meter:
  energy_consumption_wp:
    source: sensor.ug_wp_energy_electric_total
    name: Wärmepumpe Tagesverbrauch
    cycle: daily
    delta_values: false
    tariffs:
      - peak
      - offpeak
  energy_generation_wp:
    source: sensor.ug_wp_energy
    name: Wärmepumpe Tageserzeugnis
    cycle: daily
    delta_values: false

COP Tagesindex berechnen

Der COP Tageswert (ug_wp_cop_daily) wird über die Werte der Verbrauchszähler berechnet.

Das Template hat folgende Besonderheiten:

  • Der elektrische Verbrauch wird für Hoch- und Niedertarif gemessen. Deshalb müssen diese beiden Werte addiert werden (cons_day).
  • Der Verbrauchszähler der Wärmepumpe ist in [kWh] deshalb wird er mit dem Faktor 1’000 auf [Wh] skaliert
template:
- sensor:
    - name: ug_wp_cop_daily
      unique_id: ug_wp_cop_daily_id
      device_class: power_factor

      state: >
        {% set day_prod = states('sensor.warmepumpe_tageserzeugnis') %}
        {% set day_cons_offpeak = states('sensor.energy_consumption_wp_offpeak') %}
        {% set day_cons_peak = states('sensor.energy_consumption_wp_peak') %}
        {% if is_number( day_prod ) and is_number( day_cons_offpeak ) and  is_number( day_cons_peak )%}
          {% set cons_day = (day_cons_peak | float) + (day_cons_offpeak | float) %}
          {% if cons_day != 0 %}
            {% set cop_day = (day_prod | float * 1000) / cons_day %}
            {{ cop_day}}
          {% endif %}
        {% else %}
          {{ -1 }}
        {% endif %}