hi pim555
the problem is here:
https://github.com/genielabs/zwave-lib-dotnet/blob/master/ZWaveLib/ZWaveMessage.cs#L1622015-11-25 22:50:13.6330 Debug 01-0A-00-13-04-03-20-01-FF-05-15-2F
2015-11-25 22:50:13.6386 Debug 06
2015-11-25 22:50:13.6393 Debug 01-04-01-13-01-E8
2015-11-25 22:50:13.6405 Debug 06
2015-11-25 22:50:13.6412 Trace SendDataReady
2015-11-25 22:50:13.7424 Debug 01-07-00-13-15-00-00-02-FC <-- there are extra 2 bytes in the response
2015-11-25 22:50:13.7437 Debug 06
ZWaveLib is expecting to get a message of 7 bytes for reading the callback status (byte 6 = 0x00 = OK).
But fibaro is replying with a message that is 9 bytes.
I don't have any Z-Wave protocol specifications so I don't know how to parse a ZWave message and the code above is built on the data received from my z-wave devices.
This is the sequence with one of my switches:
2015-11-25 23:56:38.2780 Trace [[[ BEGIN REQUEST ]]]
2015-11-25 23:56:38.2780 Trace WaitAck
2015-11-25 23:56:38.2780 Trace Sending Message (Node=7, CallbackId=21, Function=SendData, CommandClass=Basic)
2015-11-25 23:56:38.2790 Debug 01-0A-00-13-07-03-20-01-FF-05-21-18
2015-11-25 23:56:38.2855 Debug 06-01-04-01-13-01-E8
2015-11-25 23:56:38.2863 Debug 06
2015-11-25 23:56:38.2863 Trace SendDataReady
2015-11-25 23:56:38.3870 Debug 01-05-00-13-21-00-C8 <-- 7 bytes as expected
2015-11-25 23:56:38.3870 Debug 06
2015-11-25 23:56:38.3870 Trace Complete
2015-11-25 23:56:38.3885 Trace [[[ END REQUEST ]]] took 110 ms
Fixing that code will probably solve issues with ZWaveLib.
I would change line
171 like this
else if (Function == ZWaveFunction.SendData && (message.Length == 7 || message.Length == 9))
hoping it will not screw up something else
If you don't have development enviroment installed and can't compile ZWaveLib on your own to test, I will compile it for you and attach the file here so you can test.
Cheers,
g.