Zitat von Sandman60
Beitrag anzeigen
Länge Payload
Den Payload kann ich Dir schnell erklären. Du verwendest beim Datenpaket die "home"-Variante. Ich habe einen Multi-REG (ArtNr 101163 multi SE REG 4) von eKey, da ich später mal mehrere Fingerprint-Sensoren anschliessen möchte, bzw. vier Ausgang-Relais haben wollte. Der braucht zwingend die "multi"-Variante, die im Gegensatz zur home-Variante noch weitere Informationen überträgt (u.a. noch Benutzername, Benutzerstatus, Schlüssel-IDs, ...). Daher ist der Payload dann auch entsprechend länger.
Triggern Logik
Da habe ich noch immer einen Knoten im Hirn. Egal, ob der Payload länger oder kürzer ist, er kommt doch am Plugin gar nicht vorbei, so wie ich es konfiguriert habe (und ich denke, das ist dieselbe Konfig wie bei Dir?).
Wenn ich mir das Plugin so genau ansehe (bin kein Entwickler, daher kann ich durchaus was übersehen), passiert doch folgendes:
- UDP-Paket wird vom eKey CV LAN auf einem bestimmten Port gesendet
etwa so: $ echo "1;0001;TOM;1;7;1;80207xxx;TUER;1;-" | nc -uw 1 XX.XX.XX.XX 56000` - Das Plugin ist entsprechend konfiguriert und schleust das alles erstmal an die Klasse durch und interpretiert u.a. den Payload
Code:[nw] class_name = Network class_path = plugins.network udp_acl= * port = 56000 udp = yes
- der UDPdispatcher erkennt die Verbindung
Code:2016-01-06 12:01:07,953 DEBUG Main UDPDispatcher: incoming connection from xx.xx.xx.xx:56000 to 0.0.0.0:56000-- __init__.py:handle_connection:109
- der Payload wird geparst und erwartet dabei aber drei Parameter wie dokumentiert "key|id|value"
- da der eKey nur "value" liefert und kein "key" und auch kein "id" mitliefert, interpretiert das Plugin das Paket als "unbekannt" und verwirft alles
Code:2016-01-06 12:01:07,959 INFO Main Ignoring input 1;0001;TOM ;1;8;1;80207xxxx;TUER;1;-. Format not recognized. -- __init__.py:parse_input:184[FONT=arial][/FONT]
- der UDPdispatcher erkennt die Verbindung
- damit ist erstmal Schluss und der UDP-Aufruf erreicht gar nicht erst die Logik-Ebene
Du musst also irgendwie einen Weg gefunden haben, den Payload direkt ohne Prüfung auf "key|id|value" an die Logik zu schicken!

Gruß,
Thomas.
Kommentar