Featured image of post Thermische Leistungsberechnung mit AppDaemon: Effizienz von Heizkreisen überwachen

Thermische Leistungsberechnung mit AppDaemon: Effizienz von Heizkreisen überwachen

Die thermische Leistungsberechnung ist eine leistungsstarke AppDaemon-Lösung zur Überwachung der Effizienz einzelner Heizkreise. Mit dieser App kannst du die abgegebene Leistung in Watt berechnen, Ineffizienzen erkennen und die Leistung deiner Heizsysteme optimieren.

Dieser Beitrag ist Teil einer Serie über Home Assistant Automatisierungen mit AppDaemon. In dieser Serie zeige ich, wie verschiedene Automatisierungsansätze implementiert werden können, von der Rollladensteuerung bis hin zur Effizienzüberwachung von Heizsystemen.

Die thermische Leistungsberechnung ist eine leistungsstarke AppDaemon-Lösung zur Überwachung der Effizienz einzelner Heizkreise. Mit dieser App kannst du die abgegebene Leistung in Watt berechnen, Ineffizienzen erkennen und die Leistung deiner Heizsysteme optimieren. Der vollständige Code für diese App ist verfügbar auf GitHub: Thermal Power Meter Gist.

Die Berechnung basiert auf Sensorwerten wie Temperaturdifferenzen und Durchflussraten. Sie ermöglicht es, detaillierte Einblicke in die Leistung einzelner Heizkreise zu erhalten und gezielt Maßnahmen zur Optimierung zu ergreifen. Dadurch wird nicht nur die Energieeffizienz gesteigert, sondern auch der Komfort in deinem Zuhause verbessert.

Benötigte Sensoren und Aktoren

Die physischen Sensoren und Aktoren bilden die Grundlage für die Berechnung der thermischen Leistung. Während moderne Heizsysteme diese Daten oft nativ bereitstellen können, fehlt diese Funktionalität bei älteren Anlagen, wie meiner Therme aus dem Jahr 2012. Um dennoch präzise Messwerte zu erhalten, habe ich ein ESP32-Modul mit ESPHome und Rohranlegefühlern an Vor- und Rücklauf installiert. Dieses Setup erfasst die notwendigen Temperaturen für die Berechnung.

Zusätzlich wird in meinem Fall eine Fußbodenheizung mit konstantem Durchfluss betrieben. Für Anlagen mit variablen Durchflüssen können alternative Lösungen wie ein Durchflussmesser oder eine Umwälzpumpe mit entsprechender Datenübermittlung eingesetzt werden:

Hinweis: Die unten aufgeführten Links sind Affiliate-Links. Beim Kauf über diese Links unterstützt du diesen Blog, ohne dass dir zusätzliche Kosten entstehen.

  • ESP32 mit ESPHome: Jetzt kaufen
    Der ESP32 dient als zentrale Steuereinheit für die Sensordaten und wird mit ESPHome konfiguriert. Er empfängt die Messwerte der angeschlossenen Temperatursensoren und sendet diese an Home Assistant.
  • Rohranlegefühler PT1000: Jetzt kaufen
    Der PT1000 ist ein präziser Temperatursensor, der direkt auf die Rohrleitungen angebracht wird. Er misst die Vor- und Rücklauftemperatur und liefert genaue Werte für die thermische Berechnung.
  • Grundfos Alpha3 HE-Umwälzpumpe: Jetzt auf Amazon ansehen
    Diese hocheffiziente Umwälzpumpe verfügt über integrierte Sensoren, die den Durchfluss überwachen. Sie ermöglicht eine genaue Erfassung der Wassermenge, die durch die Heizkreise fließt, und unterstützt eine präzise Leistungsberechnung. Eine vorgefertigte Integration für ESPHome vereinfacht die Einbindung in Home Assistant erheblich. Weitere Informationen findest du hier: ESPHome Alpha3 Integration.

Konfiguration der App

