Automatische Skalierung von Variablen

Hallo

Ich wollte mal fragen, ob es möglich wäre, eine Variablenskalierung einzubauen.
Ich setzte eine HomeMatic ein und bekomme z.B. von meinen Jalousiemodulen für die aktuelle Position einen Fließkommawert zwischen 0 (geschlossen) und 1 (offen) zurück. Leider kann ich das schlecht mit z.B. einem Trackbar verbinden, da dieser nur Integer’s verdaut. Um nicht für jede Variable ein Skript zu schreiben wäre es doch praktisch, wenn man bei den Vairableneingenschaften eine Skalierung vorgeben könnte (in Form von 2 Wertepaaren, mit denen die Skalierungsgerade festgelegt wird).

Für meinen Fall müsste man dann z.B. eintragen:

Eingangswert 1 = 0 Ausgangswert 1 = 0
Eingangswert 2 = 1 Ausgangswert 2 = 100

Oder gibt es sowas bereits?

Gruss Thorsten

Nein. Es reicht aber pro „Skalierung“ ein Skript zu schreiben, wenn du ein paar Funktionen von IPS2 nutzt. Ein Beispiel für z.B. UpdateTime habe ich hier gepostet.

paresy

Hallo paresy

Danke für die Info, auf dieses Post bin ich bei meiner suche nicht gestoßen.

Ist aber trotz der Systemvariablen der V2 nicht so ganz einfach zu schreiben, vor allem nicht mit meinem php-Wissen :wink:

Wenn ich es nicht gebacken bekomme findet sich hier im Forum sicher jemand, der mir weiterhelfen kann. Aber erst mal versuche ich es selber…

MfG Thorsten

Hallo Thorsten,

die Skalierung ist mit PHP ganz einfach:

$Ausgangswert = (integer)($Eingangswert * 100);

Die Float-Variable $Eingangswert (0.0 … 1.0) wird mit dem von Dir gewünschten Endwert (100) multipliziert.
Das daraus entstandene Ergebnis ist wieder ein Float-Wert, der dann durch einen sogenannten Typecast „(integer)“ in einen Integer-Wert (ganze Zahl) umgewandelt wird.
Das Ergebnis dieser Umwandlung wird der Integer-Variablen $Ausgangswert zugewiesen. Diese enthält dann Werte im Bereich 0 … 100.
$Ausgangswert kannst Du dann für Deine Trackbar verwenden.

Gruß
HJH