Ich habe eine kleines Script gebastelt welches eine eingestellte Aktion ausführt sobald eine vorher definierte Ziffernabfolge eingegeben wurde. Ansätze finden sich im Forum ja bereits viele jedoch habe ich keine Lösung gefunden die für meine Bedürfnisse gepasst hat.
Das Skript ist wirklich nichts besonderes im vergleich zu den Werken die hier sonst teilweise zu finden sind. Aber vielleicht kann doch der ein odere andere damit etwas anfangen oder sich die arbeit eventuell etwas vereinfachen.
Zur Funktion des Skriptes:
Das Passwort besteht aus vier Ziffern. Wird eine falsche abfolge eingegeben, wird die Eingabe gelöscht. Bei der Richtigen Folge wird eine Aktion ausgeführt und ebenfalls danach die Eingabe wieder überschrieben.
Zur Funktion benötigt man lediglich vier String Variablen für die einzelnen Ziffern.
Edit: Ich habe gerade gesehen, dass hier das „ALT+255“ Zeichen als Stern umgesetzt wird. Das Sternschen sollte also in den Zeilen 42, 82, 90 und 99 dadurch ersetzt werden. (Kein Zeichen oder ein normales Leerzeichen sorgt dafür, dass sich die Höhe des Feldes leicht ändert.)
<?
// Variablenprofil fuer Integer Variable:
// 1-9 Ziffern, 10 wird als Wert 0 interpretiert. Alternativ kann auch die "0" als 0 verwendet werden. (-> Reihenfolge).
// 11 löscht die Eingabe.
// Sting Variablen der einzelnen Ziffern
$V1= 54417 ;
$V2= 38866 ;
$V3= 56038 ;
$V4= 20325 ;
//String Variable fuer Sternenfeld
$Stern = 36055;
//Passwort (1234)
$PW1=1;
$PW2=2;
$PW3=3;
$PW4=4;
//------------------------------------------------------------------------
$Z1 = GetValueString ($V1);
$Z2 = GetValueString ($V2);
$Z3 = GetValueString ($V3);
$Z4 = GetValueString ($V4);
$wert = "$IPS_VALUE";
if ($IPS_VALUE == 10)
{
$wert = "0";
}
if ($IPS_VALUE == 11)
{
SetValueString ($V1, "f");
SetValueString ($V2, "f");
SetValueString ($V3, "f");
SetValueString ($V4, "f");
SetValueString ($Stern, "*");
}
elseif ($Z1 == "f")
{
SetValueString ($V1, $wert);
SetValueString ($Stern, "*");
}
elseif ($Z2 == "f")
{
SetValueString ($V2, $wert);
SetValueString ($Stern, "**");
}
elseif ($Z3 == "f")
{
SetValueString ($V3, $wert);
SetValueString ($Stern, "***");
}
elseif ($Z4 == "f")
{
SetValueString ($V4, $wert);
SetValueString ($Stern, "****");
$Z1 = GetValueString ($V1);
$Z2 = GetValueString ($V2);
$Z3 = GetValueString ($V3);
$Z4 = GetValueString ($V4);
if ($Z1==$PW1 && $Z2==$PW2 && $Z3==$PW3 && $Z4==$PW4)
{
//Aktion bei richtigem Code....
WFC_SendNotification(55146 /*[Haupt]*/, 'Hinweis...', 'Code akzeptiert.', '', 0);
SetValueString ($V1, "f");
SetValueString ($V2, "f");
SetValueString ($V3, "f");
SetValueString ($V4, "f");
SetValueString ($Stern, "*");
}
else
{
SetValueString ($V1, "f");
SetValueString ($V2, "f");
SetValueString ($V3, "f");
SetValueString ($V4, "f");
SetValueString ($Stern, "*");
}
}
else
{
SetValueString ($V1, "f");
SetValueString ($V2, "f");
SetValueString ($V3, "f");
SetValueString ($V4, "f");
SetValueString ($Stern, "*");
SetValueString ($V1, $wert);
}
?>