Meine raumgeführte Heizungssteuerung per IP-Symcon mit Heishamon

Hallo zusammen,
auf Wunsch hier meine Heizungsteuerung per IP-Symcon und einer Panasonic Monoblock Wärmepumpe mit Heishamon. Warmwasser (DHW) und Heizbetrieb (HEAT) - Raumtemperatur geführt. Mit Berücksichtigung PV Ertrag.
Vorlauftemperatur und Speichertemperatur wird per IPS gesetzt.

Voraussetzungen:

Funktionsweise grob erklärt
es gibt 6 Wichtige Scripts die alle über das Masterscript aufgerufen werden (alle 30 Sekunden). Jedes Script hat eine eigene Funktion. Der Übersichthalber - gibt es ein zentrales Logging über alle Scripte:

  1. Wärmepumpen Master Script: Dieses Script läuft alle 30 Minuten (manuelles Ereignis anlegen) und startet die anderen Scripts in der Korrekten Reihenfolge (ids anpassen!). Scirpt gibt am Ende Log aller -Sub-Scripts aus. (muss jedoch rückwärts gelesen werden vom letzten Block)

  2. 1 - Warmwasser DHW: Dieses Script: Steuerung der Warmwassertemperatur und Aufbereitungszeiten abhängig vom Wochentag / Uhrzeit und zu erwartendem PV Ertrag.

  3. 2 - Überschussheizen Haus: erhöht die Raumtemperatur und VL Temperatur wenn viel PV die nächsten Stunden erwartet wird. (Script kann u.U. auch weggelassen werden.

  4. 3 - Wochenplan Soll- RaumTemperaturen setzen: Dieses Script setzt die Soll-Raumtemperaturen abhängig von Uhrzeit und Wochentag.

  5. 4 - VL Soll und AN/AUS Berechnung : mit diesem Script wird zunächst die VL-Temperatur anhand von Außentemperatur festgelegt. Danach wird geprüft ob die Räume die gewünsche Solltemperatur haben, wenn nicht wird das Heat-Flag gesetzt.

  6. 5 - Wärmepumpe Schaltbefehle übergeben: Script evaluiert die Daten aus den vorigen Scripts und übergibt die Befehle an die Wärmepumpe.

Ein Hilfs-Script für das Speichern von Log und Daten außerhalb variablen (eh_global.ips.php)

Im Baum sollte das dann so aussehen - Variablen bitte manuell anlegen:

Anbei alles Scripte als PHP Datei. Sie können ganz normal über IPS angelegt und der Inhalt kopiert werden. Lediglich eh_global_ips.php. Sollte nach dem Anlegen umbenannt werden.

Dies ist keine fertige Click to run Lösung - PHP Know How erforderlich, da hier viele Variablen und Informationen verarbeitet werden. Darf gerne als ‚Basis‘ weiterverwendet werden.

hier kann man noch sehen, wie die Soll / Ist Temperaturen und die VL / WP Status entsprechend eines Tages verlaufen:

Scripte-Heizungssteuerung.zip (9,8 KB)

1 „Gefällt mir“

Fürs Überschussheizen stützt du dich voll auf den PV Forecast, oder rechnest du auch aktuelle Daten mit rein ?
Möchte mir heuer etwas ähnliches bauen bin mir aber über die Methode noch nicht recht im klaren.

Aktuelle Ertragsdaten wären natürlich ideal, das funktioniert aber nur bei konstantem Wetter. Bei veränderlichen Bedingungen ist das nix.
Andererseits sind die Prognosedaten hier auch eher zum vergessen. Liegt nicht am Algorythmus, sondern weil die Wettervorhersage nix taugt.

Zusätzlich: In deinem alten Script hattest du ja nur die Solltempertur hochgesetzt. Besser wäre das dynamisch zu machen und dabei auch den COP zu berücksichtigen. Weil irgendwo gibt es einen Breakeven wo man sich entscheiden trotz schlechtem COP zb.„2“ zu heizen oder doch lieber was anderes mit dem Strom zu machen. Sehr schwierig das.

gruß
bb

Überschussheizen nutze ich:
→ Ja den Forecast von meinem Modul - der ist realtiv genau.
→ Außerdem die letzten 30 Minuten Aus dem Logging des tatsächlichen Ertrags:

image

Ebenso wird beim Überschussheizen der letzte COP ermittelt.

Ich nutze also Überschussheizen nur, wenn COP gut ist, wenn PV Forecast hoch ist, wenn die AT entsprechend hoch ist und wenn die PV Leistung die letzten 30min auch gut war:

Ich werde mich noch öfters melden… :roll_eyes:
jeden Tag ein Teil abarbeiten.

In dem Script stehen wenig Erklärungen, ist für einen nichtscripter wie mich schwer da durch zusteigen, deshalb eins am Tag.
Heute 1 - Warmwasser DHW.php
Übrig gebliebene Fehlermeldung
Notice: Undefined index: pv_estimate in /var/lib/symcon/scripts/40060.ips.php on line 34
Ist $pve += $fh[„pv_estimate“];

Was ist zu tun?

Du hast Glück das bei euch die Wetter/Ertrags Vorhersage gut funktioniert.
Das schlimme sind ja wechselnde Bedingungen das kannst net mal mit schlauem Averaging gut abfangen.
Evtl. bin ich auch nur ich zu sehr Perfektionist als das ich mit dem erreichbaren zufrieden bin. Berufsbeding vieleicht, weil kann ich nach belieben zuverlässsig auf milliCent hin optimieren.

Für solche Sachen wäre eine KI super. Weil verbal ist die Aufgabe ja recht leicht zu formulieren, aber mit gängigen Algorythmen nur schwer umzusetzen zumindest wenn man die ganzen Störfaktoren mitberücksichtigen möchte.

mal sehen was wird.
Bernhard

Hallo
Bin bis 4 - VL Soll und ANAUS Berechnung

Warning: Variable is marked as read-only and cannot be changed in /var/lib/symcon/scripts/33469.ips.php on line 184

Wenn ich das richtig sehe ist das $idVLSoll, da finde ich in der MQtt ThemenListe von Github keine schreibares Thema.

tatsächlich habe ich schon einmal mit einem Neuronalen Netz versucht - anhand Historie zu tranieren - bin leider gescheitert. Genau deswegen, weil zu viel Varianz da ist und die Vorhersagen wenn ‚Kleine Wolken‘ nicht genau stimmen können.

$idVLSoll ist nicht die Variable des MQTTs.
$idVLSoll ist eine eigens angelegte variable die nur in IPS verwendet wird (oder im Webfront zur Änderung der VL).

Diese Variable wird im letzten Script (5) an Heishamon übergeben, wenn notwendig.
Also bitte einfach Variable (Siehe Objektbaum oben) als Float unter dem Script (4) anlegen.