Vitotronic Binding, Optolink adapter, ! Trouble with communication to OptolinkInterface!


i build this optolink adapter direct connected to my RPI2.

After i connect my self build adapter i installed this software.

Now i try to start it with ./ everything should work expect the connection to my hardware.

I got this error message

17:11:30.398 [main] DEBUG d.m.optolink.OptolinkInterface <init> - Open TTY /dev/ttyAMA0 …

17:11:30.533 [main] DEBUG d.m.optolink.OptolinkInterface <init> - TTY /dev/ttyAMA0 opened

17:11:30.541 [main] DEBUG d.myandres.optolink.ViessmannHandler <init> - Init Handler for Protokoll 300 …

17:11:30.550 [main] DEBUG d.m.optolink.OptolinkInterface flush - Input Buffer flushed

17:11:42.588 [main] ERROR de.myandres.optolink.Viessmann300 startSession - !!! Trouble with communication to OptolinkInterface !!!

17:11:42.591 [main] ERROR de.myandres.optolink.Viessmann300 startSession - !!! Please check hardware !!!

17:11:42.593 [main] INFO d.myandres.optolink.ViessmannHandler <init> - Handler for Protocol 300 initalisiert

17:11:42.627 [main] DEBUG d.myandres.optolink.BroadcastListner <init> - Init Broadcast Listener on Port

17:11:42.630 [BcListner] DEBUG d.myandres.optolink.BroadcastListner run - Listening for Broadcast…

How can i solve this problem?

First of all, as indicated, you must check your hardware :

  • the connection between your RaspberryPi and your opolink
  • the correct place of photovoltaics sensors.

After that, did you check the protocol used by your vitotronic?
You could find bellow a list of device with their protocol.
I have made this list from a multiplicity of sources and she is not checked for all devices.
So you must take her carefully.

            <device ID="2053" name="GWG_VBEM" protocol="GWG" />
            <device ID="20A4" name="V200GW1" protocol="KW2" />
            <device ID="2094" name="V200 KW1" protocol="KW2" />
            <device ID="2098" name="V200 KW2" protocol="KW2" />
            <device ID="20B4" name="V050 HK1M" protocol="KW2" />
            <device ID="20AC" name="V050 HK1S" protocol="KW2" />
            <device ID="20AA" name="V050 HK1W" protocol="KW2" />
            <device ID="20AD" name="V050 HK3S" protocol="KW2" />
            <device ID="20AB" name="V050 HK3W" protocol="KW2" />
            <device ID="20A0" name="V100 GC1" protocol="KW2" />
            <device ID="2091" name="V100 KC2" protocol="KW2" />
            <device ID="2092" name="V150 KB1" protocol="KW2" />
            <device ID="20A4" name="V200 GW1" protocol="KW2" />
            <device ID="20A5" name="V300 GW2" protocol="KW2" />
            <device ID="209C" name="V300 KW23" protocol="KW2" />
            <device ID="20B8" name="V333 MW1" protocol="300,KW2" />
            <device ID="20B9" name="V333 MW1S" protocol="300,KW2" />
            <device ID="20BA" name="V333 MW2" protocol="300,KW2" />
            <device ID="20C0" name="VDensHC1" protocol="300,KW2" />
            <device ID="20C1" name="VDensHC2" protocol="300,KW2" />
            <device ID="20C2" name="VDensHO2" protocol="300,KW2" />
            <device ID="20C3" name="VDensHC1" protocol="300,KW2" />
            <device ID="20C4" name="VDensHC2" protocol="300,KW2" />
            <device ID="20C5" name="VPendHO1" protocol="300,KW2" />
            <device ID="20C6" name="VPlusHC1" protocol="300,KW2" />
            <device ID="20C7" name="VPlusHC2" protocol="300,KW2" />
            <device ID="20C8" name="VPlusHO1" protocol="300,KW2" />
            <device ID="20C9" name="VPlusHC1" protocol="300,KW2" />
            <device ID="20CA" name="VPlusHC2" protocol="300,KW2" />
            <device ID="20CB" name="VScotHO1" protocol="300,KW2" />
            <device ID="2047" name="VBC700_AW" protocol="300,KW2" />
            <device ID="2047" name="VBC700_BW_WW" protocol="300,KW2" />
            <device ID="2032" name="VBC700_BW_WW" protocol="300,KW2" />
            <device ID="2033" name="VBC550P" protocol="300,KW2" />

Does my problem also exist, if i use only the adapter without my oven?
I also can’t see the IR Led flashing (with my camera).

Sorry, I don’t understand what is your oven ?
I don’t surprise that you can’t see the IR Led flashing. For this you should use a very high frequency infra-red camera. I doubt you have one.

I used the word oven for my oil burner “vitoladens 300-c”.

Oh, i don’t know that the frequenz/bit rate is that high.

So this error message will also show up when i don’t plug the adapter on to my oil burner or has my adapter a problem?

Both cases can produce this error message :roll_eyes: .

Try to place your adapter in a better position and restart optolink.
Unless suceed after a lot of tries, you could think that your problem came from your adapter

I have also a vitoladens 300-c.
You could find bellow my optolink.xml

<?xml version="1.0" encoding="UTF-8"?>
Mapping for vitotronic/optolink addresses to openhab things.

channel id starts with '*' :
     -    will not send to openhab but it is posible to ask for this ID on the interface.
     -    is not implemented in openhab

