The EIB/KNX driver allows reading, writing, and creating KNX data points. The driver can either access existing data points as well as provide own local data points on the gateways itself.
For gateways with an integrated KNX interface, setting the physical address (per default 15.15.255) to any allowed address can be accomplished using the webfrontend.
In order to achieve current values for all data points after booting the gateway it is necessary to set the reading-flag on the ETS side.
Otherwise the data points will be transmitted to the gateway only after change of value and the gateway's booting process delays. The gateway retries unsuccessful reads several times. In case a data point cannot set the reading-flag a dedicated option can be used which indicates the driver to skip the reading of this value during boot-up.
Please not that for operating a KNX network an external KNX-power supply is required.
Normally such a power supply is already available in existing KNX networks.n KNX Netzen vorhanden.
The EIB/KNX- driver's name is: eib
The routing-address of the first EIB/KNX driver is 70
The configuration file for the first EIB/KNX driver is: eib1.txt
The configuration file for global settings of the first EIB/KNX driver is: eib1.cfg
In case gateway models UGW-Compact or UGW-Maxi with Tapko UIM-42 KNX-USB connector are used then a different driver is necessary.
The syntax regarding data point definitions is identical .However name and routing-address are different.
The name of the EIB/KNX-USB driver is : eibusb
The routing address of the first EIB/KNX-USB driver is 1130
The configuration file for the first EIB/KNX driver is: eibusb1.txt
The configuration file for global settings of the first EIB/KNX-USB driver is: eibusb1.cfg
For the EIB/KNX driver as well as all the other gateway driver the definition of data points is as follows:
|M||Integer value (binary data points, counters) which can/shall only be read by the gateway|
|S||Integer value which can be either read or written by the gateway. (to M-BUS writing is not possible)|
|X||Floating point value (with decimal place) which can/shall only be read by the gateway|
|Y||Floating point value (with decimal place) which can be either read or written by the gateway. (to M-BUS writing is not possible)|
|A||String, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten|
The driver can either process 2-digit as well as 3-digit KNX addresses. Addresses are definied as follows:
communication state with EIB: „failure“
While following definitions are valid:
|Parameter||Range of value||Description|
|<maj>||0-31||upper group address|
|<min>||0-2047||lower group address|
|<mid>||0-7||middle group address|
|<ext>||0-255||extended group address|
The address of a binary source data point with the 3-digit address will be defined in the file eibX.txt or eibusbX.txt like this:
In order to interpret the data of the address properly it is necessary to give format definitions for each data point. Below please find the available format options.
format = <format> [F:<fact>] [P:<poll>][U:<upd>] [I:<opt>] [L:<loc>] [H:<prio>] [R:<addr>] [D:<dly>]
possible <format> definitions you can find in the table below.
|FLOAT||32bit IEEE754 floating point|
|DOUBLE||64bit IEEE754 floating point|
|SFLOAT||16bit IEEE754 floating point|
Table of EIB/KNX standard data types and associated UGW Format:
|EIS Typ||DPT Typ||Länge||Bedeutung||UGW Format|
|EIS-5||DPT-9||2 Byte||Fliesskomma kurz||SFLOAT|
|EIS-6||DPT-5 DPT-6||1 Byte||Relativwert||UINT8 F:2.55|
|EIS-8||DPT-2||1/2 Bit||Prioritätskontrolle||UINT1 / UINT2|
|EIS-9||DPT-14||4 Byte||Fliesskomma IEEE754 32Bit||FLOAT|
|EIS-10||DPT-7 DPT-8||2 Byte||Zähler 16Bit||UINT16 / SINT16|
|EIS-11||DPT-12 DPT-13||4 Byte||Zähler 32Bit||UINT32 / SINT32|
|EIS-13||DPT-4||1 Byte||ASCII/ISO8859-1 Zeichen||UINT8|
|EIS-14||DPT-5 DPT-6||1 Byte||Zähler 8Bit||UINT8 / SINT8|
|EIS-15||DPT-16||14 Byte||Text 14 Zeichen||—|
|—||—||8 Byte||Fliesskomma IEEE 64Bit||DOUBLE|
|—||DPT-20||1 Byte||HVAC Mode||UINT8|
|—||DPT-23||2 Bit||Action on/off Alarm up/down||UINT2|
|—||DPT-25||1 Byte||Double Nibble||UINT8|
|—||DPT-26||1 Byte||Scene Info||UINT8|
|—||DPT-27||4 Byte||combined info on/off||UINT32|
|—||DPT-232||3 Byte||RGB Farbwert||UINT24|
If required the format definition can be extended with more parameters. Please find descriptions in the table below.
|Value||Range of values||Description|
|F:<fact>||valid 32Bit floating point value||The value transmitted by the KNX-Bus is divided by <fact>. Values sent to the KNX-bus will be multiplied by <fact>. Default for <fact> is 1.0|
|P:<poll>||0 - 216||Interval in seconds between two active polls of a data point. Default for <poll> is „0“. That means no cyclic reading.|
|U:<upd>||0 - 216||Interval in seconds between two active writes to the data point. Default for <upd> is „0“. That means no cyclic writing.|
|I:<opt>||0 - 7||Bit0 change of value:
„0“ filter changes
„1“ do not filter changes
Bit1 poll value:
„0“ generate reading
„1“ do not generate reading
Bit2 local writing:
„0“ do not generate local writing request
„1“ generate writing request
default <opt>-flag is „0“.
Remark: For local data points Bit0 and Bit1 are static „1“
|L:<loc>||0 - 1||„0“ remote data point
„1“ local data point
|H:<prio>||0 - 1||„0“ low priority (default)
„1“ high priority
Defines the order in which the data points are processed by the gateway. data points with high priority are processed before low priority data points.
|R:<addr>||valid EIB data point, „failure“ excluded||This address will be read after the data point referring to this option has been updated.|
|D:<dly>||0 - 216||The driver delays the reading request (see R:<addr>) for <dly> seconds. Default for <dyl> is „0“|
typical definitions of data points:
[M 5/3/10] name = digital operation message query = pe format = UINT1
[S 2/10] name = digitale given value query = pe format = UINT1 writecache = yes
[M 5/3/11] name = multistate message e.g. 0, 1, 2 for Off, On, Auto query = pe format = UINT8
[S 5/3/12] name = multistate given value e.g. step switch 0,1,2 for Off, On, Auto query = pe format = UINT8 writecache = yes
[X 5/3/13] name = temperature value query = pe format = SFLOAT
[Y 5/3/14] name = temperature given value query = pe format = SFLOAT writecache = yes
per cent values 0-100% in EIB/KNX are often scaled 0-255. Therefore it is necessary to divide the value by 2.55.
[X 5/3/15] name = percentage query = pe format = UINT8 F:2.55
# fixed point value (16 Bit, with factor 10) [X 13/3/222] name = fixed point value query = pe format = UINT16 F:10