Hi Leute,
kann mir einer sagen wo mein Fehler liegt ?
Vielen Dank
Matthias
$s = GetValue(59523 /[Homematic Jalousie Aktor\LEVEL]/);
If ($s<0 and >=19)
{SetValue(19029 /[Shutter Positionen\Status]/,1);}
If ($s<20 and >=39)
{SetValue(19029 /[Shutter Positionen\Status]/,2);}
If ($s<40 and >=69)
{SetValue(19029 /[Shutter Positionen\Status]/3);}
If ($s<70 and >=99)
{SetValue(19029 /[Shutter Positionen\Status]/,4);}
Ich weiss zwar auch nicht genau was Du machen möchtest, aber vielleicht hilft Dir ja das Beispiel…
If ($s<20)
{echo "Wert bis 19";}
If ($s>19 and $s<40)
{echo "Wert zwischen 20 und 39";}
If ($s>39 and $s<70)
{echo "Wert zwischen 40 und 69";}
If ($s>69 and $s<100)
{echo "Wert zwischen 70 und 99";}
Kann es sein, dass du dich mit dem „and“ vertan hast.
Value kann doch keine 2 verschiedene Werte gleichzeitig haben.
Du meinst bestimmt „or“, oder die >< Vergleiche passen nicht?!
hi zusammen,
die Ausgangsvariable soll in den Bestimmten fall gesetzt werden, wenn der Wert der Eingangs Variable zwischen einem der angegebenen Fälle liegt
hilft euch das ?
z.B. $s<0 and >=19
Wenn Die Eingangsvariable
zwischen größer 0 und kleiner gleich 19 ist soll dann die Ausgangs Variable den Wert 1 bekommen.
usw.
Mit if - elseif -elseif… gehts schicker, weil das Skript fertig ist, sobald im Durchlauf das erste elseif zutrifft. Aber da Schnelligkeit und Ressourcensparen hier nicht wirklich kritisch sind, ist’s letztlich egal.