Moin moin - iFront nehme ich gerne als „Universalfernbedienung“. Einerseits ist es ja sehr praktisch, dass ich damit auch die Keymatic bedienen kann, aber für diese Instanz (und andere kiritische Instanzen) hätte ich gerne eine Passwort-Absicherung. Lässt sich sowas realisieren?
Moin
Hab zwar kein Ifront aber fürs Webfront gabs mal ein Beispiel dafür.
Hab ich mir für meine Keymatic angepasst und vielleicht hilfts dir ja.
Du musst dafür eine Pinvariable angelegen mit dem Variablen Profil z.B. 0-10 (kann man natürlich auch mit weniger/mehr Zahlen/Buchstaben machen) die 10 hab ich als zurücksetzten/löschen angedacht.
Die Variable mit einem Skript verbinden und dahinein kommt dann das hier:
<?
$code = "0815"; //hier Code einstellen
if ($IPS_SENDER == "WebFront")
{
SetValue(32736 /*[EG\WF\KEYMATIC\Pin]*/, $IPS_VALUE); //Damit man im Webfront sieht was man gedrückt hat
if($IPS_VALUE==10) //10 ist im Webfront C
{
$pin = ""; //pin löschen
}
else //eingabe 0-9
{
$pin=getvalue(13765 /*[EG\WF\KEYMATIC\Tür öffnen\Pinzusammen]*/); //schon eingegebene Pins auslesen
$pin.=$IPS_VALUE; //neue Pinnummer dranhängen
IPS_SetScriptTimer($IPS_SELF,30); //TImer auf 30 sek. siehe unten Timerevent
}
setvalue(13765 /*[EG\WF\KEYMATIC\Tür öffnen\Pinzusammen]*/,$pin); //neuen Pin speichern
}
if (strlen($pin)>3) //wenn Pin Vollständig
{
if ($pin == $code) // prüfen, ob Eingabe korrekt ist
{
HM_WriteValueBoolean(58485 /*[EG\WF\KEYMATIC]*/, "OPEN" , true); //Keymatic aufschließen
print "Code Richtig";
}
else // Eingabe ist falsch
{
print "falsches Passwort";
}
setvalue(13765 /*[EG\WF\KEYMATIC\Tür öffnen\Pinzusammen]*/,""); //Pin löschen
SetValue(32736 /*[EG\WF\KEYMATIC\Pin]*/, 10); //Variable im Webfront wieder auf "C" setzen
}
if ($IPS_SENDER == "TimerEvent") //Pin nach 30Sec. ohne eingabe zurücksetzen
{
setvalue(13765 /*[EG\WF\KEYMATIC\Tür öffnen\Pinzusammen]*/,"");
IPS_SetScriptTimer($IPS_SELF,0); //Timer löschen
SetValue(32736 /*[EG\WF\KEYMATIC\Pin]*/, 10);
}
?>
Musst noch einen Varible anlegen wo IPS die bisher eingegebenen Pins ablegt. Bei mir 13765 /[EG\WF\KEYMATIC\Tür öffnen\Pinzusammen]/ und die orginal Variable zum Schalten im Webfront ausblenden lassen.
Gruß Jannis
Danke, Jannis. Hab das Skript gerade installiert, läuft noch nicht ganz so, wie es soll, ist aber ein super Ansatz. Werde am WE noch so ein oder zwei Details anpassen, dannn läuft es.
nette Grüße, Sven
tolle idee, hab ich jetzt auch mal so eingebaut.
blos bei den variablen bin ich mir nich sicher ob integer float oder string.
die erste hab ich als integer variable und die zweite wo der code gespeichert
wird ging nur mit string variable. ich hoff des is richtig so, aber bis jetzt läufts :o
gruß basti
Oder das hier.
Ein klein wenig mehr Aufwand, funktioniert aber ganz gut.