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ß