hat jemand HeishaMon in IP-Symcon drin?

Nee, max. 3 x täglich, aber dann mehrere Werte.
Dafür fallen die Werte vom wochentimer der Heisha weg.
Aber das das EEprom hier 50000 Schreibzyklen hält, glaube ich fast nicht.

Genau werden wir das so oder so nie wissen.
Der Hinweis es mit Updates nicht zu übertreiben finde ich gut und sollte eigentlich reichen.
Dann ist man gewarnt und kann selbst entscheiden.

Genau wird das wohl keiner sagen können. Eventuell liegt das EEProm auch im Bedienteil. Hatte mir am Anfang auch mal überlegt, was man sich sinnvoll als Ersatzteil auf Seite legen könnte. Beim Öler ist das ja relativ einfach und günstig. Da hab ich mittlerweile sogar eine komplette Nachfolgesteuerung inklusive Sensoren auf Seite liegen. Zusätzlich zu den Filtern, Düse, Flammensensor und Elektroden. Aber bei nur Wärmepumpe ist das ja nicht ganz so einfach…Eventuell ein Bedienteil? Oder was meint ihr?

Hallo Freunde der Heisha
Langsam wirds kälter und die Heizung wird wieder ein Thema. Da muß ich doch diesen wiederbeleben.
Hab für heuer im Plan meine Heizungregellogik komplett neu aufzusetzen. Voriges Jahr war noch Lernen und Datensammeln, heuer muß das optimiert werden.
Aus den learnings vom letzten Jahr hab ich im Sommer auch brav einiges umgebaut.

  • Die WP um ein paar m versetzt und 90° gedreht um das ansaugen der eigenen kalten Luft zu verringern. Nun bin ich zwar vom Abstand her zu nahe beim Nachbarn, hab das aber mit ihm abgesprochen. Falls es ihn stört baue ich halt wieder zurück.
  • Soweit möglich die Heizkörper auf größere und Typ33 getauscht. Gut das so viele auf FBH umstellen, da bekommt man alte Heizkörper nahezu geschenkt. Hab jetzt in den Haupträumen nominal fast doppelt so viel Heizleistung wie vorher. Das wird der VL hoffentlich zugute kommen.
  • Eigentlich wollte ich noch mein 9kW Heisha auf 2*5KW tauschen, wegen der aktuellen Liefersituation hab ich das aber noch aufgeschoben.

Wie sieht es bei euch aus, Umbauten/Neuerungen/Verbesserungen ?
bb

Hier bleibt mit der Regelung alles wie letztes Jahr, das funktioniert so prima.
Heizen tue ich eigentlich eh nur tagsüber, auf grund der PV und den höheren AT hier in der Region.

Einzig ein kleines Script werde ich noch basteln, mit dem ich bei noch vorhanden PV Überschuss die Sollwerte nach oben verschiebe und alle 29 KNX Heizkreise zu 100% öffne, um Wärmeenergie vorab zu speichern, ggf. auch automatisch je nach Vorhersage.
Aber das ist zu dem langen Heizscript nicht mehr wirklich viel und hat noch Zeit, bis wir in 2 Monaten die Heizung einschalten … :wink:

Ach ja, erweitert hatte ich diesen Sommer schon, um das Kühlen über die Heisha zu automatisieren.

VG,
Doc

Das einzige was mein Symcon eigentlich noch macht…
Nach einem WW Takt, überwacht Symcon die Rückschaltung auf HEIZEN, und gibt kurz eine Sollwertanhebung vor. Ansonsten läuft die Panasonic Stundenlang nicht mehr los und wartet erstmal auf ein deutliches Abkühlen des Rücklaufs… Und dann muss die Dame VOLLGAS geben um das wieder reinzuholen… Das ist suboptimal…

So zwinge ich die Dame direkt im Anschluss wieder zu heizen und das auf niedriger Stufe.

Das hatte ich ja schon mal geschrieben, dieses Verhalten habe ich bei meiner Heisha nicht bemerkt.
Nach dem WW bereiten um 11:00 - 12:30 startet sie wieder ganz normal durch mit dem Heizwasser erwärmen.
Vielleicht auch, weil sie da noch reichlich Heizbedarf hat, weil sie nicht nachts heizen darf.
Bei mir läuft das ganze Wochenprogramm für Sommer/Winter so über IPS.

