BACnet
Capabilities
Capability |
Support |
Comment |
---|---|---|
Connection state with BACnet device |
||
Reading value by subscription from BACnet device |
||
Reading value by polling from BACnet device |
||
Writing value to BACnet device |
See Writing values |
BACnet objects |
PRESENT_VALUE |
STATUS_FLAGS |
OUT_OF_SERVICE |
EVENT_STATE |
---|---|---|---|---|
Analog input read |
||||
Analog input write |
||||
Analog output read |
||||
Analog output write |
||||
Analog value read |
||||
Analog value write |
||||
Binary input read |
||||
Binary input write |
||||
Binary output read |
||||
Binary output write |
||||
Binary value read |
||||
Binary value write |
||||
Multi-state value read |
||||
Multi-state value write |
||||
Signed integer value read |
||||
Signed integer value write |
||||
Unsigned integer value read |
||||
Unsigned integer value write |
PRESENT_VALUE |
DECIMAL |
INTEGER |
TEXT |
BOOLEAN |
---|---|---|---|---|
Analog input read |
||||
Analog input write |
||||
Analog output read |
||||
Analog output write |
||||
Analog value read |
||||
Analog value write |
||||
Binary input read |
||||
Binary input write |
||||
Binary output read |
||||
Binary output write |
||||
Binary value read |
||||
Binary value write |
||||
Multi-state value read |
||||
Multi-state value write |
||||
Multi-state value read |
||||
Multi-state value write |
||||
Multi-state value read |
||||
Multi-state value write |
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.
Difference between *_INPUT
, *_OUTPUT
and *_VALUE
:
*_INPUT
are used for monitoring (read-only). Examples:ANALOG_INPUT
(sensor reading),BINARY_INPUT
(binary state),MULTI_STATE_INPUT
(multi-state condition).*_OUTPUT
are used for controlling (write-enabled). Examples:ANALOG_OUTPUT
(control output to devices),BINARY_OUTPUT
(binary device control),MULTI_STATE_OUTPUT
(multi-state device control).*_VALUE
are flexible object that can be both read and written, most of the time representing virtual or calculated values. Examples:ANALOG_VALUE
(analog setpoints),BINARY_VALUE
(binary states),MULTI_STATE_VALUE
(multi-state value).
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
By default the port 47808/UDP is used by the simulated device by the module.
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
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
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