hat jemand HeishaMon in IP-Symcon drin?

… na hoffentlich steigst du da durch …

//Script zur Steuerung/Abgleich der Panasonic Aquarea und KNX nach Wochenplänen

// ====================   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%)

$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


// =======================   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
                    RequestAction($ID_Waermepumpe, 1);                                  // Wärmepumpe ein
                    IPS_Sleep(3000);
                    RequestAction($ID_WP_Modus, 0);                                     // nur Heizwasser
                    IPS_Sleep(3000);
                    RequestAction($ID_Temperaturverschiebung_Heizkurve, 0);             // Temperaturverschiebung der Heizkurve auf 0K
                    KNX_WriteDPT20($ID_HVAC, 1);                                        // alle Raumregler auf Comfort/Anwesend
                    break;

            case 2: //ID 2 - Warmwasser & Heizwasser
                    RequestAction($ID_Waermepumpe, 1);                                  // Wärmepumpe ein
                    IPS_Sleep(3000);
                    RequestAction($ID_WP_Modus, 4);                                     // Heizwasser & Warmwasser
                    IPS_Sleep(3000);
                    RequestAction($ID_Temperaturverschiebung_Heizkurve, 0);             // Temperaturverschiebung der Heizkurve auf 0K 
                    IPS_Sleep(3000);                   
                    RequestAction($ID_WW_SOLL, $Status_WW_SOLL);                        // WW-Temperatur setzen
                    KNX_WriteDPT20($ID_HVAC, 1);                                        // alle Raumregler auf Comfort/Anwesend
                    break;

            case 3: //ID 2 - Nachtbetrieb
                    if ($Status_Aussentemperatur < 0) {                                 // wenn Außentemperatur kleiner als 0°C, WP an lassen
                        RequestAction($ID_Waermepumpe, 1);                              // Wärmepumpe ein
                        IPS_Sleep(3000);
                        RequestAction($ID_Temperaturverschiebung_Heizkurve, -2);        // Temperaturverschiebung der Heizkurve auf -2K
                        } else {
                        RequestAction($ID_Waermepumpe, 0);                              // Wärmepumpe aus
                    }
                    IPS_Sleep(3000);
                    RequestAction($ID_WP_Modus, 0);                                     // nur Heizwasser
                    KNX_WriteDPT20($ID_HVAC, 3);                                        // alle Raumregler auf Economy/Nacht
                    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
                        RequestAction($ID_Waermepumpe, 1);                              // Wärmepumpe ein
                        IPS_Sleep(3000);
                        RequestAction($ID_WP_Modus, 1);                                 // nur Kühlwasser
                        IPS_Sleep(3000);
                        RequestAction($ID_Temperaturverschiebung_Kuehlkurve, 0);        // Temperaturverschiebung der Kühlkurve auf 0°C
                        KNX_WriteDPT1($ID_Instanz_EG_VentileZwangsstellung, true);      // EG Ventile Zwangsstellung 100%
                        IPS_Sleep(100);
                        KNX_WriteDPT1($ID_Instanz_OG_VentileZwangsstellung, true);      // OG Ventile Zwangsstellung 100%  
                    } else {
                        RequestAction($ID_Waermepumpe, 0);                              // Wärmepumpe aus
                        IPS_Sleep(3000);
                        RequestAction($ID_WP_Modus, 3);                                 // nur Warmwasser
                        KNX_WriteDPT20($ID_HVAC, 4);                                    // alle Raumregler auf Building Protection/Frostschutz
                        KNX_WriteDPT1($ID_Instanz_EG_VentileZwangsstellung, false);     // EG Ventile Zwangsstellung 0%
                        IPS_Sleep(100); 
                        KNX_WriteDPT1($ID_Instanz_OG_VentileZwangsstellung, false);     // OG Ventile Zwangsstellung 0%
                    }
                    break;

            case 2: //ID 2 - Warmwasser & Kühlwasser
                    RequestAction($ID_Waermepumpe, 1);                                  // Wärmepumpe ein
                    IPS_Sleep(3000);
                    if (GetValue($ID_Kuehlung) == true) {                               // wenn Kühlung eingeschaltet
                        RequestAction($ID_WP_Modus, 5);                                 // Kühlwasser & Warmwasser 
                        IPS_Sleep(3000);
                        RequestAction($ID_WW_SOLL, $Status_WW_SOLL);                    // WW-Temperatur setzen
                        IPS_Sleep(3000);                        
                        RequestAction($ID_Temperaturverschiebung_Kuehlkurve, 0);        // Temperaturverschiebung der Kühlkurve auf 0°C
                        KNX_WriteDPT1($ID_Instanz_EG_VentileZwangsstellung, true);      // EG Ventile Zwangsstellung 100%
                        IPS_Sleep(100); 
                        KNX_WriteDPT1($ID_Instanz_OG_VentileZwangsstellung, true);      // OG Ventile Zwangsstellung 100%                                                   
                    } else {
                        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
                        KNX_WriteDPT1($ID_Instanz_EG_VentileZwangsstellung, false);     // EG Ventile Zwangsstellung 0%
                        IPS_Sleep(100); 
                        KNX_WriteDPT1($ID_Instanz_OG_VentileZwangsstellung, false);     // OG Ventile Zwangsstellung 0%
                    }                                            
                    break;

            case 3: //ID 3 - Nachtbetrieb
                    RequestAction($ID_Waermepumpe, 0);                                  // Wärmepumpe aus
                    IPS_Sleep(3000);
                    RequestAction($ID_WP_Modus, 3);                                     // nur Warmwasser
                    KNX_WriteDPT20($ID_HVAC, 4);                                        // alle Raumregler auf Building Protection/Frostschutz
                    KNX_WriteDPT1($ID_Instanz_EG_VentileZwangsstellung, false);         // EG Ventile Zwangsstellung 0%
                    IPS_Sleep(100); 
                    KNX_WriteDPT1($ID_Instanz_OG_VentileZwangsstellung, false);         // OG Ventile Zwangsstellung 0%
                    break;
        }
    }        
}

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

