Guten Abend,
dies kann ich zu 100 % bestätigen und ist in meinen eigenen Kommentaren auch so dokumentiert ![:slight_smile: :slight_smile:](https://community.symcon.de/images/emoji/win10/slight_smile.png?v=9)
Stefan, wenn du das alles über eine direkte Ansteuerung der Gruppen erreichen willst, dann musst du dir hier aus dem Forum die hmxml.inc.php und die xmlrpc.inc.php besorgen. Diese Seite https://www.symcon.de/forum/threads/21180-Heizkörperthermostat-Heizprogramme-per-WebFront-einstellen/page40?highlight=heizung+webfront hilft dir dabei ![:wink: :wink:](https://community.symcon.de/images/emoji/win10/wink.png?v=9)
Die Steuerung selbst habe ich dann so gelöst:
function SetzeModus($Modus, $IdGruppe, $IdControlMode, $IdSetTemp, $AlteTemp, $GesetzteTemp)
{
/*
echo "Der gewählte Modus ist $Modus
";
echo "id der Heizungsgruppe ist $IdGruppe
";
echo "id der Control Mode Variablen $IdControlMode
";
echo "id der Set Temperature Variablen $IdSetTemp
";
*/
switch ($Modus) {
case "AUTO_MODE":
if (GetValueInteger($IdControlMode) > 0)
{
HMXML_setParamBolean_VALUES($IdGruppe, "AUTO_MODE", true, $channel=1);
}
break;
case "BOOST_MODE":
HMXML_setParamBolean_VALUES($IdGruppe, "BOOST_MODE", true, $channel=1);
break;
case "MANU_MODE":
if (GetValueInteger($IdControlMode) != 1)
{
$Temp=HMXML_getParamSet($IdGruppe, -1, "TEMPERATURE_LOWERING");
HMXML_setParamFloat_VALUES($IdGruppe, "MANU_MODE", $Temp, $channel=1);
}
break;
case "COMFORT_MODE":
$Temp=HMXML_getParamSet($IdGruppe, -1, "TEMPERATURE_COMFORT");
// Temperatur nur setzen bei Änderung oder wenn Boost Modus aktiv ist
if ($Temp != GetValueFloat($IdSetTemp) or (GetValueInteger($IdControlMode) == 3))
{
HMXML_setParamFloat_VALUES($IdGruppe, "SET_TEMPERATURE", $Temp, $channel=1);
}
break;
case "LOWERING_MODE":
$Temp=HMXML_getParamSet($IdGruppe, -1, "TEMPERATURE_LOWERING");
// Temperatur nur setzen bei Änderung oder wenn Boost Modus aktiv ist
if ($Temp != GetValueFloat($IdSetTemp) or (GetValueInteger($IdControlMode) == 3))
{
HMXML_setParamFloat_VALUES($IdGruppe, "SET_TEMPERATURE", $Temp, $channel=1);
}
break;
case "minus":
case "plus":
$Temp = BerechneTemp($Modus, GetValueFloat($IdSetTemp));
HMXML_setParamFloat_VALUES($IdGruppe, "SET_TEMPERATURE", $Temp, $channel=1);
break;
case "set":
// Temperatur nur setzen bei Änderung oder wenn Boost Modus aktiv ist
if (($AlteTemp != $GesetzteTemp) or (GetValueInteger($IdControlMode) == 3))
{
HMXML_setParamFloat_VALUES($IdGruppe, "SET_TEMPERATURE", $GesetzteTemp, $channel=1);
}
break;
}
}
Die Gruppen selbst musst du nicht unbedingt in IPS anlegen. Sie werden in IPS auch nicht automatisch aktualisiert. Wenn du in der Visualisierung auf Temperatur, Ventilstellung … zugreifen willst, kannst du ja die Instanzen der WT und HT benutzen. Bei der Soll Temperatur ist dann der Wert aus dem WT zu empfehlen, da die Übertragung an das HT einige Sekunden dauert und man den Effekt in der Visu nicht sofort sehen würde. Das könnte beim Bediener zu Iriitationen führen ![:smiley: :smiley:](https://community.symcon.de/images/emoji/win10/smiley.png?v=9)
Vielleicht hilft dir das ja weiter. Bei mir läuft die Gruppenansteuerung seit Monaten ohne Probleme.
Insgesamt verstehe ich allerdings nicht, warum dies überhaupt erforderlich ist. Wenn deine Thermostate alle auf Auto stehen und es warm im Zimmer wird, schließen die Ventile doch ohnehin oder ?
Gruß
Hans