Kannst du das Script einmal teilen?
Bei mir verbleibt die Jeisha auch sehr lange im Schnüffelmodus und es kühlt zu sehr aus.
Muss allerdings auch erst Erfahrungen Sammeln, habe die Jeisha erst seit Sommer.

Falls jemand noch Tipps zum optimalen Einstellen hat, immer her damit.
Ich habe nur FBH, aktuelle Heizkurve 30@-10 / 23@15

Hallo,

meine WP läuft eigentlich auch gut. Mit den Ablaufplänen auch.

Hätte aber gerne noch so was wie Heizkurve über Symcon. Die Innentemperatur und Außentemperatur überprüft.

Sonnst muss ich jedes mal, über die Konsole in den Ablaufplänen die Solltemeperatur anpassen.
Oder eben auch einen Wert oder Variable die ich über die Mobile App einfach ändere und diese in den Ablaufplan aktualisiert wird.

Jemand vielleicht irgendwie elegant dies gelöst?

Gruß

Das Script kannst du haben, allerdings ist das schon sehr individuell auf meine Bedürfnisse mit KNX, PV, Kühlung und Leistungsbegrenzungen zugeschnitten.
Schau mal, ob du damit etwas anfangen kannst …

//Script zur Steuerung/Abgleich der Panasonic Aquarea und KNX nach Wochenplänen
// 14.04.22 Änderung Abfrage des Statuswertes um EEprom schreiben zu verringern

// ====================   Konfiguration   ====================

$ID_Wochenplan_Sommer = 18935;                                                          // EventID vom Sommer Wochenplan
$ID_Wochenplan_Winter = 22148;                                                          // EventID vom Winter Wochenplan
$ID_Waermepumpe = 55859;                                                                // Wärmepumpe AN/AUS
$ID_WP_Modus = 10467;                                                                   // Wärmepumpenmodus setzen (0=Heat only, 1=Cool only, 2=Auto, 3=DHW only, 4=Heat+DHW, 5=Cool+DHW, 6=Auto+DHW)
$ID_Ruhemodus = 16650;                                                                  // Ruhemodus setzen (0-3)
$ID_WW_SOLL = 30310;                                                                    // ID WW Solltemperatur
$ID_Temperaturverschiebung_Heizkurve = 22372;                                           // Temperaturverschiebung/Sollwert Heizkurve
$ID_Temperaturverschiebung_Kuehlkurve = 40751;                                          // Temperaturverschiebung/Sollwert Kühlkurve
$ID_HVAC = 32055;                                                                       // Gebäude HVAC KNX setzen (1=Comfort, 2=Standby/Abwesend, 3=Economy/Nacht, 4= BuildingProtection/Frostschutz)
$ID_Leistungsbegrenzung = 39549;                                                        // Leistung Analog-Aktor KNX setzen (0-100%)
$ID_SommerWinter = 58094;                                                               // Variable ID Sommer-/Winterumschaltung (Sommermodus=0, Wintermodus=1)
$ID_Kuehlung = 32301;                                                                   // Variable ID Kühlmodus
$ID_Wochenplan = 21887;                                                                 // Variable ID Wochenplan AN/AUS
$ID_DreiWegeVentil = 35540;                                                             // ID 3-Wege Ventil (WW=true, Heizwasser=false)
$ID_Instanz_alleVentileZwangsstellung = 25815;                                          // Instanz ID alle Ventile Zwangsstellung (100%)
$ID_Instanz_EG_VentileZwangsstellung = 38625;                                           // Instanz ID EG Ventile Zwangsstellung (100%)
$ID_Instanz_OG_VentileZwangsstellung = 48900;                                           // Instanz ID OG Ventile Zwangsstellung (100%)
$ID_Instanz_Keller_VentileZwangsstellung = 39254;                                       // Instanz ID Keller Ventile Zwangsstellung (100%)
$ID_Instanz_KuehlenHeizen = 27786;                                                      // Instanz ID Umschaltung KNX Aktoren (0=kühlen / 1=heizen)