Dankeschön auch von mir, vielleicht schaffe ich am Wochenende mich dran zu setzen.

Gruß

Hallo,

Ich habe es mal probiert über den Ablaufplan die Pumpe zu konfigurieren.
Hoffe es funktioniert soweit, wird morgen getestet.

Wird den bei dem Wintermodus von Anfang immer wieder laufen? Oder soll mal zyklisches Ereignis hinzufügen?



Dankeschön :+1:. Werde dann mal den Kalender bei der Heisha deaktivieren.
Und schaue mal ob es überhaupt funktioniert.

Gruß

Also beim Ablaufplan kann ich dir nicht helfen, den nutze ich gar nicht.
Wie man den genau konfiguriert, keine Ahnung.
Das Script bei mir wird von verschiedenen Ereignissen getriggert, aber es sind keine zyklischen dabei, heisst wird nur von den Zeiten im Wochenplan getriggert oder bei Änderungen der Einstellungen (Sommer/Winter usw.)

Aber du solltest dir mal das „Snipping Tool“ anschauen, was bei Windows mit dabei ist, da kann man sehr schöne Sceenshoots mit machen … :wink:

Ja ich weiß… War auf dem Raspberry von der Arbeit arbeiten. Ist meins Desktop…
Kombi zum Screenshot geht net, ins Gimp einfügen auch net…

Bin gespannt ab morgen alles angeht, hab den Zeitlaufplan bei der Wärmepumpe deaktiviert.
Und beim heizen auf festen Wert eingestellt.

Mal sehen ob das mit der verschiebung funktionieren wird

Habe heute mal das Update auf die FW 2.0 gewagt.
Man kann jetzt die WLan Einstellungen direkt in den Settings ändern und es gibt eine Console.

Ich hatte ja nach vielen Tagen ab und an das Problem, das der ESP sich nicht mehr gemeldet hatte.
Ggf. löst die FW ja dieses Problem … „hopefully fix 50days timing issue“

Ja hab auch vor ein paar Tagen auf 2.0 umgestellt. Das es sich komplett weghängt das Problem hab ich nicht, es war den ganzen Sommer mit 1.x brav Online.
Allerdings ist es auch mit v2.0 passiert das Ein/Aus Befehle sporadisch nicht übernommen werden.
evtl. liegts aber am IPS MQTT Server. Der ist ja noch etwas unrund.
Nehmt ihr den IPS MQTT oder einen externen Broker. Eine Syno wo ich einen Mosquito laufen lassen könnte hab ich hier.

gruß
bb

Ich nutze IPS MQTT als Ziel von heishamon aus.

Bleiben die topics etc unverändert wenn man von der letzten 1er auf die 2er Version?

Sollte Mal wieder ein Update machen in die Heisha endlich in IPS abbilden.

Mir geht eigentlich nur darum die Zeitpläne Herbst/Winter/Sommer spezifisch in IPS einstellen zu können.

