
BACnet and integration basics for evaluating building software
Almost every software pitch eventually says "we integrate with your BAS over BACnet." Knowing what that actually involves lets you ask better questions and spot the integration headaches before they hit your schedule.
The vocabulary in two minutes
- Device: a controller (or gateway) on the network, identified by a device instance number that must be unique across the whole BACnet internetwork. Duplicate device instances are a classic source of "it works sometimes" problems.
- Objects: the points inside a device: Analog Input, Analog Value, Binary Output, Multi-state Value, plus Schedule, Calendar, Trend Log, Notification Class and more.
- Properties: the attributes of each object.
Present_Valueis the one everyone reads;Status_Flags,ReliabilityandUnitsmatter more than people think. - Priority array: writable outputs have 16 priority levels. Software that writes to your controllers has to pick one, and the wrong choice can lock out operators or get overridden by your own programming. Ask every vendor which priority they write at.
Networks: IP, MS/TP and the stuff in between
- BACnet/IP runs over Ethernet/UDP (port 47808 by default). Fast, easy to reach from a server.
- BACnet MS/TP runs over RS-485 twisted pair, typically to field controllers like VAVs. It's slow compared with IP, and a busy trunk can choke if analytics software polls it too aggressively.
- Routers connect MS/TP trunks to IP. BBMDs (BACnet Broadcast Management Devices) let broadcasts like Who-Is cross IP subnets. Misconfigured BBMD tables are behind many "we can't see the devices on the other floor" problems.
Polling vs. COV vs. trend logs
Software can get data three ways:
- Polling: repeatedly reading values. Simple, but heavy polling across MS/TP trunks can slow down the controls themselves.
- COV (Change of Value) subscriptions: the device reports when a value changes. More efficient, but not every device supports it well.
- Reading Trend Log objects: let the controllers or supervisor log locally, then pull the history in batches. Often the gentlest option for the field bus.
Ask any analytics vendor which they use, how often, and how they'll keep load on MS/TP trunks reasonable.
Is it really BACnet? PICS and BTL
"BACnet compatible" can mean a lot of things. Two documents help:
- A PICS (Protocol Implementation Conformance Statement) is the manufacturer's statement of which BACnet services and objects the product supports. Ask for it.
- BTL certification means the product was tested by an independent lab against the BACnet Testing Laboratories test package. You can check the BTL Listing of Tested Products.
BACnet/SC: why IT departments care
Classic BACnet/IP has no built-in encryption or authentication, which is why IT teams get nervous. BACnet Secure Connect (BACnet/SC) adds a datalink that runs over TLS-secured WebSocket connections in a hub-and-spoke layout. It was added through Addendum bj to ASHRAE Standard 135-2016, approved November 18, 2019. For new projects or anything crossing an IT network, ask whether devices and supervisors support BACnet/SC, and whether that support is BTL-tested.
Beyond BACnet
- Modbus is common on meters, VFDs, generators and some packaged equipment. It has registers but no built-in point names or units, so mapping is manual and error-prone. Get the register map.
- LonWorks still shows up in older buildings.
- Niagara (Tridium) is a framework many integrators use to normalize multiple protocols; many software vendors connect to the Niagara supervisor rather than to field devices directly.
- Tagging (Project Haystack, Brick) sits on top of all of this and gives points consistent meaning. Integration gets you values; tagging tells software what they are.
Free tools to see for yourself
- YABE: free, open-source BACnet explorer. Discover devices, browse objects, read and write properties, and edit BBMD tables.
- Wireshark: packet capture with a BACnet dissector. It's the definitive answer to "is the device even replying?"
Integration questions for any vendor
- Which protocols and which BAS brands/versions do you connect to, at what layer (field devices, supervisor, API)?
- Read-only or read/write? If write, at which priority, and how do we release control?
- Polling, COV or trend-log reads? At what interval? What's the expected load on MS/TP?
- Do you need a BBMD entry, foreign-device registration or a new device on our network?
- Is your product BTL-listed? Do you support BACnet/SC?
- Who fixes it when a contractor changes device instances or point names?