$Status_Waermepumpe = GetValue(36761);                                                  // Wärmepumpe an/aus
$Status_Verdichter = GetValue(15004);                                                   // Verdichter an/aus
$Status_Waermepumpenmodus = GetValue(53786);                                            // Modus der Wärmepumpe (0-8)
$Status_WW_SOLL = GetValue(20598);                                                      // Sollwert Warmwasser
$Status_Aussentemperatur = GetValue(16734);                                             // Lufttemperatur außen

$ID_Desinfektionszeit = 29510;                                                          // Startzeit (Event) für den Desinfektionsmodus (Legionellenschutz)
$ID_Desinfektionsmodus = 35623;                                                         // Desinfektionsmodus erzwingen
$ID_Status_Desinfektionsautomatik = 23603;                                              // ID aktueller Status der Desinfektionsautomatik
$Status_Legionellenschutz = GetValue(18039);                                            // aktueller Status des Legionellenschutzes

// =======================   Regelung   ========================

// Aktivierung der Wochenpläne für Sommer/Winter (AN/AUS)
if ($_IPS['SENDER'] == "Variable") {
    if ($_IPS['VARIABLE'] == $ID_Wochenplan) {
        if ($_IPS['VALUE'] == false) {                                                  // wenn ausgeschaltet
            IPS_SetEventActive($ID_Wochenplan_Sommer, false);
            IPS_SetEventActive($ID_Wochenplan_Winter, false);
        } else {                                                                        // wenn eingeschaltet
            if (GetValue($ID_SommerWinter) == false) {                                  // wenn Sommermodus
                IPS_SetEventActive($ID_Wochenplan_Sommer, true);
                IPS_SetEventActive($ID_Wochenplan_Winter, false);
            } else {                                                                    // wenn Wintermodus
                IPS_SetEventActive($ID_Wochenplan_Sommer, false);
                IPS_SetEventActive($ID_Wochenplan_Winter, true);
            }
        }
    }
}


// Umschaltung der Wochenpläne Sommer/Winter (Sommer=false, Winter=true)
if ($_IPS['SENDER'] == "Variable") {
    if ($_IPS['VARIABLE'] == $ID_SommerWinter) {
        if(GetValue($ID_Wochenplan) == true) {                                          // nur umschalten wenn Steuerung aktiv, sonst bleiben die Events inaktiv
            if ($_IPS['VALUE'] == false) {                                              // Sommer=false, Winter=true
                IPS_SetEventActive($ID_Wochenplan_Sommer, true);
                IPS_SetEventActive($ID_Wochenplan_Winter, false);
                RequestAction($ID_WP_Modus, 3);                                         // nur Warmwasser
                IPS_Sleep(3000);
                RequestAction($ID_WW_SOLL, $Status_WW_SOLL);                            // WW-Temperatur setzen
                KNX_WriteDPT20($ID_HVAC, 4);                                            // alle Raumregler auf Building Protection/Frostschutz
            } else {
                IPS_SetEventActive($ID_Wochenplan_Sommer, false);
                IPS_SetEventActive($ID_Wochenplan_Winter, true);
                RequestAction($ID_WP_Modus, 4);                                         // Heizwasser & Warmwasser
                IPS_Sleep(3000);
                RequestAction($ID_Temperaturverschiebung_Heizkurve, 0);                 // Temperaturverschiebung der Heizkurve auf 0°C  
                IPS_Sleep(3000);                  
                RequestAction($ID_WW_SOLL, $Status_WW_SOLL);                            // WW-Temperatur setzen
                KNX_WriteDPT20($ID_HVAC, 1);                                            // alle Raumregler auf Comfort/Anwesend
            }
        }
    }
}    

// Umschaltung Kühlmodus
if ($_IPS['SENDER'] == "Variable") {
    if ($_IPS['VARIABLE'] == $ID_Kuehlung) {
        if ($_IPS['VALUE'] == false) {                                                  // wenn Kühlmodus ausgeschaltet wird
            KNX_WriteDPT1($ID_Instanz_alleVentileZwangsstellung, false);                // alle Ventile Zwangsstellung 0%
            RequestAction($ID_WP_Modus, 3);                                             // nur Warmwasser
            } else {                                                                    // wenn Kühlmodus eingeschaltet wird   

        }    
    }
}    

