Wärmepumpensteuerung für dynamischen Stromtarif

  • Hallo Leute,


    ich such mir seit Wochen einen Wolf und trete auf der Stelle, daher starte ich einen neuen Fred.


    Wunsch:

    • Steuerung meiner Wärmepumpe abhängig vom Stromtarif des Tages
    • Wenn der Preis unterm Schnitt liegt, dann die Wärmepumpe etwas höher fahren
    • Wenn der Preis hoch ist, dann reduzieren / deaktivieren
    • Warmwasserzubereitung in die günstige Zeit legen
    • Einen Preispegel festlegen über dem die Off-Peak zur Shoulder wird, d.h. wenn der dynamische Preis nicht mehr billig sondern schon eher teuer ist.

    folgendes Foto hab ich mal von Smartenergy als Beispiel ausgeliehen:


    Ausgangssituation / verfügbare Hardware:

    • Server mit IObroker
    • Die Spotmarkt Tarife kann man dort z.b. über Awattar, apg-info, tibber, ... oder andere als Datenpunkte herunterladen
      (Vom Regelungsprinzip sollte es egal sein woher die Spotmarkt Tarif herkommen, da sich die Kurven halbwegs decken oder parallel verkaufen sollten)
    • Wärmepumpe Panasonic WH-MDC07J3E5 (das allseits beliebte Modell auch unter Geisha / Heisha / ... bekannt)
    • Steuerung dieser wäre über Heishamon oder externe SG-Ready möglich
    • Einbindung der PV wäre nett, aber erstmal irrelevant, da im Winter nix vom Dach kommt

    Marktanalyse:

    • Awattar bietet mit Tado eine smarte Wärmepumpensteuerung, die kann aber nicht mit meiner Wärmepumpe
    • OpenEMS kann keine Wärmesteuerung
    • SmartFox - Steuerung über dynamische Stromtarife kommt erst.

    Leute jetzt seid ihr dran :)

  • Ich habe bei mir den Tibber Pulse mit einem Homey Pro am arbeiten. Das sollte deine "Wünsche" schon einmal abdecken können. Allerdings habe ich keine Panasonic, sondern eine Haier Wärmepumpe die ich mit Relais dementsprechend über Homey ansteuern kann. Vielleicht kann der Homey auch über entsprechende Apps direkt mit der Panasonic kommunizieren, da müsstest du dich bei Interesse mal reinlesen.

  • Hm, helft mir mal, was gibt es denn da viel zu kommunizieren?

    Wenn der Strompreis unter einer Schwelle liegt schickst du ein Kommando an die HeishaMon:

    Code
    http://192.168.20.128/command?SetQuietMode=0&SetZ1HeatRequestTemperature=24

    Steigt der Preis wieder, schickst du andere Werte.

    Das Kommando kannst du beliebig verlängern und weitere Werte für Warmwasser-Soll etc. mit aufnehmen.

    Schicken kannst du mit Pyhton oder als CURL von der Kommandozeile aus.

    Oder direkt aus Grafana als Alert-Rule.

    Fertig.

    17 * Solarwatt 36M XL glass West ausgerichtet als Regenschutzdach auf 1.000m Höhe
    Fronius Symo Hybrid 5.0, Fronius Solar Batterie 6.0, Fronius Smartmeter 63A

    Neu:

    10,4kWp Trina, 27kWh Axitex, 2 * Goodwe 6kW und Notstrom 3phasig fürs ganze Haus in wenigen Millisekunden.

    Strom von Tibber, davor seit 2020 von aWATTar, Panasonic Jeisha 5kW, Heishamon, viel Python, Influxdb und Grafana.

  • Das kann man sicher so machen, ist aber nicht optimal.

    Feste Grenzen führen dazu, dass die WP beispielsweise am Wochenende meist eine zu hohe Vorlauftemperatur nutzt. Besser wäre es, wenn man die günstigsten X Stunden nehmen würde oder zu den teuersten x Stunden die Temperatur reduziert. Außerdem ist es sinnvoller, mit einer Heizkurve zu arbeiten, als mit einer festen Vorlauftemperatur. Bei niedrigen Außentemperaturen muss man i.d.R. etwas höher heizen, damit es im Haus warm ist. Wenn man bei 12 °C Außentemperatur genau so hoch heizt wie bei -10°C, dann verschenkt man Wirkungsgrade bei der WP, weil diese zu hoch heizt.

  • ich such mir seit Wochen einen Wolf und trete auf der Stelle, daher starte ich einen neuen Fred

    Wie Du an den Antworten siehst, gibt es verschiedene Lösungsmöglichkeiten mit Stärken und Schwächen. Ich habe mich dazu entschlossen die Steuerung / Regelung selbst in die Hand zu nehmen, also selbst programmieren in einer Umgebung nach eigenem Ermessen.


    Steuerung meiner Wärmepumpe abhängig vom Stromtarif des Tages

    Mein derzeitiger Algorithmus:

    Suche die günstigsten zusammenhängenden Stunden aus, hier wird die WP auf bis zu Volllast gefahren.

    Eigenes Ermessen / Abhängig vom "Betonspeicher" und Leistung der WP, z. B.:

    - suche die 4 günstigsten zusammenhängenden Stunden und fahre eher mit hoher Leistung

    - suche die 6 bis 8 günstigsten zusammenhängenden Stunden

    - lasse die 4 oder 6 oder 8 teuren Stunden aus (WP abschalten)

    - usw - eigenes Ermessen.


    Erweitert habe ich den Algorithmus derzeit indem ich nicht den Strompreis, sondern den Wärmepreis als Ausschlagskriterium nehme:

    - Pro Stunde: Strom-Bezugskosten = Strompreis + Netzgebühren + Abgaben

    - Pro Stunde: COP ermitteln / berechnen aufgrund der prognostizierten Außentemperatur / WP-Modell

    - Pro Stunde: Wärme-Preis = Strom-Bezugskosten / COP


    Wenn der Preis hoch ist, dann reduzieren / deaktivieren

    Ich habe mich derzeit für "abschalten" entschieden. Damit nicht getaktet werden muss, sind die Laufzeiten zusammenhängend.


    Wenn der Preis unterm Schnitt liegt, dann die Wärmepumpe etwas höher fahren

    Ist auch möglich, habe ich anfangs so gemacht. Nun wie oben beschrieben lieber "zusammenhängende Stunden wählen" und abschalten / einschalten. Möglichst 1 Takt pro Tag.


    Grund ist, dass es sein kann dass die WP sowieso ins Takten kommt wenn Du die Leistung (Vorlauftemperatur) reduzierst.


    Leute jetzt seid ihr dran

    Vom Projektmanagement her kann ich nur die generelle Empfehlung geben: Quantität vor Qualität.

    Also starte einfach, blende Suboptimalitäten aus. Mach "irgendwas".

    Die Qualität kommt von selbst durch Erfahrung / Ausprobieren.

    Andersfalls suchst Du Dir weiter einen Wolf und hast nichts am Start und der Winter ist vorbei - und der nächste auch gleich... :)

  • Falls du ein paar Zeilen Python-Code habe willst, in meinem Gitlab findest sich der slotfinder.

    Slotfinder für günstigen Strombezug

    17 * Solarwatt 36M XL glass West ausgerichtet als Regenschutzdach auf 1.000m Höhe
    Fronius Symo Hybrid 5.0, Fronius Solar Batterie 6.0, Fronius Smartmeter 63A

    Neu:

    10,4kWp Trina, 27kWh Axitex, 2 * Goodwe 6kW und Notstrom 3phasig fürs ganze Haus in wenigen Millisekunden.

    Strom von Tibber, davor seit 2020 von aWATTar, Panasonic Jeisha 5kW, Heishamon, viel Python, Influxdb und Grafana.

  • Erweitert habe ich den Algorithmus derzeit indem ich nicht den Strompreis, sondern den Wärmepreis als Ausschlagskriterium nehme:

    - Pro Stunde: Strom-Bezugskosten = Strompreis + Netzgebühren + Abgaben

    - Pro Stunde: COP ermitteln / berechnen aufgrund der prognostizierten Außentemperatur / WP-Modell

    - Pro Stunde: Wärme-Preis = Strom-Bezugskosten / COP


    Wie berechnest Du denn den COP? Wenn Du ein paar Zeilen Code hast, wäre ich dafür dankbar.

  • Wie berechnest Du denn den COP?

    Hier hab ich etwas mehr geschrieben:


    Im Grunde nimmst Du eine für Deine WP passende Tabelle (im Post), die Temperaturen dazwischen kannst Du per Schlußrechnung (alias Dreisatz in DE) berechnen.


    Kommst damit weiter?

    Victron ESS, 125 kWp + 70 kWh Blei + 28 kWh BYD LiFePo + 19 kWh Second-Life Li-Ion + 30 kWh EVE LiFePo

    Nachgeführte Anlage 19 kWp als Volleinspeiser
    Meine Anlage (Victron ESS / Fronius)