KNX

From ago control wiki
(Difference between revisions)
Jump to: navigation, search
(Device configuration)
(Starting eibd)
Line 51: Line 51:
 
</pre>
 
</pre>
  
=== Starting eibd ===
+
=== Installing and Starting eibd ===
 +
Just install eibd package:
 +
apt-get install eibd-server
 +
 
 
When you want to use a local eibd instance, you need to start it first. These are quite common options for an IP KNX interface (assuming 1.2.3.4 for its address):
 
When you want to use a local eibd instance, you need to start it first. These are quite common options for an IP KNX interface (assuming 1.2.3.4 for its address):
 
  eibd -D -T -R -S -i -u ipt:1.2.3.4
 
  eibd -D -T -R -S -i -u ipt:1.2.3.4
 
You might also want to consider enabling group cache functionality. Just add the "-c" (or --GroupCache) flag to the eibd daemon to enable caching of group communication network state.
 
You might also want to consider enabling group cache functionality. Just add the "-c" (or --GroupCache) flag to the eibd daemon to enable caching of group communication network state.
 +
 +
==== eibd systemd startup ====
 +
If you want to run eibd as a systemd service you need to create following files. We need to check how to run eibd as non-root user in future.
 +
 +
'''/etc/eibd.conf'''
 +
<pre>
 +
# config file for eibd
 +
EIBD_OPTS="-D -T -R -S -i -u ipt:1.2.3.4"
 +
</pre>
 +
 +
'''/lib/systemd/system/eibd.service'''
 +
<pre>
 +
[Unit]
 +
Description=EIB Daemon
 +
After=network.target
 +
 +
[Service]
 +
EnvironmentFile=/etc/eibd.conf
 +
ExecStart=/usr/bin/eibd -d -p /var/run/eibd.pid $EIBD_OPTS
 +
Type=forking
 +
PIDFile=/var/run/eibd.pid
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
</pre>
 +
 +
'''/lib/systemd/system/eibd.socket'''
 +
<pre>
 +
[Unit]
 +
Conflicts=eibd.service
 +
 +
[Socket]
 +
ListenDatagram=6720
 +
 +
[Install]
 +
WantedBy=sockets.target
 +
</pre>
 +
 +
==== start the service ====
 +
systemctl start eibd.service
 +
 +
==== enable the eibd service at startup ====
 +
systemctl enable eibd.service
  
 
=== starting agoknx ===
 
=== starting agoknx ===

Revision as of 21:01, 14 May 2014

Contents

Dependencies

agoknx depends on eibd. You can install the original debian packages after adding the following to the sources.list:

deb http://www.auto.tuwien.ac.at/~mkoegler/debian/ eib main

We also provide packages on the ago control mirror. They are compiled without java and with the "only eibd" setting.

Package

Install the "agocontrol-knx" package.

Configuration

eibd connection

You can specify a connection URL for eibd with the following /etc/opt/agocontrol/conf.d/knx.conf snippet:

[knx]
url=ip:127.0.0.1:6720

This is already set as default when no setting is done via the config file.

Device configuration

The device configuration is done via a XML file named "/etc/opt/agocontrol/knx/devices.xml". You can override the path with a "devicesfile=..." entry in the /etc/opt/agocontrol/conf.d/knx.conf . This XML file defines the mapping between group addresses (GA) and ago control devices. The mapping is done like this:

<devices>
  <device uuid="5e4c10c2-05ab-46eb-ad9d-4dc39f4d4913" type="switch">
	<ga type="onoff">0/0/101</ga>
	<ga type="onoffstatus">0/0/102</ga>
  </device>
  <device uuid="4b568cb7-26be-4486-ad7e-0a16f9915162" type="drapes">
	<ga type="onoff">0/0/33</ga>
	<ga type="setlevel">0/0/32</ga>
	<ga type="levelstatus">0/0/31</ga>
	<ga type="stop">0/0/34</ga>
  </device>
  <device uuid="c2a3628b-5da3-4c7a-a926-aae2218baa74" type="dimmer">
	<ga type="onoff">0/4/0</ga>
	<ga type="setlevel">0/7/0</ga>
	<ga type="levelstatus">0/6/10</ga>
  </device>
  <device uuid="b7e9ac90-032c-45e2-969d-382f84f3de11" type="multilevelsensor">
	<ga type="temperature">3/0/0</ga>
  </device>
  <device uuid="26f43f6e-3b4c-43ad-ba57-8e88102d2680" type="multilevelsensor">
        <ga type="brightness">3/0/1</ga>
  </device>
  <device uuid="a8d8a6da-097d-40f1-a655-9bb917e7d491" type="binarysensor">
        <ga type="binary">3/0/1</ga>
  </device>
  <device uuid="a8fa5922-f8c0-43fe-8257-2cf9c8209e14" type="multilevelsensor">
	<ga type="energy">4/1/2</ga>
  </device>
  <device uuid="ff13c8d5-98c7-4b6e-b88f-3e543cfe963a" type="multilevelsensor">
	<ga type="energyusage">4/7/2</ga>
  </device>

</devices>

Installing and Starting eibd

Just install eibd package:

apt-get install eibd-server

When you want to use a local eibd instance, you need to start it first. These are quite common options for an IP KNX interface (assuming 1.2.3.4 for its address):

eibd -D -T -R -S -i -u ipt:1.2.3.4

You might also want to consider enabling group cache functionality. Just add the "-c" (or --GroupCache) flag to the eibd daemon to enable caching of group communication network state.

eibd systemd startup

If you want to run eibd as a systemd service you need to create following files. We need to check how to run eibd as non-root user in future.

/etc/eibd.conf

# config file for eibd
EIBD_OPTS="-D -T -R -S -i -u ipt:1.2.3.4"

/lib/systemd/system/eibd.service

[Unit]
Description=EIB Daemon
After=network.target

[Service]
EnvironmentFile=/etc/eibd.conf
ExecStart=/usr/bin/eibd -d -p /var/run/eibd.pid $EIBD_OPTS
Type=forking
PIDFile=/var/run/eibd.pid

[Install]
WantedBy=multi-user.target

/lib/systemd/system/eibd.socket

[Unit]
Conflicts=eibd.service

[Socket]
ListenDatagram=6720

[Install]
WantedBy=sockets.target

start the service

systemctl start eibd.service

enable the eibd service at startup

systemctl enable eibd.service

starting agoknx

You can start agoknx via systemctl:

systemctl start agoknx.service

Don't forget to enable it when it shall start automatically on reboot:

systemctl enable agoknx.service

You can also start it manually, just execute it:

/opt/agocontrol/bin/agoknx
Personal tools