// Regelung Wintermodus
if ($_IPS['SENDER'] == "TimerEvent") {
    if ($_IPS['EVENT'] == $ID_Wochenplan_Winter) {
        switch ($_IPS['ACTION']) {
            case 1: //ID 1 - nur Heizwasser
                    if (GetValue($ID_Waermepumpe) != 1) {RequestAction($ID_Waermepumpe, 1);}                                                    // Wärmepumpe ein
                    IPS_Sleep(3000);
                    if (GetValue($ID_WP_Modus) != 0) {RequestAction($ID_WP_Modus, 0);}                                                          // nur Heizwasser
                    IPS_Sleep(3000);
                    if (GetValue($ID_Temperaturverschiebung_Heizkurve) != 0) {RequestAction($ID_Temperaturverschiebung_Heizkurve, 0);}          // Temperaturverschiebung der Heizkurve auf 0K
                    KNX_WriteDPT20($ID_HVAC, 1);                                                                                                // alle Raumregler auf Comfort/Anwesend
                    IPS_Sleep(100);
                    KNX_WriteDPT1($ID_Instanz_KuehlenHeizen, 1);                                                                                // alle Heizungsaktoren auf heizen
                    break;

            case 2: //ID 2 - Warmwasser & Heizwasser
                    if (GetValue($ID_Waermepumpe) != 1) {RequestAction($ID_Waermepumpe, 1);}                                                    // Wärmepumpe ein
                    IPS_Sleep(3000);
                    if (GetValue($ID_WP_Modus) != 4) {RequestAction($ID_WP_Modus, 4);}                                                          // Heizwasser & Warmwasser
                    IPS_Sleep(3000);
                    if (GetValue($ID_Temperaturverschiebung_Heizkurve) != 0) {RequestAction($ID_Temperaturverschiebung_Heizkurve, 0);}          // Temperaturverschiebung der Heizkurve auf 0K 
                    IPS_Sleep(3000);                   
                    if (GetValue(15429) != $Status_WW_SOLL) {RequestAction($ID_WW_SOLL, $Status_WW_SOLL);}                                      // WW-Temperatur setzen
                    KNX_WriteDPT20($ID_HVAC, 1);                                                                                                // alle Raumregler auf Comfort/Anwesend
                    IPS_Sleep(100);
                    KNX_WriteDPT1($ID_Instanz_KuehlenHeizen, 1);                                                                                // alle Heizungsaktoren auf heizen                    
                    break;

            case 3: //ID 3 - Nachtbetrieb
                    if ($Status_Aussentemperatur < 0) {                                                                                         // wenn Außentemperatur kleiner als 0°C, WP an lassen
                        if (GetValue($ID_Waermepumpe) != 1) {RequestAction($ID_Waermepumpe, 1);}                                                // Wärmepumpe ein
                        IPS_Sleep(3000);
                        if (GetValue($ID_Temperaturverschiebung_Heizkurve) != -2) {RequestAction($ID_Temperaturverschiebung_Heizkurve, -2);}    // Temperaturverschiebung der Heizkurve auf -2K
                        } else {
                        if (GetValue($ID_Waermepumpe) != 0) {RequestAction($ID_Waermepumpe, 0);}                                                // Wärmepumpe aus
                    }
                    IPS_Sleep(3000);
                    if (GetValue($ID_WP_Modus) != 0) {RequestAction($ID_WP_Modus, 0);}                                                          // nur Heizwasser
                    KNX_WriteDPT20($ID_HVAC, 3);                                                                                                // alle Raumregler auf Economy/Nacht
                    IPS_Sleep(100);
                    KNX_WriteDPT1($ID_Instanz_alleVentileZwangsstellung, false);                                                                // alle Ventile Zwangsstellung 0% (falls die gesetzt wurden)
                    break;
        }
    }        
}  

