Domotiga/EIB

KNX / EIB Support

Support for the KNX/EIB protocol is build by Timo. It works together with a daemon called 'eibd' which communicates with the hardware, so you need to install this, see below how to do that.

Devices of type EIS1 (On/Off), EIS2 (Dim), EIS3 (Time) and EIS4 (Date) are supported at this time.

Connect to the EIB

If you want to communicate with the EIB, you have two main possibilities.

You can install a BCU1 kernel driver from here  eibdriver on your Linux machine and talk directly to that driver.

Or you can install an eibd and talk to this daemon via network. This is what Gambas KNX/EIB module does.

eibd can use several back-ends, i.e. ways to communicate with the EIB. The most important here is the PEI16 communication which uses the same kernel driver as above or the PEI10 communication which needs a BCU2, but works very reliable.

Please see the documentation on  eibd for more information about eibd and its back-ends.

Install prebuild eibd package

If you run Ubuntu you can install prebuild software the easy way, just visit  eib packages And add the sources, install the pgp key and packages as describes there.

Build eibd

The bcusdk is made to develop software for BCUs. If you only want to use eibd please follow the following guide to create eibd only. Do everything as root.

$ mkdir ~/install/eib
$ cd ~install/eib

$ wget http://www.auto.tuwien.ac.at/%7Emkoegler/pth/pthsem-2.0.5.tar.gz
$ tar xvzf pthsem-2.0.5.tar.gz
$ cd pthsem-2.0.5
$ sudo ./configure ; make install

$ wget http://www.auto.tuwien.ac.at/%7Emkoegler/eib/bcusdk-0.0.1.tar.gz
$ tar xvzf bcusdk-0.0.1.tar.gz
$ cd bcusdk-0.0.1
$ sudo ./configure --enable-onlyeibd --enable-ft12 --enable-pei16 --enable-eibnetip --enable-eibnetipserver
$ sudo make install

Start eibd

To start eibd to allow connections via network; using ft12 backend (BCU2 only):

$ sudo eibd -i ft12:/dev/ttyS1 -S -D

Be aware that it may be unsecure to allow connections to eibd from the internet!

Try it from shell command prompt. You could check the functionality of your EIB from the command line through the following command:

  • Display any received EIB Messages on Console:
    $ vbusmonitor1 ip:127.0.0.1  (IP of the host of your eibd daemon)
    
  • Set a group address (use one of your actors)
    $ groupswrite ip:127.0.0.1 1/2/3 0  (1/2/3 is the Group Address) (0/1 is on or off)
    

Common Problems

If you don't get the current status (or any messages) back from the EIB Bus (if you connecting to a USB EIB Interface) the following commands may help to fix it:

  • Stop "eibd" deamon
    $ bcuaddrtab -w 0 usb:2:3 (you have to use your USB address of the EIB connection)
    
  • Start "eibd" daemon

Resources