Telegram types:
        BOOLEAN = 1 Byte -> boolean
        BYTE    = 1 Byte -> short
        UBYTE   = 1 Byte -> short
        SHORT   = 2 Byte -> int
        USHORT  = 2 Byte -> int
        INT     = 4 byte -> long
    UINT    = 4 Byte -> long
    DATE    = 8 Byte -> date (read only)

For more information about addresses and types see:


<optolink device="2033" id="300C" protocol="300">

     <adapterID>{{UNIQUE_ID}}</adapterID>        <!-- Unique ID on the Network-->
     <tty>/dev/ttyAMA0</tty>                 <!-- serial port of the optolink adapter-->
     <ttytimeout>2000</ttytimeout>           <!-- milliseconds for reading timeout tty -->
     <port>{{PORT}}</port>                      <!-- port for incoming communication. See also: -->

     <!-- Addressen die von diesem 'device' unterst�tzt werden -->

     <thing type="heating" id="300C">
          <description>Viessmann Vitoladens 300</description>
          <channel  id="*systemid">
               <description>System ID</description>
               <telegram address="00F8" type="short"/>
          <channel id="systemtime">
               <description>System Date and Time</description>
               <telegram address="088E" type="date" />
          <channel id="outside_temp">
               <description>Outside Temperature</description>
               <telegram address="5525" type="short" divider="10"/>
          <channel id="boiler_temp">
               <description>The furnace temperature of the burner boiler</description>
               <telegram address="0810" type="ushort" divider="10"/>
        <channel id="flowuprating">
                <telegram address="7660" type="boolean" />
     <!--# Puffer-StorageTank -->
     <thing type="storagetank" id="storagetank">
          <description>Hot Water Storage Tank an Buffer</description>
          <channel id="hotwater_temp">
               <description>Hot water temperatur on top of the buffer.</description>
               <telegram address="0812" type="short" divider="10"/>
        <channel id="hotwater_target">
                <description>Hot Water Target</description>
                <telegram address="6300" type="short"/>
          <channel id="circuitpump">
               <description>Cirulation Pump for Hot Water</description>
               <telegram  address="0845" type="boolean" />
    <!--# Kessel -->

    <!--# Burner -->
    <thing type="oilburner" id="oilburner">
          <channel id="starts">
               <description>Counts the number of starts sience first start of heating. </description>
                <telegram address="088A" type="ushort"/>
          <channel id="ontimelevel1">
               <description>On time of the burner 1 since first start of heating.  </description>
                <telegram address="08A7" type="uint" divider="3600"/>
          <channel id="ontimelevel2">
               <description>On time of the burner 2 since first start of heating.  </description>
                <telegram address="08AB" type="uint" divider="3600"/>
        <channel id="exhaust_temp">
                <description>The exhaust smoke temperature of boiler</description>
                <telegram address="0808" type="ushort" divider="10"/>
        <!--# Heizkreis 2 -->
    <thing type="circuit" id="circuit2">
          <description>Heading Circuit</description>
          <channel id="flowtemperature" >
               <description>Flow temperature</description>
               <telegram address="3900" type="short" divider="10"/>
          <channel id="pump">
               <telegram address="3906" type="boolean" />
           <channel id="operationmode" >
               <description>Operation mode (0,1,2,3).</description>
               <telegram address="3500" type="byte"/>
        <channel id="operationdata">
                <description>Operation data (0,1,2,3,4).</description>
                <telegram address="3323" type="byte"/>
        <channel id="inside_temp">
                <description>The inside temperature</description>
                <telegram address="0898" type="ushort" divider="10" />
          <channel id="savemode">
               <description>The savemode.</description>
               <telegram  address="3331" type="boolean"/>
          <channel id="partymode" >
               <telegram address="3330" type="boolean"/>
         <channel id="party_temp" >
               <description>Party temperature.</description>
               <telegram address="3308" type="byte"/>
         <channel id="room_temp" >
               <description>Room temperature.</description>
               <telegram address="3306" type="byte"/>
         <channel id="save_temp" >
               <description>Save temperature.</description>
               <telegram address="3307" type="byte"/>

For information, the correct log when optolink start normally :

    15:28:51.803 [main] INFO  de.myandres.optolink.Main main - Programm gestartet
    15:28:51.921 [main] INFO  de.myandres.optolink.Config <init> - File conf/optolink.xml open for parsing
    15:28:51.970 [main] INFO  de.myandres.optolink.Config setAdapterID - Set adapterID: VITOLADENS
    15:28:51.974 [main] INFO  de.myandres.optolink.Config setTTY - Set tty: /dev/ttyAMA0
    15:28:51.978 [main] INFO  de.myandres.optolink.Config setTtyTimeOut - Set TTY Timeout: 2000 Milliseconds
    15:28:51.982 [main] INFO  de.myandres.optolink.Config setPort - Set Socket Port: 31113
    15:28:52.110 [main] INFO  de.myandres.optolink.Config <init> - 4 Things are parsed
    15:28:53.111 [main] INFO  d.myandres.optolink.ViessmannHandler <init> - Handler for Protocol 300 initalisiert
    15:28:53.192 [main] INFO  de.myandres.optolink.SocketHandler start - Listen on port 31113 for connection

Thank you.

I tried it in a different position but without luck :frowning:

Which adapter do you use?

Do you also got this error message if you use your adapter without to plug in your oil burner?