// Regelung Sommermodus
if ($_IPS['SENDER'] == "TimerEvent") {
    if ($_IPS['EVENT'] == $ID_Wochenplan_Sommer) {
        switch ($_IPS['ACTION']) {
            case 1: //ID 1 - nur Kühlwasser
                    if (GetValue($ID_Kuehlung) == true) {                                                                                       // wenn Kühlung eingeschaltet
                        if (GetValue($ID_Waermepumpe) != 1) {RequestAction($ID_Waermepumpe, 1);}                                                // Wärmepumpe ein
                        IPS_Sleep(3000);
                        if (GetValue($ID_WP_Modus) != 1) {RequestAction($ID_WP_Modus, 1);}                                                      // nur Kühlwasser
                        IPS_Sleep(3000);
                        if (GetValue($ID_Temperaturverschiebung_Kuehlkurve) != 0) {RequestAction($ID_Temperaturverschiebung_Kuehlkurve, 0);}    // Temperaturverschiebung der Kühlkurve auf 0°C
                        KNX_WriteDPT20($ID_HVAC, 1);                                                                                            // alle Raumregler auf Comfort/Anwesend
                        IPS_Sleep(100);
                        KNX_WriteDPT1($ID_Instanz_KuehlenHeizen, 0);                                                                            // alle Heizungsaktoren auf kühlen  
                    } else {
                        if (GetValue($ID_Waermepumpe) != 0) {RequestAction($ID_Waermepumpe, 0);}                                                // Wärmepumpe aus
                        IPS_Sleep(3000);
                        if (GetValue($ID_WP_Modus) != 3) {RequestAction($ID_WP_Modus, 3);}                                                      // nur Warmwasser
                        KNX_WriteDPT20($ID_HVAC, 4);                                                                                            // alle Raumregler auf Building Protection/Frostschutz
                    }
                    break;

            case 2: //ID 2 - Warmwasser & Kühlwasser
                    if (GetValue($ID_Waermepumpe) != 1) {RequestAction($ID_Waermepumpe, 1);}                                                    // Wärmepumpe ein
                    IPS_Sleep(3000);
                    if (GetValue($ID_Kuehlung) == true) {                                                                                       // wenn Kühlung eingeschaltet
                        if (GetValue($ID_WP_Modus) != 5) {RequestAction($ID_WP_Modus, 5);}                                                      // Kühlwasser & Warmwasser 
                        IPS_Sleep(3000);
                        if (GetValue(15429) != $Status_WW_SOLL) {RequestAction($ID_WW_SOLL, $Status_WW_SOLL);}                                  // WW-Temperatur setzen
                        IPS_Sleep(3000);                        
                        if (GetValue($ID_Temperaturverschiebung_Kuehlkurve) != 0) {RequestAction($ID_Temperaturverschiebung_Kuehlkurve, 0);}    // Temperaturverschiebung der Kühlkurve auf 0°C
                        KNX_WriteDPT20($ID_HVAC, 1);                                                                                            // alle Raumregler auf Comfort/Anwesend
                        IPS_Sleep(100);
                        KNX_WriteDPT1($ID_Instanz_KuehlenHeizen, 0);                                                                            // alle Heizungsaktoren auf kühlen                                                   
                    } else {
                        if (GetValue($ID_WP_Modus) != 3) {RequestAction($ID_WP_Modus, 3);}                                                      // nur Warmwasser                        
                        IPS_Sleep(3000);
                        if (GetValue(15429) != $Status_WW_SOLL) {RequestAction($ID_WW_SOLL, $Status_WW_SOLL);}                                  // WW-Temperatur setzen
                        KNX_WriteDPT20($ID_HVAC, 4);                                                                                            // alle Raumregler auf Building Protection/Frostschutz
                    }                                            
                    break;

            case 3: //ID 3 - Nachtbetrieb
                    if (GetValue($ID_Waermepumpe) != 0) {RequestAction($ID_Waermepumpe, 0);}                                                    // Wärmepumpe aus
                    IPS_Sleep(3000);
                    if (GetValue($ID_WP_Modus) != 3) {RequestAction($ID_WP_Modus, 3);}                                                          // nur Warmwasser
                    KNX_WriteDPT20($ID_HVAC, 4);                                                                                                // alle Raumregler auf Building Protection/Frostschutz
                    IPS_Sleep(100);
                    KNX_WriteDPT1($ID_Instanz_alleVentileZwangsstellung, false);                                                                // alle Ventile Zwangsstellung 0% (falls die gesetzt wurden)
                    break;
        }
    }        
}

// Desinfektionsmodus
if ($_IPS['SENDER'] == "Variable") {
    if ($_IPS['VARIABLE'] == $ID_Status_Desinfektionsautomatik) {
        if (GetValue($ID_Status_Desinfektionsautomatik) == true) {
            IPS_SetEventActive($ID_Desinfektionszeit, true);
        } else {
            IPS_SetEventActive($ID_Desinfektionszeit, false);          
        }
    }
}    

