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.