Compound Structures

The KNX standard specifies that some Datapoint Types (DPT) have compound structures, where one DTP contains several data fields. So, how does the KNXnet/IP driver write to a KNX compound structure DPT? This topic answers this question with an example.

Datapoint Type 222.100 is a DPT with three sets of room temperature setpoints, each of which is a 16-bit float value. The room temperature setpoint comfort (TempSetpComf), room temperature setpoint standby (TempSetpStdby) and room temperature setpoint economy (TempSetpEco) are all encoded within the same DPT.

From the standpoint of the framework’s driver data model, each of these setpoints is a separate proxy point but, on the wire, KNX compounds them into one group address. Therefore, when it writes to the group address the KNXnet/IP driver must know the current value of every field before overwriting the DPT. To do this, the driver reads the whole group address before individually overwriting the data. This behaviour can be seen in the following ETS Group Monitor diagnostic of Group Address 7/1/0, which is a 222.100 DPT:

Figure 11.   Datapoint Type compound structures
Image
  • Line 1: Read group address
  • Line 2: Response data 00 00 00 00 00 00
  • Line 3: Write TempSetpComf data 0C 1A 00 00 00 00 (Decimal 3098)
  • Line 4: Read group address
  • Line 5: Response data 0C 1A 00 00 00 00
  • Line 6: Write TempSetpStdby Data 0C 1A 06 A4 00 00 (Decimal 1700)
  • Line 7: Read group address
  • Line 8: Response data 0C 1A 06 A4 00 00
  • Line 9: Write TempSetpEco Data 0C 1A 06 A4 05 DC (Decimal 1500)
  • Line 10: Read group address
  • Line 11: Response data 0C 1A 06 A4 05 DC