Ganz vielleicht habe ich auch etwas das jemandem helfen könnte (mein erster wirklich produktiver Beitrag der nicht nur Fragen stellt):
Und zwar heizt der Kessel ja bekanntlich das warme Wasser gerne und oft (bei mir so ca. alle 1,5h) - das ist aber z.b. Abends (oder Morgens) je nachdem wann man so duscht überhaupt nicht notwendig.
Beispielsweise ist es absoluter Unsinn, wenn bis 22:00 geheizt wird um 21:50 nochmal eine Ladung Wasser aufzuheizen - am Morgen ist das sowieso kalt.
Leider kann man der Steuerung auch nicht direkt „verbieten“ WW zu heizen.
Dementsprechend habe ich eine Lösung gefunden, die MC10 zu überlisten - und zwar durch den Tag&Nacht Modus:
Das Skript macht nun folgendes:
Es gibt 4 Variablen die hier von Bedeutung sind:
- Heizen (also Absenken oder nicht) boolean
- Warmwasser - boolean
- Warmwasserautomatik - boolean
- Warmwassertemperatur (kann der Kessel selbst, ich messe aber lieber mit nem 1-Wire)
(dazu kommen als Nr. 5+6 die jew. gewünschten Heiz- bzw. Absenktemperaturen, im Skript $tagtemp + $nachttemp)
Das Skript wird jeweils durch eine Änderung der Variablen 1-3 getriggert, dazu läuft es alle 5 min.
Wenn jetzt z.b. Abends kein warmes Wasser benötigt wird (z.b. ab 19:00) aber die Heizung warm bleiben soll, setzt man 2. auf FALSE, dadurch wird die Heizung in den Nachtmodus (keine WW-Bereitung) gebracht dabei ist Solltemp=Heiztemperatur, bei mir dann 21°C.
Wenn die Automatik aus ist, schaltet das Skript auf die Heizung-Zeitschaltuhr zurück.
Zusätzlich habe ich festgestellt, dass meine Heizung auch mal gerne 71°C heißes Brauchwasser herstellt (45°C ist eingestellt) - daher schalte ich
a) bei 46°C (siehe die letzten beiden Blöcke) bei 46°C zurück auf Nachtmodus und
b) bei aktueller Temperatur 43°C und mehr bleibt die Anlage im Nachtmodus.
<?
include_once( "40745.ips.php" ); // KM200 Gateway
define( "km200_crypt_key_private", hex2bin( KM200_GetAESKey( 19465 /*[Buderus Gateway\AES-Key-Generator for KM200 Web Gateway]*/ ) ), true );
$heizmodus=GetValueBoolean(57740 /*[Funktionen Automatik\Warmwasserautomatik\Heizmodus]*/ );
$wwbereitung=GetValueBoolean(39461 /*[Funktionen Automatik\Warmwasserautomatik\Warmwasserbereitstellung]*/ );
$tagtemp=GetValueFloat(45509 /*[Funktionen Automatik\Temperaturvorwahl\Buderus-TAG]*/ );
$nachttemp=GetValueFloat(24778 /*[Funktionen Automatik\Temperaturvorwahl\Buderus-NACHT]*/ );
$wwtemp=GetValueFloat(40616 /*[Messsystem\Funktionen etc.\HomeMatic Systemvariablen\homeduino_x_A2]*/ );
$wwautomatik=GetValueBoolean(10258 /*[Warmwasserautomatik]*/ );
############# Automatik AUS ########################
If ($wwautomatik==false){
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Automatik ausgeschaltet");
km200_SetData('/heatingCircuits/hc1/operationMode',"auto");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/night', $nachttemp);
km200_SetData('/heatingCircuits/hc1/temperatureLevels/day', $tagtemp);
}
else {
############# Nachtbetrieb + kein WW ########################
If (($heizmodus==false) and ($wwbereitung==false) and ($wwautomatik==true)){
km200_SetData('/heatingCircuits/hc1/operationMode',"night");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/night', $nachttemp);
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Absenken /kein WW");
}
############# Tagbetrieb + kein WW ########################
If (($heizmodus==true) and ($wwbereitung==false) and ($wwautomatik==true)){
km200_SetData('/heatingCircuits/hc1/operationMode',"night");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/night', $tagtemp);
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Normal / kein WW");
}
############# Nachtbetrieb + WW ########################
If (($heizmodus==false) and ($wwbereitung==true) and ($wwtemp < 43) and ($wwautomatik==true)){
km200_SetData('/heatingCircuits/hc1/operationMode',"day");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/day', $nachttemp);
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Absenken / mit WW");
}
############# Tagbetrieb + WW ########################
If (($heizmodus==true) and ($wwbereitung==true) and ($wwtemp < 43) and ($wwautomatik==true)){
km200_SetData('/heatingCircuits/hc1/operationMode',"day");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/day', $tagtemp);
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Normal / mit WW");
}
############# Nachtbetrieb + WW ########################
If (($heizmodus==false) and ($wwbereitung==true) and ($wwtemp >= 46) and ($wwautomatik==true)){
km200_SetData('/heatingCircuits/hc1/operationMode',"night");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/night', $nachttemp);
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Absenken / WW warm");
}
############# Tagbetrieb + WW ########################
If (($heizmodus==true) and ($wwbereitung==true) and ($wwtemp >= 46) and ($wwautomatik==true)){
km200_SetData('/heatingCircuits/hc1/operationMode',"night");
km200_SetData('/heatingCircuits/hc1/temperatureLevels/night', $tagtemp);
SetValueString(28694 /*[Funktionen Automatik\Warmwasserautomatik\Heizstatus]*/ ,"Normal / WW warm");
}}
?>