An Unknown Object error indicates that the BACnet device we are communicating with has responded to a request to read or write one or more BACnet objects, but only to advise us that they could not do what we requested because at least one of the objects we requested was not defined for them.
So for example, if I requested the present value of AI 1, AI 2, and AI 3 from a device, but the device only had an AI 1 and an AI 2 but did not have an AI 3, they would return an Unknown Object error in response to the third request for data. Further, if I used the length field to request the present value of all 3 objects with a single map descriptor, I would only receive the Unknown Object error and would not receive the present value of AI 1 and AI 2 even though the device did have those BACnet objects.
If you are getting an Unknown Object error, please review the BACnet Objects you are attempting to interact with in the target device to make sure there are not any typos. Also, please be aware that an AV (Analogy Value) is not the same as an AI (Analog Input) or AO (Analog Output). So if you are requesting AI 1 and the device has an AV 1 but not an AI 1, which will result in this error being returned to us.