The BACnet® protocol includes the commonly used service ReadProperty, which is used to request data from BACnet devices like the WattNode® meter. BACnet also includes ReadPropertyMultiple. There is a bit of confusion about what ReadProperty can return. It is allowed to return the following:

  • Primitive Data (see ANSI/ASHRAE 135 section 20.2.1.3.1)
  • Constructed Data (see ANSI/ASHRAE 135 section 20.2.1.3.2)

Primitive and Constructed data include the following:

  • Boolean
  • Integer (signed and unsigned)
  • Real or float
  • Octet (byte) string
  • Character string
  • Bit string
  • Enumerated
  • Date
  • Time
  • BACnetObjectIdentifier
  • BACnetARRAY (as for Device:Object_List or Multi-state Value:State_Text)

The main limitation with ReadProperty is that only a single property can be requested. However, if that property is an array property, you may request one element of the array (index = 1..n), the length of the array (index = 0) or the entire array (no index specified), so ReadProperty can return an entire array of results (assuming the entire array will fit in a single BACnet frame or segmentation is supported1.

1Note: The WattNode BACnet meter (MS/TP) does not currently support segmentation.

See Also