Within the BMS Server we can split up complex KNX data point types to different sub fields. For example, to activate the sub fields for a 1 byte DALI object, please open the Telegram Definition, select the corresponding group address(es) and change the data type to: 238.600 DALI_Diagnostics.
After restarting the server, you will find the group address and different subfields:
For example, if the value 67 is received, the BMS Server is splitting splits up the value into the sub fields. 67 means that the DALI ballast 3 has a Lamp Failurelamp failure.
If you want to send a KNX telegram, you can also use the sub fields. For example of DPT 238.600, if you want to request the status of a DALI ballast, you have to set the sub field. Address to the corresponding address, and .LF and .BF to False. Afterwards, when you set the “- SEND” item SEND item to True, the BMS server calculates the value from the different Server combines the values of all sub fields and then it sends the calculated value to the KNX bus.
...
The definition of complex datapoint types is located in an XML file in the installation directory e.g. C, typically this is C:\Program Files (x86)\NETxAutomation\NETx.BMS.Server.2.0\nxaKNXDataTypeDefinitions.xml. The file contains definition of all DPTs as specified by the KNX standard as well as other custom types used in KNX/DALI gateways.
Likewise, you can add DPTs for your own purpose to that file. In the following example we will add a new DPT with custom SubTypes.
DPT definition
First, the DPT has to be defined in the nxaKNXDataTypeDefinitions.xml file (see XML format description in the section below):
...
sub_type attributes | Description |
---|---|
id | The ID of the Sub_Type. |
desc | Sub_Type description. |
start_index | The start index of the Sub_Type. The most right bit's position is 0 |
length | The length of the Sub_Type in bits. |
length_type | The length type of the Sub_Type. |
input_type | The input type EIS1, EIS2, EIS5, etc.... |
su | S (signed) or U (unsigned); default is signed |
output_type | The Sub_Type output type. |
unit | The Sub_Type unit type °C, K/h, m/s, %, etc... |
pre_offset | offset to be added before scaling |
post_offset | offset to be added after scaling |
scale | Sub_Type scaling factor |
min_max | define the min and max value e.g. "0:10" min is 0 and max is 10. |
...