if ($_IPS['SENDER'] == "TimerEvent") {
    if ($_IPS['EVENT'] == $ID_Desinfektionszeit) {                                      // wenn Zeitpunkt erreicht
        if (GetValue($ID_Status_Desinfektionsautomatik) == true) {                      // wenn Automatik eingeschaltet
            if ($Status_Legionellenschutz == false) {                                   // wenn Desinfektion länger als 1 Woche her
                RequestAction($ID_Desinfektionsmodus, 1);                               // Desinfektion starten (Einstellung der WP)
            }
        }
    }    
}


// aktive Leistungsbegrenzung durch 3-Wege Ventil
if ($_IPS['SENDER'] == "Variable") {
    if ($_IPS['VARIABLE'] == $ID_DreiWegeVentil) {
        if ($_IPS['VALUE'] == true) {
            KNX_WriteDPT5($ID_Leistungsbegrenzung, 60);                                 // bei Warmwasserbereitung Leistungsbegrenzung auf 50%
        } else {
            KNX_WriteDPT5($ID_Leistungsbegrenzung, 30);                                 // bei Heizwasserbereitung Leistungsbegrenzung auf 30%
        }
    }
}




2022-09-28_17h45_41

1 „Gefällt mir“

Ich überwache mit dem Ereignis und einem Ablaufplan den Status vom Drei Wege Ventil.
Ontop als Bedingung damit das Skript ausgeführt wird, prüfe ich die Kompressorfrequenz = 0Hz (also AUS). und ob die Aussentemperatur kleiner gleich 15Grad ist. Darüber muss ich zu 99% nicht heizen :slight_smile:

Hier die Screenshots und das Skript… Bitte nicht lünchen - das ist quick & dirty und funktioniert einfach.


<?php
// bisherige SWV abholen und wegschreiben
$ip="192.168.2.38";
$alt=GetValue(38065);
SetValue(32411,$alt);

// per HTTP API SWV hochsetzen auf +4:
Sys_GetURLContent("http://$ip/command?SetZ1HeatRequestTemperature=4_");
IPS_Sleep(15000);

// per HTTP API SWV auf Altzustand zurücksetzen:
Sys_GetURLContent("http://$ip/command?SetZ1HeatRequestTemperature=$alt");

// Variante per MQTT - geht mit 1.0 nicht..
//RequestAction(30196, "3");
//IPS_Sleep(5000);
?>
1 „Gefällt mir“

edit: gerade gesehen, das du mich ja gar nicht meintest :blush:
Ich lasse den Post trotzdem mal stehen, evtl. braucht jemand da noch mal etwas von …

1 „Gefällt mir“

Dankeschön für die Ideen und die Skripte, werde mir diese genauer anschauen.

Danke noch mal

I just find that te Panasonic Comfort Cloud Modul is finding the heatpump (whitout the use of Heashamon) anyone successful with adding the heat pump??
see [Modul] Panasonic Comfort Cloud - #23 von Noah

1 „Gefällt mir“

Sorry, I dont think so.
All users in this thread do it with the HeishaMon integration if not mistaken.

best rgds
bernhard

Hallo Freunde der Heisha

Irgendwie blicke ich beim Panasonic internen Algorythmus nicht recht durch.
Abgesehn davon das die Leistungsmodulation net wirklich was tut und es so zum Takten kommt verstehe ich das ganze nicht.

Schaut euch mal den Plot an. Über die ganzen 24Std war Außen und Soll Temperatur nahezu konstant. Ebenso die VL zum Startpunkt eines Zyklus.
Trotzdem fährt die manchmal nur mit extrem schlechtem COP ~2 hoch um sich dann langsam an die für diese Temperaturkombination mögliche ~3 hinzuarbeiten. Andererseits sieht man aber auch Zyklen wo sie gleich mit optimalem Arbeitspunkt startet und von Anfang an mit COP ca.3 läuft.

Alles gemessen mit externem Meter und exteren WMZ. Die Datenlage sollte also passen. Sie arbeitet an einen Puffer, an mangelndem Durchfluß kann es also nicht liegen. Es war auch kein Silentmode oder so aktiv.

