Closed petero-dk closed 4 years ago
Btw. those indications are temperature readings from Vimar devices. My old setup used knxd which did actually work fine, it was not terribly stabile which is why I am pursuing using Calimero on the serial device directly instead of having knxd running also.
The message code f5
is a device mgmt message.
From what I see, the ft12 connection provides the frame as bytes, and the wrong factory is called (for EMI2, not the cEMI one). I missed that part in the patch somehow.
You can try in AbstractLink.java::onReceive
(untested, replace the last line with the following two):
final byte[] bytes = e.getFrameBytes();
return f != null ? f : cEMI ? CEMIFactory.create(bytes, 0, bytes.length) : CEMIFactory.fromEmi(bytes);
(Which should create the correct cEMI devmgmt object)
WUHUUUU
That did the trick. So I have just two questions.
I ask because once those two are enabled then I can actually create an OpenHab KNX Addon build with support for FT12 with Cemi and Baos :-)
The fix will be there short-term with the next few commits ;)
For your second point, I created a new issue because the ObjectServer protocol is actually lower-level protocol agnostic, and also to be easier to follow for interested readers.
Please add any discussion points, requests, your usage, etc. there. This helps because I personally do not use any BAOS features.
I have tried to use the latest Calimero with a kberry devices (on openhab) though openhab does not support the latest Calimero because it is based on Java 11 I have managed to get around that by crosscompiling it back to Java 8. That seems to work fine. It runs.
(I have also manually changed the source of Calimero to enable ft12 cemi and the baos specific command for mode switching)
However when I actually try to connect to the kberry I get lots of errors:
The first is:
Then the rest of my log file is littered with stuff like this
Which means I get nothing from the KNX network, however I can SEND to the knx network. That works just fine.
What would be a good way of proceeding with debugging here? Any tips?