QBACnet Client v1.0.0
Index
- Disclaimer
- Prerequisites
- BACnet Compatibility
- Configuration Overview
- Properties
- Controls
- Control Pins
Disclaimer
This plugin is not recommended for life-safety applications, including, but not limited to, fire alarm systems, smoke control systems, emergency evacuation systems, and other critical safety-related installations.
Prerequisites
The integrator is expected to have prior knowledge of the BACnet/IP protocol, including concepts such as object type, instance, BACnet properties, `Present Value`, write priority, and `COV`. This knowledge is important for correct configuration, validation, and operation of the plugin, as well as for ensuring a proper integration with the server device.
Demo Mode and Licensing
The plugin is fully functional in emulation mode, so you can test it for as long as needed to confirm compatibility with the server device.
A license is only required when the plugin is used on a Core. If the plugin is loaded on a Core without a license, it will show an unlicensed status and all controls will be disabled.
The plugin currently allows a total of 20 objects, which may be AV, AI, BV, BI, or MV objects.
To license the plugin, enter the license key in the License Key property. To obtain a key, visit Kyara Systems: www.kyarasystems.com.
BACnet Compatibility
This plugin is designed for interoperability with the essential commands and services required to read, write, and monitor BACnet points from a Q-SYS Core, without the need for external gateways.
Below is a list of the capabilities expected for full integration with the server device. Verify the server device PICS documentation to determine which capabilities are supported.
- Data Link Layer:
- BACnet/IP
- Supported BIBBs:
- Data Sharing - Read Property - B (DS-RP-B)
- Data Sharing - Read Property Multiple - B (DS-RPM-B)
- Data Sharing - Write Property - B (DS-WP-B)
- Data Sharing - Change of Value - B (DS-COV-B)
- Device Management - Dynamic Device Binding - B (DM-DDB-B)
- Supported standard objects:
- Device Object
- Analog Input Object
- Analog Value Object
- Binary Input Object
- Binary Value Object
- Multi-state Value Object
- Character sets:
- ANSI X3.4.
- Add the client to the Q-SYS schematic.
- Enter the license in the License Key property, when applicable.
- Select the local interface and the BACnet/IP port.
- Enter the server device IP address.
- Fill in the object instances on the point pages.
- COV Subscription: the client subscribes to COV for the selected points.
- Poll: the client reads points at regular intervals using ReadPropertyMultiple.
- Auto: uses the selected network interface.
- Manual: uses the address entered in LocalIpAddress.
Note: The server is not required to support every object listed here; however, if the server does not support an object and the client attempts to access an instance of an unsupported object, the server will return an error.
Note: UTF-8 is only partially supported; do not use accents, cedillas, or other non-ASCII characters in the object names configured on the server device.
Configuration Overview
The BACnet/IP client is designed for reading, writing, and monitoring points on a BACnet/IP server device from a Q-SYS Core, without the need for external gateways.
Note: For full operation, the server device should support the capabilities described in this documentation. Devices that do not support all of these capabilities may still operate, but some features may be unavailable.
Properties
License Key
Type: String
Default Value: empty
License key used to enable the client on a Core.
Object Update Method
Type: Enumerator
Default Value: COV Subscription
Selects how point values are updated.
Note: COV is recommended because a COV subscription allows the server to notify the client when the object changes, which avoids periodic requests and network traffic, while also making object updates considerably faster.
Local Ip Mode
Type: Enumerator
Default Value: Auto
Selects how the Core local IP is defined.
BV Count
Type: Integer
Default Value: 5
Number of Binary Value points created.
BI Count
Type: Integer
Default Value: 5
Number of Binary Input points created.
AV Count
Type: Integer
Default Value: 5
Number of Analog Value points created.
AI Count
Type: Integer
Default Value: 5
Number of Analog Input points created.
MV Count
Type: Integer
Default Value: 5
Number of Multi-state Value points created.
Debug Level
Type: Enumerator
Default Value: Normal
Controls how many logs are shown by the client.
Note: Do not use verbose mode in production. This mode should be used for support or to identify possible communication errors between the server and the client.
Controls
Setup
Status
Status Indicator
Shows the current communication state with the server device.
| Status | Message | When it occurs |
|---|---|---|
| SUCCESS | - | Normal communication with the server device. |
| FAULT | Timed out waiting for I-Am response from device
"License not found" "Failed to open UDP socket" "Failed to send UDP packet" |
Communication failure, failure to open the UDP socket, failure to send a packet, or timeout while waiting for a server response. |
| NOT_PRESENT | - | Minimum network parameters are missing, or the client does not yet have enough data to communicate. |
| MISSING | - | The client had already been connected, but it stopped receiving responses from the server device for consecutive cycles. |
| INITIALIZING | - | Module initialization while the client waits for the server device response. |
LocalNetworkInterface
Text / Choice
Selects the local network interface used by the client.
LocalIpAddress
Text Edit
Core local IP address when Manual mode is active.
DeviceIPAddress
Text Edit
BACnet server device IP address.
DeviceID
Text Indicator
Shows the server device Device ID.
DeviceName
Text Indicator
Shows the server device name.
VendorID
Text Indicator
Shows the Vendor ID returned by the server device.
MaxAPDULen
Text Indicator
Shows the maximum APDU length reported by the server device.
SegmentationSupported
Text Indicator
Shows the segmentation capability reported by the server device.
BacnetPort
Text / Choice
Selects the BACnet/IP port used for communication.
SendWhoIs
Button
Sends a Who-Is discovery request to locate the server device and refreshes the information for all valid objects.
About
ActivationStatus
Text Indicator
Shows whether the client is licensed.
MaxLicensedPoints
Text Indicator
Shows the maximum number of licensed points.
UsedPoints
Text Indicator
Shows the number of points currently in use.
AvailablePoints
Text Indicator
Shows the number of points remaining in the license.
BV/BI/AV/AI/MV Point Pages
Instance
Text Edit
Defines the BACnet instance of the monitored object.
Name
Text Indicator
Shows the name of the object read from the server device.
EventState
Text Indicator
Shows the object event state.
Alarm
LED Indicator
Shows the object alarm state.
Fault
LED Indicator
Shows the object fault state.
Override
LED Indicator
Shows the object override state.
OOS
LED Indicator
Shows the object Out of Service state.
Priority
Text Edit
Selects the priority used for BACnet write operations.
SetValue
Button / Knob
Defines the value that will be written to the server device point.
SetNull
Trigger Button
Writes NULL to release the value at the selected priority.
PresentValue
Indicator
Shows the current value read from the server device.
Subscribe
Toggle Button
Enables or disables point monitoring.
Control Pins
| Pin Name | Value | String | Position | Pins Available |
|---|---|---|---|---|
Connection / Setup |
||||
LocalNetworkInterface | (text) | Input / Output | ||
LocalIpAddress | (text) | Input / Output | ||
DeviceIPAddress | (text) | Input / Output | ||
DeviceID | (text) | Output | ||
DeviceName | (text) | Output | ||
VendorID | (text) | Output | ||
MaxAPDULen | (text) | Output | ||
SegmentationSupported | (text) | Output | ||
BacnetPort | (text) | Input / Output | ||
SendWhoIs | (trigger) | Input | ||
Connection Status |
0 2 3 4 5 |
OK (Green) Fault (Red) Not Present (Gray) Missing (Red) Initializing (Blue) |
- | Output |
About |
||||
ActivationStatus | (text) | Output | ||
MaxLicensedPoints | (text) | Output | ||
UsedPoints | (text) | Output | ||
AvailablePoints | (text) | Output | ||
BV Point Pages |
||||
Instance[n] | (text) | Input | ||
Name[n] | (text) | Output | ||
EventState[n] | (text) | Output | ||
Alarm[n], Fault[n], Override[n], OOS[n] | 0 1 | false true | 0 1 | Output |
Priority[n] | (text) | Input / Output | ||
SetValue[n] | (control) | Input / Output | ||
SetNull[n] | (trigger) | Input | ||
PresentValue[n] | 0 1 | false true | 0 1 | Output |
Subscribe[n] | (toggle) | Input / Output | ||
BI Point Pages |
||||
Instance[n] | (text) | Input | ||
Name[n] | (text) | Output | ||
EventState[n] | (text) | Output | ||
Alarm[n], Fault[n], Override[n], OOS[n] | 0 1 | false true | 0 1 | Output |
PresentValue[n] | 0 1 | false true | 0 1 | Output |
Subscribe[n] | (toggle) | Input / Output | ||
AV Point Pages |
||||
Instance[n] | (text) | Input | ||
Name[n] | (text) | Output | ||
EventState[n] | (text) | Output | ||
Alarm[n], Fault[n], Override[n], OOS[n] | 0 1 | false true | 0 1 | Output |
Priority[n] | (text) | Input / Output | ||
SetValue[n] | (control) | Input / Output | ||
SetNull[n] | (trigger) | Input | ||
PresentValue[n] | -70000 70000 | (float) | -70000 70000 | Output |
Subscribe[n] | (toggle) | Input / Output | ||
AI Point Pages |
||||
Instance[n] | (text) | Input | ||
Name[n] | (text) | Output | ||
EventState[n] | (text) | Output | ||
Alarm[n], Fault[n], Override[n], OOS[n] | 0 1 | false true | 0 1 | Output |
Priority[n] | (text) | Input / Output | ||
SetValue[n] | (control) | Input / Output | ||
SetNull[n] | (trigger) | Input | ||
PresentValue[n] | -70000 70000 | (float) | -70000 70000 | Output |
Subscribe[n] | (toggle) | Input / Output | ||
MV Point Pages |
||||
Instance[n] | (text) | Input | ||
Name[n] | (text) | Output | ||
EventState[n] | (text) | Output | ||
Alarm[n], Fault[n], Override[n], OOS[n] | 0 1 | false true | 0 1 | Output |
Priority[n] | (text) | Input / Output | ||
SetValue[n] | (control) | Input / Output | ||
SetNull[n] | (trigger) | Input | ||
PresentValue[n] | 1 255 | (integer) | 1 255 | Output |
Subscribe[n] | (toggle) | Input / Output | ||