Zur besten Antwort gewählt
Okt 16, 2018 - 11:26
Der Variable wird eine Aktionskript zugewiesen das Mired in Kelvin umwandelt und umgekehrt, dabei entstehen Rundungsfehler.
<?
// Mired in Kelvin umrechen
if($_IPS['SENDER'] = "Variable")
{
$ParentID = IPS_GetParent(IntVal($_IPS['VARIABLE']));
$mired = $_IPS['VALUE'];
IPS_LogMessage("HUE", "Mired: ".$mired);
$kelvin = floor(1000000/$mired);
IPS_LogMessage("HUE", "Kelvin: ".$kelvin);
$Kelvin_ID = IPS_GetObjectIDByIdent("COLORTEMP_KELVIN", $ParentID);
SetValue ($Kelvin_ID, $kelvin);
}
// Kelvin in Mired umrechen
if($_IPS['SENDER'] = "WebFront")
{
$ParentID = IPS_GetParent(IntVal($_IPS['VARIABLE']));
$kelvin = $_IPS['VALUE'];
$mired = floor(1000000/$kelvin);
HUE_SetValue($ParentID, "COLOR_TEMPERATURE", $mired);// $mired value between 153 bis 500
SetValue ($_IPS['VARIABLE'], $kelvin);
}
?>
In NEO steht dann die neue Variable als Textfeld und Slider zur Verfügung um den Wert auch in Kelvin einstellen zu können.
Die Werte für Mired die in beiden NEO Plugins gleich. Kelvin wird aus Mired errechnet.
Neuen Kommentar hinzufügen