First I want to tank you Steve for alle the Work you've done with this Project!
Now my Problem. My knowledge of Bacnet is very rudimental yet.
As far as I understand there are devices in the Bacnet-Network which include some Objects which can be read, written or both.
To start I started the Demo-Server with
demo/server/bacserv 3456
The Device 3456 is listed then when doing
demo/whois/bacwi -1
So far so good. But I don't know how to get a list of supported Objects in this Device.
But there's another Bacnet-Project 'yabe' which does list several Objects
p.e. ANALOG OUTPUT 0, ANALOG OUTPUT 1 ... (see attached jpg)
But when I try to read the actual value of "ANALOG OUTPUT 0" via
demo/readprop/bacrp 3456 1 1 85
I get Error-messages:
RP: Device_Read_Property: Error! RP: Sending Error! BACnet Error: object: unknown-object
So my questions are:
1. Why do I get these Errors?
2. Is it possible to simulate more than one Device with the Demo-Server or do I need a new Instance of the Server for each Device?
3. How do I get a list of supported Objects of a Bacnet Device?
Regards
Jens
Anonymous
OK, my first question is solved. I can't access the Demo-Server form the same Machine.
Doing a
from a different Machine (another VM) works without Errors.
Jens
Hi Jens! Thank you for the kind words.
If you want to use the demos from the same machine you might need to use the BBMD (in the server) and the Register Foreign Device (in the clients) which is configured with the environment variables (see bin/bvlc.sh or bin/bvlc.bat for some info) or see the FAQ. VMs also work fine, as do Docker images (some people use 1000's of Docker instances for 1000's of devices).
The Demo Server is only one device object and its children objects. The Demo Gateway is a virtual router with multiple Device objects and childing objects within it, appearing behind a router.
The list of objects in a device is from the BACnet Array property object-list (76). Reading array element zero will return the number of array elements; reading element 1..N will return each element value (object-identifier in the case of object-list property). Some devices have small amount of objects and can fit in a single ReadProperty request for array element of 'all' (omitting the array value in the command line tools). Some devices support ReadPropertyMultiple service and can send more than one property value up to their APDU size.
There is a demo (Epics) that reads the objects and their properties from a device.
Hi Steve, thank you for your explanations, but I'm still in trouble.
On my first VM I did;
on a second one in the same network:
Why do I get three "Received" Messages and why is the "unknown-object" error?
Regards
Jens