Die heizkurve hab ich inzwischen glaub Recht passend gefunden.

Einen interessanten Ansatz zur Nutzung tagsüber oder ganztags, hat einer im Haustechnikdialog beschrieben.

Er hat sich ausgerechnet wieviel Wärmemenge er je nach Wetterprognose (Vormittags/mittags/Nachmittags) benötigt.
Daraus leitet er ab ob er vornehmlich tagsüber bei höheren ATs heizt inkl. evtl PV Nutzung, oder ob er 24h heizen muss.

Die Idee fand ich interessant.
D.h. er arbeitet je nach Prognose mit sollwerterhöhung.

Das hab ich spaßeshalber schon Mal händisch die letzten Tage probiert.
Aktuell klappt das super und ich umgehe damit die -5 bis 0 Grad nachts. Und lande dann eher bei 5grad + oder mehr.

Voraussetzung dafür ist natürlich das man keine 5kW bei den ATs benötigt

Hallo,

ja so ähnlich wollte ich das auch lösen. Aber nicht ganz so komplex.
Heize zur Zeit auch noch am Tage, irgendwann muss ich auch auf 24 Stunden gehen.

Hab auch Alexa eingebunden, sollte so funktionieren:
Heizmodus = nur am Tage
Wintermodus = 24 Stunden

Mit dem Ablaufplan komme ich leider nicht wirklich klar, die Umschaltung um 12 Uhr auf Warmwasser klappt nicht. Am Anfang funktioniert bis jetzt.

Habe dann 3 Ablaufpläne erstellt, für Sommer eben dann nur Warmwasser Aufbereitung dazu.

Heisha habe ich auch eingestellt auf festen Wert, diesen kann man brav aus IPS schreiben.
Nur dachte ich am Anfang es wäre die Verschiebung, dort übermittelt man aber wirklich die Ziel Vorlauftemperatur.

@mastermind1
Also ich musste nach dem Update kein MQTT Topic ändern, das funktioniert wie ich bis jetzt sehen kann genau so weiter.
Du musst nur den ESP wieder in dein WLan bringen.
hast du einen Link zur dem Beitrag im Haustechnikdialog?

@ power_dodge,
ich glaube wenn du bei +/- 5Grad bleibst, verschiebst du nur die Kurve, ab einem bestimmten Wert wird das Ziel gesetzt.
Ich habe eine feste Kurve für Heizen und Kühlen eingestellt und verschiebe die bei Bedarf, das funktioniert sehr gut.

Ja dafür müsste man wahrscheinlich bei Heisha „Heizen über Kurve“ aktivieren.

Damit war ich in der Automatik nicht so glücklich. Da Nachts kälter ist und die WP geht auf mehr Gas.
Versuche Nachts das System etwas warm zu halten ca. 28 Grad, am Tage 38 Grad den PV Strom zu verheizen.

Werde jetzt nicht versuchen auf 12 Uhr genau gehen, sondern nach dem Start um 9.00 Uhr, 3 Stunden Wartezeit einfügen. Theoretisch müsste auch passen, muss den Ablaufplan Täglich um 9.00 starten.

Denke warten auf Warmwasser und maximal 7200 Sekunden wäre auch ok. Schade das man da net Minuten oder Stunden auswählen darf.

Hi powerdoge
Minuten und Stunden kannst du auswählen
Schönen Gruß
Egon

Hey, warten auf einen Wert nur Sekunden entdeckt.

Einfaches warten ja das stimmt

Aber genau das mache ich doch mit der Kurve, nachts absenken, damit sie nur im Notfall heizt und tagsüber bei Überschuss weiter hoch. Ich muss dann nur die ERR mit aufdrehen, sonst nützt das nix…
Die Heisha lasse ich aber sowieso nachts nur unter 0°C an.

Ok, dann hängt es wirklich an der Kurve oder festen Wert.
Hatte probiert 0 oder 20 zu schreiben, der hat mir dann 20 in soll Vorlauftemperatur geschrieben.

Du hast vermutlich Fusbodenheizung, ich hab Heizkörper.
Hatte so festgestellt gehabt, wenn 18 Stunden Wärmepumpe aus ist, kühlt sich das Heizwasser sehr ab. Dann braucht die Wärmepumpe sehr viel Energie um wieder auf die Temperatur zu kommen.

