Hi,
first of all, thank you for this really great project.
I would like to use it to connect my Homey App to the CCU. Currently I use either a combination of xmlrpc/binrpc to connect directly to the CCU or by using a special Node Red Flow and the mosquitto Addon.
The Node Red version works great, but is too complicated to implement for the users.
The direct connection uses too much memory on the Homey and can cause the App to crash.
Therefore I would really like to switch to your CCU-Jack. But that requires support for CUxD which unfortunately only supports binrpc.
I created an implementation for binrpc based on the great work by hobbyquaker who created a Node package for it.
The code is not the greatest yet, but maybe you are able to have a look at it. There were a a lot of changes required to existing code, but most of it is just because I extracted the Value and Query code into a model package which can then be shared between the xmlrpc and binrpc code.
Unfortunately the CUxD does not send any messages for new devices or other device changes. Only events are being sent. Therefore I added a call to list the devices on startup.
There was also a hack required because the interfaceID that is included in the event calls does not include the ID prefix. Right now I add it hardcoded.
Binrpc does not seem to differentiate between Int and I4 and also FlatString and String.
I can also create a pull request already if you like then we could discuss required changes in the PR.
I have not tested it on he CCU/RaspberryMatic yet, but it works, when I run it on my notebook.
I configured Go modules. Right now It is expected that go-hmccu module in located at ../go-hmccu when compiling the ccu-jack. That can easily be changed in the replace statement in the go.mod file.
Here are the links to my forked repos:
https://github.com/twendt/go-hmccu
https://github.com/twendt/ccu-jack
Regards,
Timo