TastenWert
AnzahlVersuche
tempCode
maxVersuche
timeout
timeout4
maxCodeLaenge
CodeAnwesend
CodeAbwesend
timeout2
timeout3
https://forum.iobroker.net/topic/4461/vorlage-flexible-pin-eingabe-mit-blockly/62
Einmalige Initialisierung bei Programmstart
Hier beginnt das Triggern
Beliebig erweiterbar
ne
javascript.0.Alarmsystem.PIN.Nummer_1
javascript.0.Alarmsystem.PIN.Nummer_2
javascript.0.Alarmsystem.PIN.Nummer_3
javascript.0.Alarmsystem.PIN.Nummer_4
javascript.0.Alarmsystem.PIN.Nummer_5
javascript.0.Alarmsystem.PIN.Nummer_6
javascript.0.Alarmsystem.PIN.Nummer_7
javascript.0.Alarmsystem.PIN.Nummer_8
javascript.0.Alarmsystem.PIN.Nummer_9
javascript.0.Alarmsystem.PIN.Nummer_0
javascript.0.Alarmsystem.PIN.Nummer_Raute
javascript.0.Alarmsystem.PIN.Nummer_Stern
Timer für zu lange Eingabepause stoppen
timeout
Nur ausführen wenn Eingabe nicht geblockt
NEQ
AnzahlVersuche
maxVersuche
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_1
TRUE
Die Eingabe an Funktion übergeben
1
javascript.0.Alarmsystem.PIN.Nummer_1
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_2
TRUE
2
javascript.0.Alarmsystem.PIN.Nummer_2
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_3
TRUE
3
javascript.0.Alarmsystem.PIN.Nummer_3
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_4
TRUE
4
javascript.0.Alarmsystem.PIN.Nummer_4
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_5
TRUE
5
javascript.0.Alarmsystem.PIN.Nummer_5
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_6
TRUE
6
javascript.0.Alarmsystem.PIN.Nummer_6
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_7
TRUE
7
javascript.0.Alarmsystem.PIN.Nummer_7
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_8
TRUE
8
javascript.0.Alarmsystem.PIN.Nummer_8
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_9
TRUE
9
javascript.0.Alarmsystem.PIN.Nummer_9
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_0
TRUE
0
javascript.0.Alarmsystem.PIN.Nummer_0
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_Raute
TRUE
#
javascript.0.Alarmsystem.PIN.Nummer_Raute
TRUE
250
ms
FALSE
FALSE
EQ
val
javascript.0.Alarmsystem.PIN.Nummer_Stern
TRUE
*
javascript.0.Alarmsystem.PIN.Nummer_Stern
TRUE
250
ms
FALSE
FALSE
javascript.0.Alarmsystem.PIN.Temp_Code
TRUE
275
ms
FALSE
tempCode
Initialisierung
Bei Programmstart Werte vorgeben.
AnzahlVersuche
0
tempCode
Maximale Fehlversuche festlegen
maxVersuche
3
Länge der Codes festlegen
maxCodeLaenge
4
Liste der Codes
Beliebig erweiterbar. Auf Länge achten!
CodeAnwesend
4321
CodeAbwesend
1234
getCode
Code pruefen
tempCode
TastenWert
log
*****Eingabe ->
tempCode
GT
abc
tempCode
maxCodeLaenge
Zuviele Eingaben
Eingabe löschen und Versuche hochzählen
log
*****Zuviele Zeichen*****
tempCode
EQ
tempCode
CodeAnwesend
Eingabe anwesend
javascript.0.Alarmsystem.PIN.Display
FALSE
FALSE
javascript.0.Alarmsystem.Alarm.Zielstatus
FALSE
0
javascript.0.Alarmsystem.Alarm.Warnung
FALSE
0
javascript.0.Alarmsystem.Alarm.schalten
FALSE
FALSE
log
Alarmanlage ausgeschalten
AnzahlVersuche
0
tempCode
PIN richtig
javascript.0.Alarmsystem.PIN.Hinweisfeld
FALSE
tempCode
timeout2
3
sec
tempCode
javascript.0.Alarmsystem.PIN.Hinweisfeld
FALSE
tempCode
EQ
tempCode
CodeAbwesend
Eingabe abwesend
javascript.0.Alarmsystem.PIN.Display
FALSE
TRUE
javascript.0.Alarmsystem.Alarm.Zielstatus
FALSE
1
javascript.0.Alarmsystem.Alarm.Warnung
FALSE
0
javascript.0.Alarmsystem.Alarm.schalten
FALSE
TRUE
log
Alarmanlage eingeschalten
AnzahlVersuche
0
tempCode
PIN richtig
javascript.0.Alarmsystem.PIN.Hinweisfeld
FALSE
tempCode
timeout3
3
sec
tempCode
javascript.0.Alarmsystem.PIN.Hinweisfeld
FALSE
tempCode
timeout
6000
ms
Wenn in 5 Sek. keine weitere Eingabe erfolgt
dann Eingabe löschen und Versuche hochzählen
tempCode
javascript.0.Alarmsystem.PIN.Hinweisfeld
FALSE
tempCode
chkVersuche
Fehlerhafte Eingaben zählen und Eingabe sperren wenn maxVersuche erreicht.
AnzahlVersuche
1
EQ
AnzahlVersuche
maxVersuche
log
*****Eingabe gesperrt*****
timeout4
5
sec
Nach 10 Sek. wieder frei
AnzahlVersuche
0
log
*****Eingabe entsperrt*****