Documentation

Knowledge Base

Answers, guides and best practices for ComfortClick bOS.

Open in Confluence

BACnet

BACnet is a communication protocol commonly used in building automation systems, especially for HVAC, ventilation, heating, cooling, lighting, access control, and energy management.

ComfortClick can connect to BACnet devices and systems, allowing bOS to read values, send commands, monitor statuses, and use BACnet data in visualization, schedules, scenes, alarms, and automation logic.

BACnet integration is especially useful in commercial buildings, hotels, offices, and larger projects where mechanical and HVAC systems often use BACnet communication.

Table of contents

Connection Settings

Select the appropriate connection type (bOS supports UDP/IP,MSTP over Serial, PTP over Serial, Jigsaw PRO) . In usual setups, the default settings are already okay. Always read the manual of the device where all connection settings are listed with additional information for connection. You just have to select the serial port for MSTP. For PTP you have to enter all the details (serial port, baud and password).

bacnet.jpg

When bOS receives IAM response from any BACnet device for the first time, it will try to add it under the main BACnet node. These are the settings where you can define what happens after that.

  • Generated Node Names: This setting defines how BACnet object names are generated upon discovery. There are three options. Name is object name, ObjectIdentifier is a string containing information of object type and instance. It can also be set to Both.

  • Enable Sorting: If set to true, bOS will sort BACnet object list by object type and instance upon discovery. If set to false, the BACnet objects will appear in the same order as bOS receives them.

  • Subscription Time: How long subscription COV lasts (in minutes). COV stands for Change of Value. A BACnet COV subscription allows bOS to receive updates only when a selected BACnet value changes, instead of constantly polling the device.

    This can make communication more efficient, because the BACnet device reports value changes automatically when they occur. For example, if a room temperature changes, the BACnet device can send the updated value to bOS without bOS repeatedly requesting the value.

    COV subscriptions are useful for reducing network traffic and keeping values updated more efficiently in larger BACnet installations.

  • Read Delay: The Read Delay setting defines the cyclical read time interval for BACnet values.

    This setting controls how often bOS reads the selected value from the BACnet device. The interval is usually set in seconds.

    A shorter read delay updates values more frequently but may increase network traffic. A longer read delay reduces communication load but updates the value less often.

    Use this setting according to how often the value needs to be refreshed in the visualization, logic, alarms, or automation.

  • Device Online Check Period: A time period (in minutes) in whcih offline devices are checked if they are back online.

Step by step guide on how to get started available in the link below:

https://www.youtube.com/watch?v=6WePXb-ZNXY

Functions

There is one function called Send WhoIs. By using it, bOS will send WHO-IS broadcast to the network. BACnet devices that received this message shall respond by sending I-AM.

An excess of Global Who-Is/I-Am messages can be devastating on BACnet networks. Particularly on a big network with lots of devices, it’s important to limit broadcasts to only the necessities.

But Who-Is messages do play an important part in the BACnet network and, if the devices are configured properly, they needn’t overwhelm the system.

The purpose of a Who-Is broadcast is to get the network addresses of devices on the network. These network addresses are critical to allow devices to communicate with one another without broadcasting the entire system. So, a device that needs another’s address will send a message “specifying a Device Object Instance Number or a range of Instance Numbers,” as the BACnet website explains. For example, it will send a “Who-is device 3001” or “Who-is device 3000 to 3099.”

The responding devices send an I-Am to a local or remote network, or to the full network. “This allows other devices that may need to know about the responders to acquire the address information without creating more network traffic,” BACnet explains, and it allows the responding device to figure out its route. Importantly, this also means there’s no need to manually add devices’ addresses into each BACnet device.

Now, targeted Who-Is messages are one matter, but often devices will send out Global Who-Is requests. That’s when the Who-Is message is sent, but it doesn’t specify a device or a range of devices. In this case, every device on the network responds with an I-Am.

Some devices’ configurations can be changed to eliminate these requests, while others’ can only be reduced. If you can’t delete them, increase the amount of time between Global Who-Is messages to the maximum amount allowed.

For example, a device will say “Who-Is 0–99” and then send “Who-Is 100–199,” minimizing the number or concurrent I-Am messages.

Who-Is and I-Am messages can save you lots of time spent programming device addresses and, if done correctly, do not have to flood your network.

This function is automatically sent when we Enable the BACnet driver. We can also manually run in by simply scrolling down to functions and run it.


Device Settings

Once discovery in BACnet is done, a device will appear under the main node. Selecting the device will provide us with basic information about the device. We can also manually add a device in and then use the Address function to locate and add our device manually.

bacnet_device.jpg

Import BACnet Objects

Running the Import BACnet Objects function starts the BACnet object import process.

During the import, all available BACnet addresses and objects are listed. You can manually select only the objects you want to import, or import all available objects at once.

To import all objects:

  • Press Ctrl + A to select all listed objects.

  • Right-click the selection.

  • Choose Import.

After confirming the import, the selected BACnet objects are added to the configuration and can be used in visualization, logic, alarms, schedules, and automation.

bacnet_objects.jpg

BACnet Address Settings

Selecting a BACnet device address provides us with all basic information that device sends to the bOS.

Not to overwhelm the bus, by default all read types or subscriptions are set to none. If we want to receive values and use them in  the configuration we need to change the read type.

Subscribe COV: Receive instant feedback from the device.

Minute read: Reads values every minute.

Cyclical read: Reads value per time that is defined in the main BACnet node.

bacnet_address.jpg

Address in the Visualization

When dragging and dropping the address in the visualization, make sure you select the correct node that will be displayed in the visualization.

All values from Values tab can be selected and used in the visualization, so the client can see all the statuses of the address.

bacnet_visu.jpg

Top