hat jemand HeishaMon in IP-Symcon drin?

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

Ja habe ich beobachtet und geloggt.
Bei mir geht der COP sogar nach oben, weil die Heisha dann schneller im niedrigen Teillastbereich arbeitet.
Hatte erst gedacht, das wird so nix, aber ich bin bis jetzt positiv überrascht.

Ich habe aber heute noch mal mein Heizungsscript überarbeitet und gebe der Heisha im Heizwassermodus bei Temperaturen unter 0°C doch etwas mehr als 30% als Leistungsbegrenzung.
Da ich nur tagsüber heize schafft sie das sonst nicht ganz in den paar Stunden das Haus auf Temperatur zu halten.
Das war mir vorher nie aufgefallen, da wir immer noch mit einem Pelletofen im WZ zugeheizt haben, der aber auf Grund der Pelletpreise aktuell aus bleibt, ist das dann aufgefallen.

VG,
Doc

Ok, da bin ich ja gespannt.
Solange es erlaubt ist heize ich auch noch mit dem Öler zu.
Am Abend das Brauchwasser, da bleibt dann einiges an Energie im Puffer was dann in den kühlen Abendstunden gut verwertbar ist. Danach kommt dann die Nachtabsenkung.
Morgens nochmal um die Anlage schneller aus der Nachtabsenkung zu holen. Der Öler hat halt doch einiges mehr Dampf als die Wp

Haben übrigens kürzlich im Büro ausgerechnet das bei allen aktuellen Preisen zzt mit Öl am günstigsten ist.

    • und ich habe sogar noch etwa 2500ltr von vor Krisenzeiten. Wenn ich nur zuheize langt das für einige Jahre.

gruß
bb

Hast übrigens Interesse an einem PID Reglermodul für die ERR. (reiner PID Regler, keine heizungsspezifischen Features)
Hab mir da grad sowas gebaut und bin am testen. Hat viele Features.
Im reinen P Modus läuft er auch brav aber wenn ich I oder D Anteile dazu nehme bin ich noch nicht glücklich. k.A. ob PID für die trägen Heizungen überhaupt taugt. Und wenn ja mit welchen Parameter.
Ist recht spannend das ganze.

greez
bb

Einen extra Regler brauche ich nicht über IPS, soll ja noch ein bisschen autark sein … :wink: , danke dir.

Ich habe hier alles mit KNX, die Heizungsaktoren sind da schon mächtig genug.
Glaube die Regeln nur über PI, ich meine PID machte für eine FBH auch keinen Sinn.

Moin,

sagt mal bitte, kann man den Heizstab per IPS dazu schalten?

Das Problem ist diesen Winter kämpft meine WP echt mehr mit dem Wetter. Vermutlich wegen höher Luftfeuchtigkeit.
Bevor die Vorlauf Temperatur erreicht ist, friert mit diese ein, Taut ab und so mit geht die VL Temperatur wieder runter.
Na so kalt ist jetzt nicht in dem Haus, vielleicht kann ich aber bei PV zumindest den dazu schalten.

Dankeschön

Ich glaube nicht. Zumindst habe ich jetzt kein passendes Topic gefunden.
Es gibt nur ein Topic welches anzeigt ob der Heizstab aktiv ist oder nicht.

evtl. bastelmäßig über einen externen Aktor direkt schalten. Müßte man probieren ob sie das schluckt und nicht irgendwelche Fehlermeldungen raushaut.

gruß
bb

Ich bin noch nicht solange im Thema, aber vielleicht würde das Topic SetPowerfulMode zumindest für begrenzte Zeit auch den Heizstab dazunehmen?

LG
Jörg

Bei meiner 7kW Jeisha wird Standardmäßig der Heizstab fürs Abtauen genutzt. Ist eigentlich auch Standard. Hast du ihn im Hidden Menü deaktiviert?