KNX / EIB


BeoLiving Intelligence can interact with KNX systems by means of shared variables (group addresses).

Connection to a KNX system

BeoLiving Intelligence can connect to a KNX system by means of KNX data interfaces.

The supported interfaces are:

  • PEI type 10 (BCU2, with FT 1.2 protocol) over RS232 connection
  • IP tunnelling over Ethernet connection

PEI type 16 serial interfacing is not supported. PEI 10 bit rate is fixed at the default 19200 bps. The IP tunnelling interface could provide or not support for Bus Monitor Mode. In case Bus Monitor Mode is not supported, use Virtual Bus Monitor as a workaround checking the box “Use Virtual Bus Monitor” on Connection Settings.

Note on IP tunnelling: It is usually necessary to disconnect the ETS software from the IP tunnelling interface before BeoLiving Intelligence can connect to the system. Also, after disconnecting ETS, the interface can take several minutes before it accepts a new connection from BeoLiving Intelligence. The same considerations apply when switching back to ETS.

KNX resources

All the interaction between KNX and BeoLiving Intelligence is by means of group addresses. Group addresses have an associated datapoint type which identifies the type of data it holds (e.g. boolean, signed integer, etc.).

It is therefore necessary to define group addresses for all the resources intended for integration with BeoLiving Intelligence.

To be able to integrate KNX with BeoLiving Intelligence resources must be defined in BeoLiving Intelligence. BeoLiving Intelligence resources refer to one or more KNX resources and the way to map between BeoLiving Intelligence and KNX resources is the address.

A BeoLiving Intelligence resource address maps to one, two or three KNX group addresses. Group addresses have the form a/b/c (3 level address) or a/b (2 level). The default is the 3 level addresses, but both formats are accepted.

For resources mapping to two or three KNX resources the address contains group addresses spearated by a ‘:’ character.

For resources with state BeoLiving Intelligence keeps track of whether or not any state was received since the connection began, and sets the ONLINE state to false until some state is received from KNX. If ONLINE state stays false, it probably means the resource address is wrong.

Group address flags in ETS

There are several flags in the setup of KNX resources in an ETS project which determine the behaviour of the resources and their capabilities for integration with BeoLiving Intelligence.

The Communication Flag is the master switch for communication i.e. if this flag is not set, the object cannot be integrated with BeoLiving Intelligence.

The Read Flag enables the object value to be read by BeoLiving Intelligence. If not set, BeoLiving Intelligence can still notice when the value changes but cannot request its value, thus failing to get a correct state after a power failure or a configuration load.

When setting up a resource where the Read Flag is unset, select a resource type without state in BeoLiving Intelligence.

The Write Flag enables the object to be modified from BeoLiving Intelligence. If it is unset events can still be generated on BeoLiving Intelligence but there will be no possible command on the object.

The Transmit Flag enables the group address to send information to BeoLiving Intelligence, if unset the object will not notify events and neither can BeoLiving Intelligence request its state so for Read Flag to work this also must be set.

In BeoLiving Intelligence help and documentation, the abbreviations C, T, R and W are used for Communication, Transmit, Read and Write flags respectively.

Standard and non-standard resources

BeoLiving Intelligence supports two kinds of resources for KNX: standard BeoLiving Intelligence resources, and native KNX resources.

Standard BeoLiving Intelligence resources are: Toggle, Button, Dimmer with and without state, Shade with and without state, Thermostat 1SP, Thermostat 2SP, and GPIO.

Native KNX resource types are: Boolean, 1 byte unsigned integer, 1 byte signed integer, 2 Bytes unsigned integer, 2 Bytes signed integer and 3 bit controlled.

Standard resource types allow for better integration, offering more generic programming capabilities on BeoLiving Intelligence (generic programming), and better display on BeoLiving Intelligence user interfaces (web panel and mobile applications).

As a general rule try to avoid assigning the native resource types, unless you need macros with precise control over these group addresses.

System connection state

The KNX system connection state can be Offline, Connected, Connecting or Online. Offline means the KNX is not reachable. Connecting means the KNX system initialized the connection. Online means an interaction with the KNX system succeeded for at least one command/event/state request.

Resource types

Standard resource types

Resource type Std. type Comment
Toggle BUTTON Switch or any boolean toggle, and keeps track of its current value.
Button BUTTON Button with press, hold and release functionality.
Dimmer without state DIMMER Dimmer with set level functionality, but no feedback.
Dimmer DIMMER Dimmer with feedback of its current level.
Shade without state SHADE Shade with raise, lower and stop functionality, but no feedback.
Shade SHADE Shade with raise, lower, stop and feedback of its current level.
GPIO GPIO Switch, or any boolean value that can be set to true / false. Keeps track of its current value.
Thermostat 1SP THERMOSTAT_1SP Thermostat with a temperature and a setpoint states, and a set setpoint command.
Thermostat 2SP THERMOSTAT_2SP Thermostat with a temperature, a cool setpoint and a heat setpoint states and commands to set both setpoints.

Address

The following table summarizes the supported resource types, the KNX Datapoint Type code, the needed flags and group addresses.

