.bacnet

The mapping of a BACnet system is represented by data arranged under the "/.bacnet" path.

The format for accessing BACnet properties is:

/.bacnet/{scope}/{device-inst}/{object-type},{object-inst}/{property-name}

The paths are summarized in the following table.

Path

Description

/.bacnet

Contains the addressing scopes modelled by the DINGO device. If the DINGO device is acting as a gateway for multiple addressing scopes, then there will be more than one entry in this list, else there will only be one entry named ".local".

/.bacnet/{scope}

Contains a collection of devices modelled by the DINGO device for the given addressing scope, including the DINGO device itself. If the DINGO device is acting as a gateway for other BACnet devices in the addressing scope, then there will be more than one entry in this list, else there will only be the DINGO device itself.

/.bacnet/{scope}/.this

This is an alias for the device data in the "/.bacnet/{scope}" collection that represents the DINGO device itself in that addressing scope.

All operations on the "/.bacnet/{scope}/.this" alias are the same as if performed on the specific device path.

It is a URI alias only. Accessing it is the same as accessing the device resource directly.

/.bacnet/{scope}/{device-inst}

Each child of "./bacnet/{scope}" is data that represents a BACnet device. Each of these is a collection containing the object instances in that device.

/.bacnet/{scope}/{device-inst}/.device

This is an alias for the Device-object in the specified device instance.

All operations on the "/.bacnet/{scope}/{device-instance}/.device" alias are the same as if performed on the specific Device-object path.

It is a URI alias only. Accessing it is the same as accessing the Device-object resource directly.

/.bacnet/{scope}/{device-inst}/{object-type},{object-inst}

Each child of a device is data that represents a single object instance.

Each of these is an object base type, each containing the properties for that object.

The object instance is represented by the name of the object type, followed by a comma, followed by the decimal representation of the object instance number.

/.bacnet/{scope}/{device-inst}/{object-type},{object-inst}/{property-name}

Each member of an object instance is data that represents a property of the object.

The base type of the property data, Real, Sequence, etc., varies.

/.blt

The URI "/.blt" is an alias for the URI "/.bacnet/.local/.this".

All operations on this alias are the same as if performed on the full path. This is a URI alias only.

/.bltd

The URI "/.bltd" is an alias for the path "/.bacnet/.local/.this/.device".

All operations on this alias are the same as if performed on the full path. This is a URI alias only.

 

Example: Lets say that the IP of the DINGO device is 192.168.1.100 and there is a temperature sensor, defined as "analog-input,1", in the BACnet server. Then the present value of the temperature sensor can be browsed by entering this address into a browser: http://192.168.1.100/bacnetws/.blt/analog-input,1/present-value

When browsing the BACnet system, the data items have a truncated="True" attribute. This means that the data item can contain children, but they are not loaded for performance reasons. The user can use the depth query parameter to load children to a specific level.

Example: Lets say that the IP of the DINGO device is 192.168.1.100 and the user wants to see what devices are on the local network and their objects. The user can use the depth parameter like this: http://192.168.1.100/bacnetws/.bacnet/.local?depth=2

To see the more human-readable displayName metadata, that has been specified through the object-name property on the objects, the user would use the metadata parameter.

Example: Lets say that the IP of the DINGO device is 192.168.1.100 and the user wants to see what devices are on the local network and their objects. He also wants to see more information via the displayName. The user can use the metadata=cat-all to see all available metadata, including the displayName, like this: http://192.168.1.100/bacnetws/.bacnet/.local?depth=2&metadata=cat-all

Further reading:

Try the BACnet/WS against live data here.