I’m having trouble getting my ekey Multi to work with openHAB(2).
As described here: eKey binding compatible with OpenHab 2?
So, first of all my Hardware:
- ekey integra 2.0 Fingerprint Sensor (ekey articlenumber #101 326)
- ekey Multi SE REG 4 (#101 163)
- ekey CV LAN (100 460)
Software-configuration as described in the thread above:
my ekey.cfg:
# ip address of the eKey udp converter (optional)
ip=192.168.xx.xx
# port number for the UDP packets
port=21000
# mode can be RARE, MULTI or HOME depending on what your system supports - RARE is default
mode=MULTI
# the delimiter is also defined on the eKey udp converter - use the eKey configuration
# software to determine which delimiter is used or to change it.
# Not defining this is the same as " "
delimiter=#
my .items
String ekey_EG_Windfang_aktion "Letzte Aktion [MAP(ekey_action.map):%d]" <lock> (EG_Windfang) {ekey="action"}
My CV-LAN configuration:
// if CV LAN and ekey.cfg is set to "HOME or MULTI":
2016-11-20 19:38:01.524 [ERROR] [ing.ekey.internal.EKeyPacketReceiver] - Error parsing packet
java.lang.IllegalArgumentException: Invalid Packet! Converting String to Integer failed!
at at.fhooe.mc.schlgtwt.parser.MultiPacket.<init>(MultiPacket.java:96)[210:org.openhab.binding.ekey:1.9.0.201611200211]
at org.openhab.binding.ekey.internal.EKeyPacketReceiver.run(EKeyPacketReceiver.java:136)[210:org.openhab.binding.ekey:1.9.0.201611200211]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
Caused by: java.lang.NumberFormatException: For input string: "#0001"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)[:1.8.0_111]
at java.lang.Integer.parseInt(Integer.java:569)[:1.8.0_111]
at java.lang.Integer.valueOf(Integer.java:766)[:1.8.0_111]
at at.fhooe.mc.schlgtwt.parser.MultiPacket.<init>(MultiPacket.java:85)[210:org.openhab.binding.ekey:1.9.0.201611200211]
... 2 more
2016-11-20 19:38:01.532 [DEBUG] [ing.ekey.internal.EKeyPacketReceiver] - Received a packet that does not match the mode
you specified in the 'openhab.cfg'!
2016-11-20 19:38:06.700 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'RTR_EG_WoZi_HVAC_Status' from KNX bus: timeout waiting for group read response: timeout
2016-11-20 19:38:06.702 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '8/5/1' = '0'
2016-11-20 19:38:14.332 [ERROR] [ing.ekey.internal.EKeyPacketReceiver] - Error parsing packet
java.lang.IllegalArgumentException: Invalid Packet! Converting String to Integer failed!
at at.fhooe.mc.schlgtwt.parser.MultiPacket.<init>(MultiPacket.java:96)[210:org.openhab.binding.ekey:1.9.0.201611200211]
at org.openhab.binding.ekey.internal.EKeyPacketReceiver.run(EKeyPacketReceiver.java:136)[210:org.openhab.binding.ekey:1.9.0.201611200211]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
Caused by: java.lang.NumberFormatException: For input string: "#0000"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)[:1.8.0_111]
at java.lang.Integer.parseInt(Integer.java:569)[:1.8.0_111]
at java.lang.Integer.valueOf(Integer.java:766)[:1.8.0_111]
at at.fhooe.mc.schlgtwt.parser.MultiPacket.<init>(MultiPacket.java:85)[210:org.openhab.binding.ekey:1.9.0.201611200211]
... 2 more
2016-11-20 19:38:14.337 [DEBUG] [ing.ekey.internal.EKeyPacketReceiver] - Received a packet that does not match the mode
you specified in the 'openhab.cfg'!
// if CV LAN and ekey.cfg is set to "RARE":
2016-11-20 19:46:39.190 [ERROR] [ing.ekey.internal.EKeyPacketReceiver] - Error parsing packet
java.lang.IllegalArgumentException: Invalid Packet! Delimiter-match failed
at at.fhooe.mc.schlgtwt.parser.MultiPacket.<init>(MultiPacket.java:53)[210:org.openhab.binding.ekey:1.9.0.201611200211]
at org.openhab.binding.ekey.internal.EKeyPacketReceiver.run(EKeyPacketReceiver.java:136)[210:org.openhab.binding.ekey:1.9.0.201611200211]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]
2016-11-20 19:46:39.198 [DEBUG] [ing.ekey.internal.EKeyPacketReceiver] - Received a packet that does not match the mode
you specified in the 'openhab.cfg'!
after changing the protocol type a few times, I don’t get any entries in logfiles anymore, except if a bundle:stop - bundle:start
the ekey binding in the console:
2016-11-20 20:13:40.263 [DEBUG] [org.openhab.binding.ekey ] - BundleEvent STOPPING - org.openhab.binding.ekey
2016-11-20 20:13:40.286 [DEBUG] [org.openhab.binding.ekey ] - ServiceEvent UNREGISTERING - {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.ekey, component.name=org.openhab.binding.ekey.binding, component.id=213, service.id=364, service.bundleid=210, service.scope=bundle} - org.openhab.binding.ekey
2016-11-20 20:13:40.314 [DEBUG] [ab.binding.ekey.internal.EKeyBinding] - Stopping eKey listener...
2016-11-20 20:13:40.335 [DEBUG] [org.openhab.binding.ekey ] - ServiceEvent UNREGISTERING - {org.openhab.model.item.binding.BindingConfigReader, org.openhab.binding.ekey.EKeyBindingProvider}={component.name=org.openhab.binding.ekey.genericbindingprovider, component.id=214, service.id=363, service.bundleid=210, service.scope=bundle} - org.openhab.binding.ekey
2016-11-20 20:13:40.361 [DEBUG] [.binding.ekey.internal.EKeyActivator] - eKey binding has been stopped.
2016-11-20 20:13:40.367 [DEBUG] [org.openhab.binding.ekey ] - BundleEvent STOPPED - org.openhab.binding.ekey
2016-11-20 20:13:42.268 [DEBUG] [org.openhab.binding.ekey ] - BundleEvent STARTING - org.openhab.binding.ekey
2016-11-20 20:13:42.272 [DEBUG] [.binding.ekey.internal.EKeyActivator] - eKey binding has been started.
2016-11-20 20:13:42.277 [DEBUG] [org.openhab.binding.ekey ] - BundleEvent STARTED - org.openhab.binding.ekey
2016-11-20 20:13:42.358 [DEBUG] [org.openhab.binding.ekey ] - ServiceEvent REGISTERED - {org.openhab.model.item.binding.BindingConfigReader, org.openhab.binding.ekey.EKeyBindingProvider}={component.name=org.openhab.binding.ekey.genericbindingprovider, component.id=216, service.id=366, service.bundleid=210, service.scope=bundle} - org.openhab.binding.ekey
2016-11-20 20:13:42.372 [DEBUG] [org.openhab.binding.ekey ] - ServiceEvent REGISTERED - {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.ekey, component.name=org.openhab.binding.ekey.binding, component.id=215, service.id=367, service.bundleid=210, service.scope=bundle} - org.openhab.binding.ekey
Do I miss something important on either side (ekey configuration or openHAB2 configuration)?
I do use the ekey with my legacy smarthome.py - on a UDP-Level. I get the payload from the ekey CV LAN and split it manually in a logic (similar to rules in openHAB). Which works fine with MULTI protocol.
So here are the payloads I can get from the CV LAN via UDP (each payload is the same origin, same finger, …):
// Protocol: MULTI:
Payload = 1#0001#TOM #1#7#1#12345678901234#TUER#1#
// Protocol: HOME:
Payload = 1#0000#7#12345678901234#1#3
// Protocol: RARE:
yeah - it's BYTECODE.
Thanks for help!
Thomas.