Resource type DPT Address Group Address Needed Flags Comment
Toggle DPT 1.001 a/b/c or a/b/c:d/e/f a/b/c and d/e/f CRTW Some Toggle resources have value and status object in the same GA (a/b/c) or in a different GA (a/b/c and d/e/f). So in the last case, it's possible to specify the resource address as a/b/c:d/e/f [ 1 ]
Button DPT 1.001 a/b/c a/b/c CTW  
Dimmer without state DPT 5.001 a/b/c a/b/c CTW Dimmer value object GA.
Dimmer DPT 5.001 a/b/c:d/e/f a/b/c and d/e/f CTW (a/b/c) and CRT (d/e/f) Dimmer value object GA (a/b/c) and value status object (d/e/f). [ 1 ]
Shade without state DPT 1.007 and 1.008 a/b/c:d/e/f a/b/c and d/e/f CTW (both a/b/c and d/e/f) Shade 'StopStep UpDown' object GA (a/b/c) and 'Move UpDown' object GA (d/e/f).
Shade DPT 1.007, 1.008 and 5.001 a/b/c:d/e/f:g/h/i a/b/c, d/e/f and g/h/i CTW (a/b/c), CTW (d/e/f) and CRT (g/h/i) Shade 'StopStep UpDown' object GA (a/b/c), 'Move UpDown' object GA (d/e/f) and status object GA (g/h/i). [ 1 ]
GPIO DPT 1.001 a/b/c or a/b/c:d/e/f a/b/c and d/e/f CRTW Some GPIO resources have value and status object in the same GA (a/b/c) or in a different GA (a/b/c and d/e/f). So in the last case, it's possible to specify the resource address as a/b/c:d/e/f [ 1 ]
Thermostat 1SP DPT 9.001 a/b/c:d/e/f:g/h/i a/b/c and d/e/f CRT (a/b/c), CTRW (d/e/f) a/b/c is the temperature GA and d/e/f the setpoint temperature GA.
Thermostat 2SP DPT 9.001 a/b/c:d/e/f:g/h/i a/b/c, d/e/f and g/h/i CRT (a/b/c), CTRW (d/e/f) and CTRW (g/h/i) a/b/c is the temperature GA, d/e/f the heat setpoint temperature GA and g/h/i the cool setpoint temperature GA.
Boolean DPT 1.xxx a/b/c a/b/c CTW  
1 byte unsigned integer DPT 5.xxx a/b/c a/b/c CTW  
1 byte signed integer DPT 6.xxx a/b/c a/b/c CTW  
2 bytes unsigned integer DPT 7.xxx a/b/c a/b/c CTW  
2 bytes signed integer DPT 8.XXX a/b/c a/b/c CTW  
3 bit controlled 3.007 / 3.008 a/b/c a/b/c CTW  

Events

Event Argument Resource type Description
PRESS   Button Button press
RELEASE   Button Button release
HOLD   Button Button hold, depends on setup. Typically means holding a button for 200 ms or more.
SET Number All non standard Generated when the value is set.
SET_NON_ZERO   All non standard Generated when the value is set to a non zero one.

The value ranges for the native KNX resources are as follows:

Resource type Range
Boolean 0 .. 1
1 Byte unsigned integer 0 .. 255
1 Byte signed integer -128 .. 127
2 Bytes unsigned integer 0 .. 65535
2 Bytes signed integer -32768 .. 32767
3 Bit Controlled 0 .. 15 (0 to 7 setp size, add 8 for increase instead of decrease)

Commands

Command Argument Resource type Description
PRESS   Toggle Swaps the resource value
PRESS   Button Button press
RELEASE   Button Button release
SET 1..100 Dimmer, Dimmer without state Sets the level of the dimmer to a percentage
RAISE   Shade, Shade without state Starts raising the shade
LOWER   Shade, Shade without state Starts lowering the shade
STOP   Shade, Shade without state Stops shade motion
SET Boolean GPIO Sets the level of the GPIO
SET Resource range All non standard Sets the value of the resource.
SET SETPOINT [ 2 ] Thermostat 1SP Sets the setpoint to the given temperature
SET COOL SP [ 2 ] Thermostat 2SP Sets the cool setpoint to the given temperature
SET HEAT SP [ 2 ] Thermostat 2SP Sets the heat setpoint to the given temperature

Resource State

Resource type State Type Description
Toggle, GPIO STATE 0..1 Current value
Dimmer LEVEL 0..100 Current level in percentage
Shade LEVEL 0..100 Current level in percentage
Thermostat 1SP, Thermostat 2SP TEMPERATURE [ 2 ] Current ambient temperature.
Thermostat 1SP SETPOINT [ 2 ] Setpoint current value.
Thermostat 2SP HEAT SP [ 2 ] Heat setpoint current value.
Thermostat 2SP COOL SP [ 2 ] Cool setpoint current value.
Toggle, GPIO, Dimmer, Shade, Thermostat 1SP, Thermostat 2SP ONLINE true, false Indicates whether or not the other resource states reflect the state on KNX for the given address.

Importing and exporting KNX resources

KNX resources can be loaded from an ETS project using: 1) Group Address CSV export; and 2) OPC export (ESF).

  1. Group Address CSV export. On the Group Addresses view, right click over Group Addresses (root of the group addresses tree) and select the “Export Group Addresses” option to open the Export Group Address popup. Once in the popup select CSV as output format, “1/1 - Name/Address” as CSV format and comma as CSV separator.

  2. OPC export (ESF). On the main menu bar under “Extras” select “Export OPC” and leave the type unchanged (EIB session files (esf)). This is the preferred method, as it provides more complete information for importing into BeoLiving Intelligence.

On BeoLiving Intelligence’s resources screen, use the Import Resources button for adding resources from the ETS export file.