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).
-
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.
-
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.