Hier auch der Plot zu Durchfluß und Verdichterfrequenz.

Jemand eine Idee dazu ?

Hallo Bernhard,
hast du den Puffer in der Steuerung der Heisha angegeben?
Wenn ja, damit habe ich auch schlechte Erfahrungen gemacht und diesen wieder aus der Konfiguration der Heisha rausgenommen, damit war die Regelung deutlich besser.

Um bessere Laufzeiten den Heisha zu bekommen und ein langes Arbeiten mit hoher Leistung am Anfang und takten aufgrund meiner ERR und recht niedrigen Heizbedarf habe ich ein einfaches Script, welches mit der Heizkurve nachregelt.
Das funktioniert bei mir sehr gut um dein oben beschriebenes Verhalten zu unterbinden.

Vielleicht kannst du so etwas in der Art ja mal testen …

Viele Grüße,
Doc

// Script zur dynamischen Anpassung der Heizkurve (-2°C/+2°C) zur Leistungsoptimierung der Heisha (weniger Volllast)

$ID_Frequenz = 58555;                                                   // Verdichterfrequenz
$ID_Verbrauch = 41265;
$ID_DreiWegeVentil = 35540;                                             // Dreiwegeventil
$ID_Abtauvorgang = 43750;                                               // Abtauvorgang
$ID_Waermepumpe = 36761;                                                // Status Wärmepumpe AN/AUS
$ID_Modus = 53786;                                                      // Wärmepumpenmodus 0=Heizung, 4=Warmwasser+Heizung

$ID_Sollwertverschiebung = 22372;                                       // ID der Sollwertverschiebungsvariablen der Heizkurve
$ID_Merker = 24048;

$IDArchiveHandler = 10204;
$interval = 15;
$default = 0;

// ================== ab hier nichts ändern =========================
$Sollwert = 0;
$Frequenz = GetValue($ID_Frequenz);
//$Frequenz = getMean ($IDArchiveHandler,$ID_Frequenz,$interval,$default);                                                            // Mittelwert 15s.

$Verbrauch_alt = GetValue(35503);                                                                                                     // Durchschnittsverbrauch und Hysterese 50W ermitteln
$Verbrauch = getMean ($IDArchiveHandler,$ID_Verbrauch,$interval,$default);
if (($Verbrauch > ($Verbrauch_alt - 50)) and ($Verbrauch < ($Verbrauch_alt + 50))) {$Verbrauch = $Verbrauch_alt;}

//if ($Frequenz > 37) {SetValue($ID_Merker, true);}                                                                                   // Merker setzen um Volllast abzuwarten

if ((GetValue($ID_Waermepumpe) == true) and (GetValue($ID_Abtauvorgang) == false) and (GetValue($ID_DreiWegeVentil) == false)) {
    if ($Verbrauch > 1200) {SetValue($ID_Merker, true);}
}

if ((GetValue($ID_Waermepumpe) == false) or (GetValue($ID_Abtauvorgang) == true) or (GetValue($ID_DreiWegeVentil) == true)) {       // nix machen (keine Verschiebung) wenn WW, Abtauvorgang oder WP aus
    $Sollwert = 0;
} else {
    if ((GetValue($ID_Modus) == 0) or (GetValue($ID_Modus) == 4)) {                                                                 // wenn der richtige Modus aktiv
        if (GetValue($ID_Merker) == true) {
/*
            if ($Frequenz >= 40) {$Sollwert = -2;}
            if ($Frequenz < 40) {$Sollwert = -1;}
            if ($Frequenz < 30) {$Sollwert = 0;}
            if ($Frequenz < 27) {$Sollwert = 1;}
            if ($Frequenz < 23) {$Sollwert = 2;}  
            if ($Frequenz < 10) {$Sollwert = 0; SetValue($ID_Merker, false);}
*/
            if ($Verbrauch >= 1700) {$Sollwert = -1;}
            if ($Verbrauch < 1700) {$Sollwert = -1;}
            if ($Verbrauch < 1450) {$Sollwert = 0;}
            if ($Verbrauch < 1200) {$Sollwert = 1;}
            if ($Verbrauch < 1000) {$Sollwert = 2;}  
            if ($Verbrauch < 400) {$Sollwert = 0;}
            if (($Verbrauch < 400) and ($Verbrauch > 10)) {SetValue($ID_Merker, false);}                                            // Merker zurücksetzen und 0W/0Hz Fehler umgehen
        }                                          
    }   
}

