2 Punkte dazu:
-
Ich definiere Instanzen immer als Variablen wenn ich die mehrfach benutze. Damit kommt mir die IPS-Technik nicht mit seiner Namenserweiterung in die Quere. Der Code wird leichter lesbar und Änderungen brauche ich nur an einer Stelle vornehmen.
-
Würde ich mögliche Stati immer zusammenfassen und nicht alles mit logischen Verknüpfungen lösen, die sind schwer zu lesen.
würde die Variante nicht das gleiche machen???
und zumindest leichter lesbarer sein.
$status = GetValueBoolean(12036 /*[Technikraum\Klimagerät\Status]*/);
$ist_Temp = GetValueFloat(43663 /*[Technikraum\Wandthermostat\IST-Temperatur]*/);
if ($betiebsart == 2 ) // Temp-Auto
{
if($status == False) // Gerät ist aus!!
{
// Einschalttemp erreicht
if($ist_Temp >= $temp_ein))
{
HM_WriteValueBoolean(37158 /*[Technikraum\Klimagerät]*/, "STATE", True); //Gerät einschalten
SetValueBoolean(12036 /*[Technikraum\Klimagerät\Status]*/, True);
}
// sonst nix zu tun
exit(0);
}
if($status == True) // Gerät läuft schon!!!
{
// Ausschalttemp erreicht
if($ist_Temp <= $temp_aus)
{
HM_WriteValueBoolean(37158 /*[Technikraum\Klimagerät]*/, "STATE", false); //Gerät ausschalten
SetValueBoolean(12036 /*[Technikraum\Klimagerät\Status]*/, False);
}
// sonst nix zu tun
}
}
Ansonsten, super für einen „Laien“.
lg Marco