« Heizung, Lüftung, Klima  |

Smarte Heizungssteuerung in Home Assistant

Teilen: facebook    whatsapp    email
  •  alhei
  •   Bronze-Award
31.1.2024
2 Antworten | 2 Autoren 2
2
Ich habe hier eine etwas ungewöhnliche Frage an diejenigen, die sich mit Wärmebedarf/Heizkurven auskennen.

Ausgangslage:
Ich haben eine on/off LWP LWP [Luftwärmepumpe] die im Betrieb so knapp 4 kW zieht wenn sie läuft (Hängt von der Aussentemperatur und vom Vorlauf ab - so zwischen 28-35°).
Die ist schon etwas älter (2005) und sehr wahrscheinlich auch etwas überdimensioniert, aber das ich nicht das Thema hier.
Was ich nun versuche und eigentlich auch schon mache, ist eine Steuerung dieser Heizung über Home Assistant via Modbus.
Konkret kann ich da viele Werte setzen um die Heizung dazu zu bringen, dass sie heizt, Warmwasser macht, oder eben aus ist.
Abtauen und die Umwälzpumpen steuern macht sie selbst (da kann/will ich auch gar nicht eingreifen)
Ich habe am Dach eine große PV (25 kWp kWp [kWpeak, Spitzenleistung]) und nutze den Strompreis von Awattar, d.h. ich kenne die Preise, bzw. habe ich auch eine PV-Prognose eingebunden.
In Home Assistant kann ich mir damit errechnen, wann idealerweise die WP WP [Wärmepumpe] was macht, um am wirtschaftlichsten zu laufen.
Konkret läuft dabei die LWP LWP [Luftwärmepumpe] in der Nacht (von 19:00-07:00) eine gewisse Anzahl an Stunden und tagsüber auch (07:00-19:00) plus Warmwasser Tagsüber - kurz nach Mittag meist.
Der Zeitraum ist so gewählt, weil um 7 und 19 Uhr die Peaks zu erwarten sind.
Für die beiden Zeitfenster errechne ich mir, wieviele Stunden die LWP LWP [Luftwärmepumpe] jetzt laufen soll und lege das in dem Zeitfenster in die ideale zusammenhängende Zeit.
Somit habe ich z.B. tagsüber 4 Stunden (10-14 Uhr) und in der Nacht dann auch auch 4 Stunden (2-6 Uhr), abhänging von der Aussentemperatur.
Die Anzahl der Stunden regle ich derzeit starr nach der Durchschnittsaussentemperatur, und da kommt jetzt die Frage:

Wie kann ich das am besten errechnen? Ich möchte festlegen, wieviele Stunden die LWP LWP [Luftwärmepumpe] in den jeweils kommenden 12h am Stück laufen soll, damit das Haus möglichst gleichmäßig warm bleibt.
Prinzipiell funktioniert das auch ganz gut, aber ich habe da momentan (testweise) einfach mal die Stundenanzahl pro Aussentemperaturbereich "geschätzt".
Ich würde das gerne eher anhand von tatsächlichem Wärmebedarf jeweils zur Aussentemperatur einordnen.
Im Grunde ist das ja auch nichts anders als eine Aussentemperaturgesteuerte Heizkurve, nur dass sich die nicht nach einem Rücklauf oder Vorlaufsoll (plus Hysterese) orientiert, sondern am Wärmebedarf und da ebene mit Prognose um das ideale Zeitfenster zu erwischen.

Mir ist schon klar, dass das nicht immer 100% funktionieren wird, aber bis jetzt treffe ich da ganz gut. Ich muss nur hin und wieder eine Stunde mehr (oder weniger) heizen lassen, weil ich z.B. sehe (anhand derDurchschnittsinnentemperatur), dass mehr oder weniger Bedarf ist.
Um das zu minimieren, würde ich eben gerne diese Werte ermitteln.
Zusätzlich werde ich dann noch einen Automatismus einbauen, die bei Bedarf selbst noch 1-2 Stunden anhängt oder abzieht, weil es Abweichungen bei der Innentemperatur gibt (ich habe z.B. auch einen Kachelofen, denn ich an eher kälteren Tagen nutze).