if (GetValue($ID_Sollwertverschiebung) != $Sollwert) {RequestAction($ID_Sollwertverschiebung, $Sollwert);}                           // schreiben der neuen Sollwertverschiebung wenn geändert
SetValue(40525,$Frequenz);                                                                                                           // Durchschnittsfrequenz schreiben   
SetValue(35503,$Verbrauch);                                                                                                          // Durchschnitt Leistungsaufnahme

// *** Funktionen ***
function getMean ($IDArchivehandler,$varId,$log_interval,$default) {
$logData = AC_GetLoggedValues ($IDArchivehandler, $varId, time()- $log_interval,time(),-1);
if (count($logData) <1) return $default;
foreach ($logData as $key => $data)
{
    $value[$key] = $data['Value'];
}
return array_sum($value)/count($value);
}

Servus
hab deine Antwort erst jetzt gesehen, ist mir durchgerutscht.
Ja, ich habe den Puffer konfiguriert. Werds mal ohne probieren.
Leider läuft dann die Pumpe permanent (weil die ja denkt das sie den Heizkeis bedienen muß). Wenn Puffer =ON dann schaltet die Pumpe nämlich brav ab wenn der Kompressor nicht läuft und damit bleibt mir die Schichtung im Puffer erhalten.

Von deinem Script hab ich schon mal weiter oben gelesen, werds gerne mal ausprobieren und berichten. Vilen dank für die Idee.
Du referenzierst im Script auf ein „Dreiwegeventil“ ist das für die Brauchwasserbereitung ? Oder was machst du damit, bzw. wann wird das betätigt?

Ich hätte anstatt der 9KW lieber 2x5KW nehmen sollen. Das wären in vielen Aspekten vorteilhafter gewesen.

schöne Grüße
Bernhard

Hallo @bbernhard
ich habe eine 12kW Heisha (Split), die ist noch schlechter unter Kontrolle bei wenig Heizbedarf zu halten … :wink:

Das Script hier drüber ist nicht mein Heizungs-Script, das war hier nur um die Heisha noch besser zu einem „gleichmäßigen“ Lauf zu zwingen, indem die Heizkurve angepasst wird.

Ja die Heizkreispumpe der Heisha läuft ohne den Puffer im Heizungsmodus dauerhaft, aber da ich mit dem Heizungsscript die Heizzeiten steuere, geht die Pumpe dann mit der Heisha auch wieder aus. Heize fast nur tagsüber und dann dadurch durchgängig.

Ich weiss nicht, wie der Puffer bei dir eingebunden ist, also ob im Rücklauf wie sonst üblich bei WPen?
Bei mir sitzt der parallel, die Heisha heizt also nur in den Puffer rein und die FBH holt sich dann das, was sie benötigt. Den Einlauf von der Heisha in den Puffer sitzt hierbei genau gegenüber vom Vorlauf der FBH, der Rücklauf ist genau so angeschlossen.
So bringt die Heisha die überschüsse Energie, den die FBH aktuell nicht braucht in den Puffer, und wenn mal mehr Bedarf da ist, als die Heisha liefert kommt es wieder aus dem Puffer. Sonst ist es quasi wie Durchzug.
So ist die bei vielen gehasste ERR hier nämlich kein Problem.

Dreiwegeventil ist die Variable, die beim Umschalten auf WW-Versorgung gesetzt wird, ich habe ja nur diese Heizung dafür.
Die nutze ich z.B. um die Leistungsbegrenzung auf 50% zu setzen beim WW und auf 30% beim heizen. 12kW sind halt schon ganz schön viel in einem Neubau, gerade in der Übergangszeit.

Viele Grüße,
Doc

Genau so hab ichs auch.

Hast du auch den COP beobachtet wenn du das Leistungsbegrenzungscript einsetzt ?
Was ich bei eigenen Versuchen gesehen habe passiert, es leicht das zwar die Leistung runtergeht, allerdings auch der COP ins Bodenlose fällt. Das wäre dann ja ziemlich kontraproduktiv.

bb