BACnet.Examples icon indicating copy to clipboard operation
BACnet.Examples copied to clipboard

ReadPropertyMultiple request without specifying BacnetPropertyReference->propertyArrayIndex

Open lc1337 opened this issue 2 years ago • 0 comments

I am trying to send to server "ReadPropertyMultiple" request, however I am unable to read non-array BACNet properties, since the System.IO.BACnet.BacnetClient.ReadPropertyMultipleRequest requires list of System.IO.BACnet.BacnetPropertyReference(s) ...

public bool ReadPropertyMultipleRequest(BacnetAddress address, BacnetObjectId objectId, IList<BacnetPropertyReference> propertyIdAndArrayIndex, out IList<BacnetReadAccessResult> values, byte invokeId = 0);

.. and the System.IO.BACnet.BacnetPropertyReference requires propertyArrayIndex ..

    public struct BacnetPropertyReference
    {
        public uint propertyIdentifier;
        public uint propertyArrayIndex;

        public BacnetPropertyReference(uint id, uint arrayIndex);

        public BacnetPropertyIds GetPropertyId();
        public override string ToString();
    }

.. which, when not set, defaults to 0. This causes, that after request with this list is sent, all properties are requested with propertyArrayIndex: 0, which fail for non-array object properties.

Is there any way to not add the propertyArrayIndex into request and thus be able to read non-array properties with ReadPropertyMultiple request?

Thanks

lc1337 avatar Apr 20 '22 08:04 lc1337