Das folgende YAML-Beispiel zeigt die Konfiguration der AppDaemon-App, die speziell für den Heizkreis im Wohnzimmer eingerichtet ist. Diese Instanz des Power Meters überwacht die Temperaturdifferenzen zwischen Vor- und Rücklauf sowie die Durchflussmenge, um die thermische Leistung in Watt zu berechnen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
thermal_power_meter:
  module: thermal_power_meter
  class: ThermalPowerMeter
  supply_temperature: sensor.heating_supply_temperature
  return_temperature: sensor.heating_return_temperature
  power: sensor.heating_power
  friendly_name: "Heizkreis Wohnzimmer"
  hydronic:
    - entity_id: switch.heating_pump
      flow_rate: 1.5 # in m³/Stunde
      mixer: sensor.mixer_setting
      mode: "series"
  power_loss: 10

Erklärung der Parameter

  • module und class: Geben an, welche Python-Klasse in AppDaemon verwendet wird.
  • supply_temperature: Sensor für die Vorlauftemperatur.
  • return_temperature: Sensor für die Rücklauftemperatur.
  • power: Sensor, der die berechnete Leistung ausgibt.
  • friendly_name: Name des Heizkreises für die Übersichtlichkeit.
  • hydronic: Liste der Pumpen und deren spezifischen Eigenschaften wie Durchflussrate, Mischventil und Betriebsmodus.
  • power_loss: Prozentuale Energieverluste, die bei der Berechnung berücksichtigt werden.

Code-Ausschnitte zur thermischen Leistungsberechnung

Initialisierung

Die Initialisierungsphase lädt alle relevanten Parameter aus der Konfiguration und richtet Listener ein, die Änderungen an den Sensordaten überwachen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class ThermalPowerMeter(hass.Hass):
    def initialize(self):
        self._supply_temperature = self.args["supply_temperature"]
        self._return_temperature = self.args.get("return_temperature", None)
        self._return_difference = self.args.get("return_difference", 10)

        self.power_loss = self.args.get("power_loss", 11)  # in Prozent

        self.hydronic = self.args.get("hydronic", [])

        self._power = self.args["power"]
        self._friendly_name = self.args["friendly_name"]

        self.water_specific_heat = 4186  # J/(kg*K)
        self.water_specific_density = 1000  # kg/m³

        if self.get_state(self._power) is None:
            self.power = 0

        self.listen_state(self.state_changed, self._supply_temperature)

        if self._return_temperature is not None:
            self.listen_state(self.state_changed, self._return_temperature)

        for pump in self.hydronic:
            self.listen_state(self.state_changed, pump['entity_id'])

        self.calculate_power()

Berechnung der Leistung

Die Berechnung der thermischen Leistung erfolgt durch die Methode calculate_power. Sie verwendet die Temperaturdifferenz zwischen Vor- und Rücklauf sowie die Durchflussrate des Heizkreises. Diese Werte werden kombiniert, um die abgegebene Leistung in Watt zu berechnen. Die Formel lautet:

1
Leistung (W) = (Durchflussrate (m³/h) / 3600) × spezifische Wärmekapazität des Wassers × Dichte des Wassers × Temperaturdifferenz (ΔT)

Im Code wird sichergestellt, dass alle notwendigen Parameter verfügbar sind. Falls ein Wert fehlt, wird die Leistung auf 0 gesetzt. Die spezifische Wärmekapazität und Dichte des Wassers sind als Konstanten definiert:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    def calculate_power(self):
        self.update_flow_rate()

        supply_temp = self.supply_temperature
        return_temp = self.return_temperature

        if supply_temp is not None and return_temp is not None:
            self.delta = (supply_temp - return_temp)
            self.power = (self.flow_rate / 3600) * self.water_specific_heat * self.water_specific_density * self.delta
        else:
            self.power = 0
  • Durchflussrate (self.flow_rate): Diese wird in einer separaten Methode berechnet.
  • Temperaturdifferenz (self.delta): Die Differenz zwischen Vor- und Rücklauftemperatur.
  • Leistung (self.power): Ergebnis der Berechnung, das als Sensorwert in Home Assistant verfügbar ist.