Bei 24 Stunden Laufzeit. Nachts fahre ich etwa 28 Grad und am Tage um die 32 Grad.
Jetzt von 9 Uhr morgens bis 18 Uhr 38 Grad, minus 1,5 Stunden für Warmwasser.
Man merkt aber das Nachmittags schon ziemlich warm im Haus ist und morgens schon etwas kühl.
Irgendwann ist die Spanne schon zu stark, dann gehe ich auf 24 Stunden.
Speicher wäre vielleicht die Lösung, nur letztes Winter war echt enttäuschend was PV angeht.
Im 3 Monaten waren 5 Tage sonnig und es waren mal -20 Grad etc.

Hallo,

glaube so müsste es funktionieren:

@Doctor_Snuggles Den Beitrag im Haustechnikdialog finde ich nicht auf die schnelle…
ich meine „Donpepe23“ hat das mal erwähnt.
Er berechnet sich wohl anhand der Heizlastberechnung wieviel kWh an Wärme er für den Tag benötigt.
Das macht er auf Basis von einer Wetterprognose (vormittags/mittag/nachmittags).
Und je nachdem entscheidet er ob und wie die WP heizen soll. Auch ob nachts Absenkung, durchheizen oder sogar ausschalten Sinn macht.
Wird aber wohl in Kombination mit einem KNX System gemacht.

Ich bin selbst am grübeln wie sowas sinnvoll so etwas umsetzbar ist.
Problem was ich sehe: IP-Symcon muss laufen, der Wetterbericht muss funktionieren.
Gerade bei der heizung ist es mir eigentlich lieber - wenn diese für sich „autark“ heizt, und ich nur gelegentlich eingreife.

Was wenn der Wetterbericht warm hat und die Heizung dann ausbleibt… Dann muss die Heizung das mit Vollgas wieder reinholen.

Gerade was Wetterbericht angeht. Entweder liegt die Prognose daneben, oder der Anbieter hat mal Probleme Daten zu liefern und schon bricht das Kartenhaus zusammen.

Ich gehe selbst aktuell nach dem Wetterbericht was den Wochenverlauf angeht.
Aktuell ist es tagsüber deutlich wärmer als nachts. D.h. die WP schafft es problemlos , teilweise sogar mit PV Unterstützung, zu heizen, und nachts auszubleiben.

Aber eher lowcost…
06.00Uhr Heizen an, SWV ±0 also nach Heizkurve
10.00Uhr Heizen an, SWV +1
12.00Uhr Heizen SWV +2, Warmwasser an
18.00Uhr Heizen SWV +2
20.00Uhr Heizen SWV +1
22.00Uhr AUS

Bei Aussentemperaturen von 5 - 15Grad errechnet mir mein WMZ für Heizen und Warmwasser eine Tagesarbeitszahl von 4 - 5,x. Damit bin ich sehr zufrieden.

Eine Jahresarbeitszahl von 4,2-4,5 halte ich bei uns für realistisch und gut.

100% ack.
Hab das schon mehrmals in Verbindung mit PV Speichermanagement probiert. Leider absolut erfolglos. Zumindest hierzulande ist der (frei verfügbare) Wetterbericht einfach viel zu ungenau als das das funktionieren könnte.
Bei euch in DE am flachen Land geht das vielleicht besser, aber hier bei mir in den Bergen war das nix.
Suche auch noch wie das intelligenter gehen könnte. Irgendwas adaptives und selbstlernendes müßte her.
Hab hier auch noch eine weitere Verkomplizierung, therm. PV und der Öli darf auch noch mitspielen. d.h. da wäre dann auch zu entscheiden ab wann es besser ist von WP auf Öl umzuschalten.

gruß
bb

Das kannst du ja annähernd ausrechnen. Über den Preis vom Öl im Keller, aktuellem Strompreis, geschätztem Wirkungsgrad vom Öli sowie Cop der Heisha bei bestimmter AT. Ist zwar nur angenähert, aber ein Ansatz. Ich schalte aktuell bei -1 Grad AT über die Heisha auf den Öler um. Bin allerdings noch in der Optimierungspase, da die WP erst einen Winter gelaufen ist. Hab nur ne kleine PV Anlage mit 3 kW. Ist natürlich auch die Frage, wieviel Aufwand man in die Regelungsoptimierung steckt, ohne an Komfort und WAF zu verlieren :wink:

Hallo,

was machen eure Heishas?

Habe noch einen Plan hinzugefügt, heize auch gering bis 21 Uhr.
Bei mir wurden die Befehle bis jetzt sehr zuverlässig gesendet.