Need help controlling my Vitotronic 200 KW2 in KW mode - solved

Hi all. Yesterday I managed to install the optolink adapter on my raspberry Zero W with openhabianpi.
It was a little difficult for me as I am no Linux Guru. So I want to quote my steps in case somebody needs that information.

For the quoted prerequisites I executed the following commands:
sudo apt-get install librxtx-java
sudo apt-get install libslf4j-java

Then I edited optolink.xml.

I found the codes for my System here:

and started to put them in. I corrected a typo in outside_temp

Then I edited start_debug.sh and put in my USB port.
Then I started it and its runs perfect.
I still have to figure out how to make it autostart.

Then I configured openhab. In order to display something you just have to add a line like that in your items file:

Number outside_temp “HZ Aussentemperatur” (GF_Boiler, gHeating)

Then you have to go to the paper_ui and install the binding. Discover it. Then after a while you get several things in your inbox. When you have added those you will see the channels, Then you have to klick the arrow down on the right side . Suddenly more information appears and now you can connect the channel to your item. You have to repeat that for every item.

So far it works well. Today I tested further and found the following problems.

There is a party mode switch and a savemode switch .
When I activate either switch in the Openhab User Interface the adapter seems to send it out,

18:42:35.374 [Thread-133] DEBUG de.myandres.optolink.SocketHandler run - Execute Thread for: 'set circuit1:savemode ON’
18:42:35.385 [Thread-133] DEBUG d.m.optolink.OptolinkInterface flush - Input Buffer flushed
18:42:38.034 [Thread-133] DEBUG de.myandres.optolink.SocketHandler run - Thread for: ‘set circuit1:savemode ON’ done

But the savemode is not activated on the heater.
If I activate the switch on the heater it gets updated in the openhab UserInterface after the next poll from openhab. I had to use the addresses from circuit2 3302 and 3303 . I edited Circuit 1 with these Addresses just to test. So dont get confused by the logs.

Now the next problem: The sending does not work

When I change the Party Switch on the Web Interface or the IOS App the Switch turns off and back on again by itself. The logs show the following:

2018-02-05 18:28:32.280 [vent.ItemStateChangedEvent] - partymode changed from ON to OFF

2018-02-05 18:28:32.375 [GroupItemStateChangedEvent] - gHeating changed from 31.42 to 31.25 through partymode

2018-02-05 18:28:36.121 [GroupItemStateChangedEvent] - gHeating changed from 31.25 to 31.42 through partymode

2018-02-05 18:28:36.181 [vent.ItemStateChangedEvent] - partymode changed from OFF to ON

2018-02-05 18:28:51.616 [ome.event.ItemCommandEvent] - Item ‘partymode’ received command OFF

2018-02-05 18:28:51.752 [GroupItemStateChangedEvent] - gHeating changed from 31.42 to 31.25 through partymode

2018-02-05 18:28:51.793 [vent.ItemStateChangedEvent] - partymode changed from ON to OFF

2018-02-05 18:28:54.077 [vent.ItemStateChangedEvent] - partymode changed from OFF to ON

2018-02-05 18:28:54.117 [GroupItemStateChangedEvent] - gHeating changed from 31.25 to 31.42 through partymode

here the agents log:

18:30:54.778 [Thread-81] DEBUG de.myandres.optolink.SocketHandler run - Thread for: ‘get circuit1 flowtemperature,savemode,partymode’ done
18:31:11.145 [Thread-83] DEBUG de.myandres.optolink.SocketHandler run - Execute Thread for: 'set circuit1:partymode OFF’
18:31:11.151 [Thread-83] TRACE de.myandres.optolink.SocketHandler exec - Queue Command: |set|
18:31:11.156 [Thread-83] TRACE de.myandres.optolink.SocketHandler exec - param1 : |circuit1:partymode|
18:31:11.160 [Thread-83] TRACE de.myandres.optolink.SocketHandler exec - param2 : |OFF|
18:31:11.167 [Thread-83] TRACE de.myandres.optolink.Config getThing - get thing id: circuit1
18:31:11.177 [Thread-83] DEBUG d.m.optolink.OptolinkInterface flush - Input Buffer flushed
18:31:13.181 [Thread-83] TRACE d.m.optolink.OptolinkInterface read - RxD: FFFFFFFF
18:31:13.184 [Thread-83] TRACE d.m.optolink.OptolinkInterface read - Timeout from TTY /dev/ttyUSB0
18:31:13.416 [Thread-83] TRACE d.m.optolink.OptolinkInterface read - RxD: 05
18:31:13.420 [Thread-83] TRACE d.m.optolink.OptolinkInterface write - TxD: 01
18:31:13.427 [Thread-83] TRACE d.m.optolink.OptolinkInterface write - TxD: F4
18:31:13.434 [Thread-83] TRACE d.m.optolink.OptolinkInterface write - TxD: 33
18:31:13.442 [Thread-83] TRACE d.m.optolink.OptolinkInterface write - TxD: 03
18:31:13.449 [Thread-83] TRACE d.m.optolink.OptolinkInterface write - TxD: 01
18:31:15.458 [Thread-83] TRACE d.m.optolink.OptolinkInterface read - RxD: FFFFFFFF
18:31:15.461 [Thread-83] TRACE d.m.optolink.OptolinkInterface read - Timeout from TTY /dev/ttyUSB0
18:31:15.465 [Thread-83] TRACE d.myandres.optolink.ViessmannHandler formatValue - Formating…
18:31:15.481 [Thread-83] DEBUG de.myandres.optolink.SocketHandler run - Thread for: ‘set circuit1:partymode OFF’ done

Maybe the timeout on the USB Port is the problem that the data is not sent. What can I do to debug that further ?
The agent runs on a Raspberry Zero W with openhabianpi.

OK after some more reading and searching I found that my issues are well known and that Forum User
Sried Olaf Bock has made the necessary corrections in the source code of the openlink adapter and he made a pull request on Github. .

Unfortunately the creator of the original software has not yet accepted that.
I would like to use the modified Version but as I am no software developper I am not able to figure out how I could create a modified source code and then compile it myself.

So I would like to ask if somebody who did this already could supply a jar file for my raspberry ?

Sried allowed me to use his version and it solved all my problems !! Thank you Sried.