Short step-by step instruction for setting-up operation of the Linux EIB server

  1. At first you need a ready projected EIB installation,
    i.e. installed devices with already programmed (with the EIB Tool Software/ETS) applications, parameters, group addresses etc.
  2. Install the software, i.e.
    Please read also the Readme (eibcontrol/README)
  3. Setup database:
    Now the exemplary XML file eibcontrol/homeserver/eibdb.xml must be adapted to the concrete EIB installation.
    The XML file must contain entries for all group addresses which should be controlled with the EIB server.
    We explain the format with the help of an example:
    If one has only one Eib device "lamp" with the group address 0/0/1 of EIS type 1 (Switching), and the lamp is switched off (value 0), then one inserts in the XML file "eibdb.xml" the following:

    <node name="eib">
     <node name="groups">
      <node name="0">
       <node name="0">
        <node name="1">
         <node name="valuelength">1</node>
         <node name="eistype">1</node>
         <node name="curvalue">0</node>
        </node>
       </node>
      </node>
     </node>
    </node>

    The entries for "curvalue" and "eistype" are required, all others optional.
    Extension of the example:
    If one complements the amount of devices with an EIB-Shutter
    with group address 14/0/161,
    default value 0,
    minimum and maximum values 0 and 1,
    actual value 1,
    EIS type 7 (drive control), i.e.
    length of the value 1,
    then the whole XML file "eibdb.xml" looks as follows:

    <node name="eib">
     <node name="groups">
      <node name="0">
       <node name="0">
        <node name="1">
         <node name="valuelength">1</node>
         <node name="eistype">1</node>
         <node name="curvalue">0</node>
        </node>
       </node>
      </node>
      <node name="14">
       <node name="0">
        <node name="161">
         <node name="defvalue">0</node>
         <node name="minvalue">0</node>
         <node name="maxvalue">1</node>
         <node name="valuelength">1</node>
         <node name="eistype">7</node>
         <node name="curvalue">1</node>
        </node>
       </node>
      </node>
     </node>
    </node>

    The Node with name "groups" contains all group addresses.
    One finds further examples in the XML file /eibcontrol/homeserver/eibdb.xml
  4. Connect the Linux PC with the EIB bus by a FT1.2 protocol compatible bus coupling unit (BCU2).
    Connect the BCU2 to the serial interface (RS232) of the PC.
    Insert the device, e.g. /dev/ttyS0, into the startscript of the EIB server/eibcontrol/eibcontrol.
    Change therefore if necessary the line BCU2DEVICE=/dev/ttyS0 accordingly.
  5. Start the EIB server with the following command: ./eibcontrol start
    You can stop the server with: ./eibcontrol stop
  6. If everything runs, one can control the devices corresponding to group addresses registered in the XML file in theory via the EIB server.
    But therefore you must write a program (please refer to /eibcontrol/Linux-EIB-Home-Server.doc or http://eibcontrol.sourceforge.net/Linux-EIB-Home-Server.htm).
    One can control the EIB devices, however, also simply about a web browser like mozilla or IE.
    You must generate a HTML page containing appropriate Java Script comands.
    In the directory eibcontrol/homeserver/web one finds some examples,
    e.g.,/eibcontrol/homeserver/web/lightcontrol.html for the control of a lamp of group address 2/0/1.
    The following Java Script command switches the lamp on:
    location= 'http://192.168.169.51:8080/eibhomeserver?instruction=<eib type="write" path="/eib/groups/2/0/1/curvalue" data="1"/>';
    One must substitute 192.168.169.51 with the IP address of the Linux EIB server PC.
    In the example above the file /eibcontrol/homeserver/web/lightcontrolo.html contains the corrsponding order.
    All examples provided with eibcontrol contain the hostname "homeserver" instead of IP addresses. If one might use such names, one must enter suitable entries in the file /etc/hosts.
    One finds the precise syntax of the http interface of the Linux EIB Server in its documentation (/eibcontrol/Linux-EIB-Home-Server.doc oder http://eibcontrol.sourceforge.net/Linux-EIB-Home-Server.htm).
    One can use the HTML page also in browsers on other PCs in the network and switch on and off from there the lamp.
    Browser type and operating system are no matter, but JavaScript must be enabled.
  7. Read the documentation and write an application.