Funkventile

Habe jetzt mal mit ersten Ansätzen begonnen und gleich auf eine Problematik gestoßen.

Normalerweise (auch mit der Arbeitsweise der FHTs im Kopf) würde ein ganz simples größer als / kleiner als - Skript bei mir vielleicht so aussehen :

<?
 
if ((SollTemp < IstTemp) and (LocalTempWZ == True))

   MXC_SwitchMode (40306,true);
   
?>

Das Problem ist : Eine „SollTemp“ liefert der Raumcontroller gar nicht.
Er liefert unter „Target Value“ nur eine Interpretation der Stellung der Drehrads, wie z.B. -3,1 (Stellung des Drehrads auf ca. -3) oder +2,2 (Stellung des Drehrads auf ca. +2)
Hiermit kann ich mit dem einfachen Skript natürlich nix anfangen.

Was würdet ihr vorschlagen ? Ich denke man muss diese Zahl erstmal durch ein Skript in Temperaturwerte umrechnen lassen, wie z.B. alles mit einer „-3“ vor dem Komma = 17°, alles mit einer „0“ vor dem Komma = 21°, usw…

Hättet Ihr da eine Idee ?

wie wäre es einfach den „Target Value“ zu einer „Grundtemperatur“ dazuzuaddieren? So in etwa:

   <?
$SollTemp = 20 + $TargetValue ;
if (($SollTemp < $IstTemp) and ($LocalTempWZ == True))

   MXC_SwitchMode (40306,true);
   
?> 

Gruß

hui… klingt gut… denk ich nochmal nach wenn die Mohitos ihre Wirkung verloren haben… danke schon mal ! :slight_smile:

Das ist mein aktueller Stand der lokalen Heizungssteuerung und funktioniert soweit.

Ich bin absolut nicht der Progger, ist also bestimmt nicht ganz sauber.

Getriggert wird das Skript durch Veränderung der Drehradposition oder Temperaturveränderung.

<?

// Regelt 230V Stellventile in Verbindung mit Moeller xComfort Room Controller


$IstTemp = GetValueFloat (13605 /*[Wohnzimmer\Temperatur Wohnzimmer\Actual Temperature]*/);
$RadPos = GetValueFloat (33258 /*[Wohnzimmer\Temperatur Wohnzimmer\Target Value]*/);
$SollTemp = 20 + $RadPos /* addiert Grundtemperatur von 20° Celsius + Drehradstellung zur SollTemp*/;
$LocalTemp = 28632 /*[Wohnzimmer\Temperatur Wohnzimmer\Local Temp WZ]*/;

IPS_LogMessage ("Die Wunschtemperatur im Wohnzimmer beträgt", $SollTemp); //informiert über die Wunschtemperatur

SetValueFloat (50168 /*[Wohnzimmer\Temperatur Wohnzimmer\Target Temperature]*/, $SollTemp);

if (($SollTemp > $IstTemp)) //and ($LocalTemp == True)); //prüft die Über-/Unterschreitung der Wunschtemperatur und den "Local Mode"
{
MXC_SwitchMode (29064 /*[Wohnzimmer\Heizung\Heizung]*/,true);
}
else
{
MXC_SwitchMode (29064 /*[Wohnzimmer\Heizung\Heizung]*/,false);
}
?>