EIB / KNX - a short intruduction

“KNX is a standardised (EN 50090,ISO/IEC 14543), OSI-based network communications protocol for intelligent buildings. KNX is the successor to, and convergence of, three previous standards: the European Home Systems Protocol (EHS), BatiBUS, and the European Installation Bus (EIB). The KNX standard is administered by the Konnex Association.” – wikipedia

Now to the part involving linux ;-)

KNX/EIB isn't as open as they claim on http://konnex.org. It is open for those who are willing to join Konnex for a fee. (http://www.knx.org/knx-members/joining-fees/)

Anyway, there are also some (real) open projects licensed under GPL. One of them is eibd which gives you quite a bunch of functions for handling EIB/KNX.

Installing eibd

eibd features

  • --enable-onlyeibd
  • --enable-ft12
  • --enable-pei16
  • --enable-tpuart
  • --enable-pei16s
  • --enable-tpuarts
  • --enable-eibnetip
  • --enable-eibnetiptunnel
  • --enable-eibnetipserver
  • --enable-usb

by hand

  1. install pthsem (/usr/lib)
    wget 'http://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem-2.0.7.tar.gz'
    tar -zxf pthsem-2.0.7.tar.gz
    cd pthsem-2.0.7
    ./configure --with-prefix=/usr
    make && make install
  2. install eibd (/usr/local/bin/), don't forget to enable the features you need
    wget 'http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_0.0.4.tar.gz'
    tar -zxf bcusdk_0.0.4.tar.gz
    cd bcusdk_0.0.4
    ./configure --enable-onlyeibd --enable--...
    make && make install

gentoo (for the lazy ones ;-) )

  1. install layman
    emerge layman
  2. add erazor-zone.de portage
    layman -a erazor -o ftp://scponly:scponly@erazor-zone.de/portage/layman.xml
  3. add the overlay in make.conf
    echo 'PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/portage/local/layman/erazor/"' >> /etc/make.conf
  4. install eibd (it will also install pthsem)
    emerge eibd


  • eibnetiptunnel
    include EIBnet/IP Tunneling client, supported by nearly all EIBnet/IP devices.
  • eibnetip
    include EIBnet/IP Routing client. Not every KNX-IP device supports this protocol.
  • ft12
    serial interface (BCU2)
  • pei16
    serial interface support (BCU1 via kernel driver)
  • pei16s
    serial interface support (BCU1 via normal serial driver), very,very experimental
  • usb
    add support for USB based KNX interfaces to eibd and add usbutils
  • tpuarts
    another serial interface (via normal serial driver)
  • tpuart
    another serial interface (via kernel driver). Normal users should use tpuarts.
  • eibnetipserver
    also provide KNX-IP services (act as EIBnet/IP server)
  • groupcache
    store recent group-values
  • python
    install python bindings
  • tools
    install usermode utilities

command line examples

start eibd for reading/writing group-adresses via EIBnet

I'm using a SIEMENS Gamma 146 IP-Router for the access (IP multicast via

eibd -i ip:

start listen for writes on a groupaddress

grouplisten ip: 1/1/3

start listen for writes on all groupaddresses

groupsocketlisten ip:

send a command

groupswrite ip: 1/1/1 1


wiki/projects/linux/eib.txt · Last modified: 2009/01/09 22:27 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki