Read a encodable value in a array
-
Like this:
ReadPropertyRequest req = new ReadPropertyRequest(new ObjectIdentifier(ObjectType.analogOutput, 1234), PropertyIdentifier.priorityArray); ReadPropertyAck ack = localDevice.send(remoteDevice, req); PriorityArray priorityArray = (PriorityArray) ack.getValue(); int priority = priorityArray.get(16).getIntegerValue().intValue();
-
Note that it is the remote device that is imposing this, not BACnet4J (unless BACnet4J is the implementation in the remote device). The error message about "Property is not an array/list" is being returned by the equipment, which is why you need to do it this way.
-
Please see the attached file that show the equipement answer.
The error is created by the stack, because of the PriorityArray is not a sequence
add(ObjectType.analogOutput, PropertyIdentifier.priorityArray, PriorityArray.class, false, true, new PriorityArray());
Attachment: download link
-
Ah, i see. Can you send me the full byte stream and i'll take a look.
-
Yes Monday (or tomorrow) i can send you the full byte stream (I have not the station here sorry)
Thanks for help and good week-end !
-
No problem. If you can please include the request byte stream as well, that may be useful.
-
-
K. I think it should be better now. This was an issue only with PriorityArray i believe. Changes have been checked into CVS. Please let me know if it helps.
-
Thanks it's help !