Reading BACnet Data with ControlCom Edge Server

The ControlCom Connect platform allows fully configuring a onboarded device Edge Server configuration to read BACnet data over either BACnet/IP (Ethernet) or BACnet MS/TP (RS-485 serial).

Prerequisites

  • This guide requires the ControlCom Edge Server to be onboarded. See our Onboarding Guide for the Edge Server to get started.
  • A variable must already exist on the device to receive BACnet values. See Creating a Variable — you'll need its Topic Property Path when configuring the BACnet object.

Creating a BACnet Client

To create a new BACnet client in ControlCom Connect for device:

  1. Navigate to Administration > Devices
  2. Select a onboarded device
  3. In the device page, click the Edge Server tab
  4. Click the "+ Add Client" and select BACnet IP or BACnet MSTP (For this guide, use BACnet IP)
  • Important Note If using BACnet MSTP, the ControlCom Edge Server requires a volume mount to the location of the serial device which this guide does not cover.
  1. A new subitem will appear called "Clients", select the newly added client.
Edge Server Clients tab
Edge Server tab with no clients yet — click + Add Client to begin
Add New Client dialog
Add New Client dialog with Modbus TCP, Modbus RTU, OPC UA, BACnet, and Ethernet/IP options

Connection Sub Menu

  1. Enter in a friendly name for the BACnet Client Name

For BACnet IP:

  1. Enter the Device Address (the IP address of the BACnet device), such as 192.168.1.100
  2. Enter the Port (defaults to 47808, the BACnet/IP standard)

For BACnet MSTP:

  1. Enter the Serial Port path, such as /dev/ttyUSB0
  2. Enter the Baud Rate (defaults to 9600)
  3. Enter the MAC Address of the Edge Server on the MS/TP bus (0127)
  4. Optionally enter a Target MAC Address for ReadProperty/WriteProperty requests (0127). Leave empty to fall back to the Edge Server's MAC Address.
  5. Optionally set Max Master (defaults to 127), Max Info Frames (defaults to 1), Data Bits (defaults to 8), Stop Bits (defaults to 1), and Parity (none, even, or odd).

Shared fields (both transports):

  1. Enter the Device Instance — the BACnet device instance ID of the target controller.
  2. Set the Poll Interval (ms) — how often the Edge Server polls each object. Defaults to 1000.
  3. Set the Timeout (seconds) — how long to wait for a BACnet response before considering the request failed. Defaults to 15.
  4. Enable the Enabled toggle to enable the client.

Settings Sub Menu

The Settings tab exposes maintenance actions for the client:

  • Remove Client removes the BACnet client from this Edge Server configuration.
  • Export Variables downloads the current object list as a CSV (useful for bulk editing).
  • Import Client Variables restores an object list from a previously exported CSV.

Objects Sub Menu

  1. Click the "Add Object" button
  2. Select the newly added entry in the objects list on the left
  3. Select the Object Type. Supported types:
    • AnalogInput, AnalogOutput, AnalogValue
    • BinaryInput, BinaryOutput, BinaryValue
    • MultiStateInput, MultiStateOutput, MultiStateValue
  4. Enter the Instance Number of the object on the BACnet device (04194302).
  5. Enter the Property Identifier (defaults to 85 for Present Value, which is the most common). Other common identifiers:
    • 85 — Present Value
    • 77 — Object Name
    • 28 — Description
    • 36 — Event State
    • 103 — Reliability
    • 111 — Status Flags
  6. Optionally enter a Write Priority (116) used when the platform writes back to this object. BACnet uses a priority array where lower numbers win:
    • 1 — Manual Life Safety
    • 2 — Automatic Life Safety
    • 5 — Critical Equipment
    • 8 — Manual Operator
    • 16 — Lowest Priority
  7. Select the Topic Property Path (the Variable created earlier in the guide). The object's data type (number, boolean, string) is determined automatically by the linked platform variable.
  8. On the Scaling tab, set the scale (defaults to 1), offset (defaults to 0), and decimals (defaults to 2). These apply only to number objects.
  9. On the Misc tab:
    • Send if Stale After (ms) — force a publish if the value has not changed in this many milliseconds. Defaults to 600000 (10 minutes).
    • Deadband Percentage — only publish changes greater than this percent of the previous value. Defaults to 5. Only applies to number objects.

Saving

After configuring Connection and Objects, click the "Save Configuration" button and click "Save" in the confirmation popup.

Deployment

Once the Edge Server has been configured to read from a BACnet client, the changes can be deployed in a few ways. The Edge Server will pick up its changes on the next boot of the container.

Sending restart command from ControlCom Connect Platform

  1. Navigate to Administration > Devices
  2. Select the Device with the new BACnet configuration
  3. On the Details tab, click the restart button. This will stop the instance where it is currently running.

Stopping and starting the ControlCom Edge Server manually

This can be done by following the restart commands from the Onboarding Guide of the Edge Server

Restarting Device
Device Details page on ControlCom Connect

Was this page helpful?