BACnet

Capabilities

Capability

Support

Comment

Connection state with BACnet device

Supported feature

See BACnet device connection monitoring

Reading value by subscription from BACnet device

Supported feature

See Reading values with subscription

Reading value by polling from BACnet device

Supported feature

See Reading values with polling

Writing value to BACnet device

Supported feature

See Writing values

BACnet objects/properties combination table

BACnet objects

PRESENT_VALUE

STATUS_FLAGS

OUT_OF_SERVICE

EVENT_STATE

Analog input read

Supported feature

Supported feature

Supported feature

Supported feature

Analog input write

Not supported feature

Not supported feature

Supported feature

Not supported feature

Analog output read

Supported feature

Supported feature

Supported feature

Supported feature

Analog output write

Supported feature

Not supported feature

Supported feature

Not supported feature

Analog value read

Supported feature

Supported feature

Supported feature

Supported feature

Analog value write

Supported feature

Not supported feature

Supported feature

Not supported feature

Binary input read

Supported feature

Supported feature

Supported feature

Supported feature

Binary input write

Not supported feature

Not supported feature

Supported feature

Not supported feature

Binary output read

Supported feature

Supported feature

Supported feature

Supported feature

Binary output write

Supported feature

Not supported feature

Supported feature

Not supported feature

Binary value read

Supported feature

Supported feature

Supported feature

Supported feature

Binary value write

Supported feature

Not supported feature

Supported feature

Not supported feature

Multi-state value read

Supported feature

Supported feature

Supported feature

Supported feature

Multi-state value write

Supported feature

Not supported feature

Supported feature

Not supported feature

Signed integer value read

Supported feature

Supported feature

Supported feature

Supported feature

Signed integer value write

Supported feature

Not supported feature

Supported feature

Not supported feature

Unsigned integer value read

Supported feature

Supported feature

Supported feature

Supported feature

Unsigned integer value write

Supported feature

Not supported feature

Supported feature

Not supported feature

BACnet PRESENT_VALUE/OnSphere Value type combination table

PRESENT_VALUE

DECIMAL

INTEGER

TEXT

BOOLEAN

Analog input read

Supported feature

Not supported feature

Supported feature

Not supported feature

Analog input write

Supported feature

Not supported feature

Supported feature

Not supported feature

Analog output read

Supported feature

Not supported feature

Supported feature

Not supported feature

Analog output write

Supported feature

Not supported feature

Supported feature

Not supported feature

Analog value read

Supported feature

Not supported feature

Supported feature

Not supported feature

Analog value write

Supported feature

Not supported feature

Supported feature

Not supported feature

Binary input read

Supported feature

Supported feature

Supported feature

Supported feature

Binary input write

Supported feature

Supported feature

Supported feature

Supported feature

Binary output read

Supported feature

Supported feature

Supported feature

Supported feature

Binary output write

Supported feature

Supported feature

Supported feature

Supported feature

Binary value read

Supported feature

Supported feature

Supported feature

Supported feature

Binary value write

Supported feature

Supported feature

Supported feature

Supported feature

Multi-state value read

Supported feature

Supported feature

Supported feature

Not supported feature

Multi-state value write

Supported feature

Supported feature

Supported feature

Not supported feature

Examples

Read a BACnet value by subscription Read a BACnet value by polling Write a BACnet value

Concept

OnSphere let the user connect to a BACnet device to write or read properties.

Warning

In cases where a BACnet router (BBDM) is not available, the osp-bacnet connector should be given access to the network of the bacnet device. This can only be achieved using a remote connector and starting the osp-bacnet container with the --network=host option. You can also link the bridge network and add that network to your module. Be careful the outside_access network is an overlay which does not have the same properties as a true bridge network. Refer to the overlay documentation and bridge documentation.

networks:
  [...]
  bridge:
    external:
      name: bridge
${{service-name}}:
image: ${{image-repository}}osp-bacnet${{image-version}}
networks:
  - "back"
  - "bridge"
[...]

Warning

For the moment only connection on port 47808/UDP is supported.

Note

Converting a BINARY_* BACnet type to a textual value will result as active and inactive states.

BACnet device connection monitoring

The connection state between the BACnet module and a device can be read as a BOOLEAN value from the BACnet device in the OnSphere hierarchy (i.e. root.BACnet.device_123456 for example).

Warning

This value will only be updated once you try to read or write on the device.

Example

Read a BACnet value by subscription Read a BACnet value by polling Write a BACnet value

Reading values with subscription

Concept

A subscription is renewed at the value strategy frequency (defaults to 30 seconds) and has twice the lifetime, meaning the module will take at most strategyFrequency to detect an error reading the value and report it.

Usage

  • SINGLE_SUBSCRIPTION : Renewable subscription monitoring changes of the presentValue property of the BACnet object in real time.

  • OBJECT_SUBSCRIPTION : Renewable subscription monitoring changes of any parameters in a BACnet objet in real time. However, only changes of the PRESENT_VALUE property are reported by the module.

Example

Read a BACnet value by subscription

Reading values with polling

Concept

  • MULTIPLE_POLLING : Values sharing this strategy on the same device are polled in a single read request and are read in a single response. This can lower the network overhead of the polling strategy.

  • SINGLE_POLLING : Each value is polled in a dedicated read request and read in a dedicated response.

Values are polled at the value strategy frequency (defaults to 5 seconds), meaning the module will take at most strategyFrequency to detect an error reading the value and report it.

Example

Read a BACnet value by polling

Writing values

BACnet outputs allow to write :

  • The present value of binary/analog outputs/values and multi state values

  • The out of service property of a BACnet object

Example

Write a BACnet value