Was ich leider nicht habe, ist ein Energieausweis, aber ich weiß in etwa meine Verbrauchswerte und auch die jeweiligen Temperaturen dazu.
Ich weiß z.B. dass ich bei durchschnittlich ~2°C Aussentemperatur über 24 Stunden ~30 kWh Strom verbraucht habe (klingt viel, das Haus ist aber auch sehr groß), dabei waren es innen (natürlich mit kleinen Schwankungen) ~22°C.
Anhand der Leistungszahlen meine Wärmepumpe, kann ich mir damit die Wärmemenge ausrechnen. Da habe ich in der Praxis auch etwas bessere Werte als im Datenblatt, aber im Grunde liegt das irgendwo zwischen 3 und 4 (genau kann ich mir das noch ausrechnen).
Kann man davon schon etwas ableiten, oder fehlen mir da Werte?. Gibt es vielleicht eine "Heizkurve" mit den Wärmebedarf pro Grad Aussentemperatur (+Parallelverschiebung berücksichtigt)?

  •  Schorschi81
31.1.2024  (#1)
Hoffe ich das jetzt alles richtig verstanden...

Wenn deine Schätzung doch schon ganz gut läuft, nimm doch da dann die Innentemperatur mit dazu (inkl. Sicherheitsfaktor z.B. +0,5 K).

z.B. wenn RT RT [Raumtemperatur]=22.5 °C dann schalte ab und wenn Zeitfenster fast zu Ende jedoch die RT RT [Raumtemperatur]<22.5 °C dann heize weiter.

1
  •  alhei
  •   Bronze-Award
31.1.2024  (#2)
Danke für das Feedback!

Naja, die Heizung ist ja eher träge. Die Temperatur ändert sich auch noch lange nach dem Abschalten und gleich wieder einschalten, weil es gerade wieder darunter ist, will ich auch nicht, da ich ja eher möglichst nur 2 Takte pro 24h laufen lassen will. Konkret habe ich sogar eine Mindestlaufzeit/Mindeststandzeit eingebaut, die derzeit 1h jeweils beträgt. Damit will ich ständiges Takten verhindern.

Ich will im Grunde ja auch mit der Frage oben nur die Anzahl der Stunden pro durchschnittlicher AT AT [Außentemperatur] ermitteln, das müsste analog zu einer Heizkurve sein, wo pro Grad AT AT [Außentemperatur] eine unterschiedliche Wärememenge erforderlich wäre.

Derzeit habe ich eine rein geschätzte Einteilung die wie folgt aussieht (und sicher nicht ideal ist). Anmerkung: input_select.heizung_laufzeit_differenz ist ein Dropdown mit den Werten -2 bis +2 Stunden und einer Auswahl "keine Anhebung", wenn ich das generell unterbinden will:

{% if (states('input_select.heizung_laufzeit_differenz')) == "keine Anhebung" %}
  {{ 0 }}
{% elif states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int < -3 %}
  {{ 6 + (states('input_select.heizung_laufzeit_differenz') | float) }}
{% elif states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int >= -3 and states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int < 1 %}
  {{ 5 + (states('input_select.heizung_laufzeit_differenz') | float) }}
{% elif states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int >= 1 and states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int < 5 %}
  {{ 4 + (states('input_select.heizung_laufzeit_differenz') | float) }}
{% elif states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int >= 5 and states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int < 9 %}
  {{ 3 + (states('input_select.heizung_laufzeit_differenz') | float) }}
{% elif states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int >= 9 and states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int < 12 %}
  {{ 2 + (states('input_select.heizung_laufzeit_differenz') | float) }}
{% elif states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int >= 12 and states('sensor.durchschnittsaussentemperatur_vorhersage_24h') |int < 15 %}
  {{ 1 + (states('input_select.heizung_laufzeit_differenz') | float) }}
{% else %}
  {{ 0 }}
{% endif %}

D.h. für die Temperaturbereiche läuft die Wärmepumpe jetzt mal 1 bis 6 Stunden pro 12 Stunden Zeitfenster.

Wenn ich jetzt noch die erforderliche Wärmemenge für jede Temperatur kennen würde, könnte ich mir das aufgrund der jeweiligen Leistungszahl auf die Heizdauer umrechnen und hätte dann eine sicherlich bessere Einteilung.

Vielleicht hat ja jemand eine solche Tabelle oder Kurve..

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]

Nächstes Thema: Eine tiefe oder zwei kurze Erdwärmesonde(n)?