Unterstützung mehrerer Pumpensysteme

Die Methode update_flow_rate ermöglicht die Unterstützung komplexer Hydrauliksysteme mit mehreren Pumpen. Sie berücksichtigt unterschiedliche Betriebsmodi wie serielle oder parallele Anordnung und ermöglicht die Einbindung von Mischventilen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    def update_flow_rate(self):
        flow_rate = 0
        for pump in self.hydronic:
            if self.get_state(pump['entity_id']) == "on":
                pump_flow_rate = pump['flow_rate']
                if 'mixer' in pump:
                    mixer = self.get_float_state(self.get_state(pump['mixer']), 100)
                    mixer = max(self.power_loss, mixer)
                    pump_flow_rate = pump_flow_rate * (mixer / 100)

                if 'mode' not in pump or pump['mode'] == "series":
                    flow_rate += pump_flow_rate

        for pump in self.hydronic:
            if self.get_state(pump['entity_id']) == "on":
                pump_flow_rate = pump['flow_rate']
                if 'mixer' in pump:
                    mixer = self.get_float_state(self.get_state(pump['mixer']), 100)
                    mixer = max(self.power_loss, mixer)
                    pump_flow_rate = pump_flow_rate * (mixer / 100)

                if 'mode' in pump and pump['mode'] == "parallel":
                    flow_rate = max(flow_rate, pump_flow_rate)

        self.flow_rate = flow_rate
  • Serieller Modus: Die Durchflussrate aller aktiven Pumpen wird summiert.
  • Paralleler Modus: Die maximale Durchflussrate der aktiven Pumpen wird verwendet.
  • Mischventile: Der Mixerwert wird berücksichtigt, um den Durchfluss anzupassen. Dies ermöglicht eine präzise Regelung bei Systemen mit variablen Strömungen.

Integration der berechneten Werte in Home Assistant

Visualisierung Heizleistung Home-Assistant

Die berechneten thermischen Leistungswerte lassen sich nahtlos in Home Assistant integrieren, um sie in Dashboards oder Automatisierungen zu nutzen. Hier sind einige Möglichkeiten, wie diese Werte verwendet werden können:

  • Visualisierung: Die berechnete Leistung kann in einem Home Assistant Dashboard mit Diagrammen oder als Zahl angezeigt werden, um den Energieverbrauch in Echtzeit zu überwachen. Eine hervorragende Option hierfür ist die HACS-Erweiterung Power-Flow-Card-Plus. Obwohl diese primär für elektrische Leistung entwickelt wurde, eignet sie sich ebenso für die Darstellung thermischer Leistung.
  • Automatisierungen: Auf Basis der berechneten Werte können Automatisierungen erstellt werden, z. B. um die Heizkreispumpen abzuschalten, wenn eine bestimmte Leistungsschwelle unterschritten wird.
  • Benachrichtigungen: Home Assistant kann konfiguriert werden, um bei abnormalen Leistungswerten Benachrichtigungen zu senden, was auf ein Problem im Heizsystem hinweisen könnte.

Die Integration erfolgt automatisch, da die AppDaemon-App die Werte als Home Assistant-Sensoren bereitstellt. Diese Sensoren können direkt in den Automatisierungen und Dashboards von Home Assistant verwendet werden.

Fazit

Die App für die thermische Leistungsberechnung bietet eine flexible und präzise Möglichkeit, die Effizienz von Heizkreisen zu überwachen. Durch die Nutzung spezifischer Parameter und die Unterstützung komplexer Hydrauliksysteme kannst du Ineffizienzen schnell identifizieren und deine Heizsysteme optimieren.

Falls du weitere Inspiration suchst, wie du dein Smart Home verbessern kannst, schau dir die anderen Beiträge dieser Serie an!

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy