KNX protocol

KNX protocol

KNX protocol

Supported device types and versions 
Communication line configuration
Line protocol parameters
Communication station configuration
I/O tag configuration
Literature
Changes and modifications
Document revisions

Supported device types and versions


The KNX protocol is an open standard used in building automation. The KNX implementation uses the Falcon SDK developed by the KNX association. Since this SDK is developed in C#, the connection to the D2000 KOM process is handled by a separate module d2knx, which by default is located in the protdll directory and communicates with the D2000 KOM process via a TCP connection.

As of D2000 v23, the protdll directory contains subdirectories:

  • knx5 - contains the d2knx module using Falcon SDK 5 (5.7.426)

  • knx6 - contains the d2knx module using Falcon SDK 6 (6.1.6264)


For each communication line on which there are stations with KNX protocol, it is necessary to run one instance of the d2knx module, which requires a separate KNX interface. The KNX interface can be connected via the USB interface or can be accessed via a network based on its IP address.

Note on the d2knx module:

The d2knx module is an application that needs ".NET Core 3.1" (https://dotnet.microsoft.com/en-us/download/dotnet/3.1) installed to run. We recommend that you test its functionality by running it manually from the command line.
When started without parameters, it displays help and a list of available KNX USB devices and then exits.
The required parameters are:

  • IP address - the address on which d2knx listens (e.g. 127.0.0.1 or 0.0.0.0 or the specific IP address of the computer where the d2knx module is running, e.g. 172.16.0.1)

  • port - TCP port on which d2knx is listening

  • debug - an optional parameter that activates output of auxiliary debug info

Examples of manually running d2knx:

  • d2knx 127.0.0.1  4011 debug

  • d2knx 0.0.0.0  4012

Example output (if start without parameters):

EIB/KNX interface module
(c) 2020 Ipesoft
Usage : knx ListenIP ListenPort [debug]
Example: knx 127.0.0.1 4011
Available interfaces:
Device 0 Path \\?\hid#vid_16d0&pid_0490#6&34ad9346&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, Name Tapko USB Interface

Communication line configuration


  • Communication line category: TCP/IP-TCP.

  • The IP address is the address where the d2knx module listens. If the d2knx module is started by the D2000 KOM process, the recommended address is 127.0.0.1 (localhost). It is possible to run the d2knx module on a remote computer, in which case the IP address of the remote computer must be configured.
    Note: it is possible to configure multiple IP addresses (separated by a comma or semicolon). Thus, in redundant D2000 systems, it is possible to configure the connection of the D2000 KOM process, e.g. to independently running d2knx modules (each of which is running on one of the application servers), which ensures communication functionality in case of failure of the KNX USB adapter on one server without the need to switch D2000 redundancy.

  • The port number is the TCP port number on which the d2knx module listens. You can select any free port (1-65535).

  • The line number is unused, set the value to 0.

Line protocol parameters


A dialog window of communication line configuration - Protocol parameters tab.
They influence some optional protocol parameters.

The following line protocol parameters are defined:

Parameter

Meaning

Unit / Size

Default value

Parameter

Meaning

Unit / Size

Default value

KNX Driver Program

Configuration of starting the d2knx module by the D2000 KOM process. If this parameter is empty, the d2knx module will not be started (another starting mechanism is assumed).

The parameter contains the following symbolic names:

  • # PROTDIR # - Upto version D2000 v22, it will be replaced by the path to the protdll directory in the D2000 installation, where d2knx is located by default (e.g. D:\D2000\D2000.EXE\protdll)
    Starting with version D2000 v23, due to the support of several Falcon SDK versions (5 and 6), new symbolic names #PROTDIR5# and #PROTDIR6# are created, which are replaced by the path to the directories protdll\knx5 or protdll\knx6, replacing #PROTDIR# with protdll\knx5 (e.g. D:\D2000\D2000.EXE\protdll\knx5).

  • # BINDIR # - it will be replaced with the path to the bin directory (bin64 in the 64-bit version of D2000 on Windows) in the D2000 installation

  • # HOST # - it will be replaced by the IP address configured on the line (in case of the configuration of several IP addresses, these will be used alternately)

  • # PORT # - it will be replaced by the TCP port number configured on the line

Note: The protdll directory also contains sample startup scripts for Windows (d2knx.bat) and Linux/Raspberry PI (d2knx).

-

#PROTDIR#d2knx #HOST# #PORT#

KNX Interface Type

Type of KNX adapter that the d2knx module opens and with which it communicates via the KNX bus:

  • USB interface by position - from the list of available KNX USB devices, the device at the position defined by the KNX Interface ID parameter (number 0, 1, 2, etc.) is selected

  • USB interface by name - a device whose name contains the text entered by the KNX Interface ID parameter (e.g. "Tapco") is selected from the list of available KNX USB devices

  • USB interface by path - from the list of available KNX USB devices, a device whose path contains the text specified by the KNX Interface ID parameter is selected (e.g. "4d1e55b2")

  • IP interface (IP address, port, protocol, NAT) - the device whose IP address is in the KNX Interface ID parameter is used

-

USB interface by position

KNX Interface ID

Identification of the KNX adapter to be opened, which depends on the selected KNX interface type - see the description of the KNX Interface Type parameter. This can be the serial number of the USB interface, part of its name or path, or the IP address of the KNX router.

-

0

IP Interface Port

If KNX Interface ID = "IP interface", then this parameter specifies the port number (TCP or UDP) on which the KNX router communicates. The default port number is 3671.

-

3671

IP Interface Protocol

If KNX Interface ID = "IP interface", then this parameter indicates whether UDP or TCP protocol is used for communication with the KNX router:

  • Automatic - automatic detection (default)

  • UDP - UDP protocol will be used

  • TCP - TCP protocol will be used

Automatic
UDP
TCP

Automatic

IP Interface NAT

If KNX Interface ID = "IP interface" and communication goes via the UDP protocol, this parameter specifies whether address translation (NAT) is to be used for communication.

YES/NO

NO

KNX Interface Address (x.y.z)

KNX address that can be set on the KNX interface after opening it. If not specified, the existing KNX interface address is used.
The KNX address has the format area.line.device (e.g. 1.3.99) where the area is 0..15, the line is 0..15, and the device is 0..255.
Note: if secure communication is used (see Security Keys and Security Password parameters) and KNX Interface Type=IP interface, it is necessary to specify the KNX address.

-

-

Security Keys

The name of the security key file. If secure group communication is used, this file (so-called keyring file - * .knxkeys) can be exported from the ETS configuration tool, which is available on the KNX asociácie's website.

The parameter contains the following symbolic names:

  • # APPDIR # - it will be replaced by the path to the application directory (e.g. D:\D2000\D2000.APP\myapp\)
    Examples:
    #APPDIR#myfile.knxkeys
    D:\keys.knxkeys

-

-

Security Password

A password to access the security key file.
Note: If secure communication is used, both Security Keys and Security Password must be specified.

-

-

Driver Debug

This parameter activates the d2knx module debugging information.

Zapnutie ladiacich informácii modulu d2knx.

YES/NO

NO

Full Debug

This parameter activates the debugging information about the read/written values.

YES/NO

NO