What is the BACnet object model?

Key Takeaways : What is the BACnet object model

  • The BACnet object model transforms every building system element into a standardized object.
  • Each object contains properties (like value, unit, status) and is manipulated via services.
  • This design guarantees interoperability between devices from different vendors.
  • It enables scalable, modular integration for HVAC, lighting, energy, and security systems.
  • Facility managers benefit from simplified operations and future-proof investments.

Table of Contents

Introduction

In modern building automation, interoperability is key. Systems for HVAC, lighting, security, or energy management often come from different vendors, yet they must all “speak the same language.” This is where BACnet has become a global standard.

At the heart of BACnet lies a powerful concept: the object model. Instead of exchanging raw or proprietary data, BACnet represents every element—whether it’s a temperature sensor, a fan, or a weekly schedule—as a standardized object with defined properties and accessible through services.

Olivier Hersent

“The genius of the BACnet object model is that it abstracts every device into a standardized object, making complex building systems interoperable.

This article explores how the BACnet object model works, why it is central to interoperability, and how it helps building owners and integrators simplify complex projects. For general background, you may first want to read What is BACnet?

What is the BACnet object model?

The BACnet object model is the foundation that makes the protocol both powerful and universal. Instead of handling data points in a proprietary way, BACnet represents every element of a building automation system as an object.

An object is not just a value — it’s a complete structure with:

  • a type (e.g., Analog Input, Binary Output, Schedule),
  • an identifier (to uniquely reference it),
  • a set of properties (values, units, status, etc.),
  • and the possibility to interact with it through services (reading, writing, subscribing to changes).

This approach ensures that a temperature sensor from Vendor A can be read by a building management system from Vendor B without custom integration.

Examples of BACnet objects and their uses

Object Type Typical Use Case
Analog InputTemperature sensor measurement
Binary OutputFan ON/OFF command
ScheduleWeekly HVAC operating program
Trend LogRecording energy consumption
DeviceThe controller itself
Core principles of the BACnet object model

The BACnet object model is built around a few simple but powerful principles:

  1. Every function is an object
    Whether it’s a sensor, actuator, log, or schedule, everything in BACnet is represented as an object type.
  2. Objects are uniquely identified
    Each object has an Object Identifier (a combination of type and instance number) that makes it unique within a device. It also has a human-readable Object Name, which must be unique inside the same device.
  3. Objects have properties
    Properties describe the object — for example, its current value (Present Value), its units (°C, %, kWh), or its status flags. Some properties are mandatory, others are optional depending on the object type.
  4. Services interact with properties
    BACnet services such as ReadProperty or SubscribeCOV allow external systems to interact with these objects in a standardized way.

Object identity in BACnet

Element Purpose
Object IdentifierUnique numeric ID (type + instance), used in network communication
Object NameHuman-friendly label, unique inside a device
Object TypeDefines the object’s role (AI, BO, Schedule, Trend Log, etc.)
Object properties and interoperability

Every BACnet object is defined by a set of properties. These properties describe the object’s state, behavior, and metadata. They are what makes BACnet devices interoperable, since all vendors agree on a minimum set of mandatory properties while leaving room for optional ones.

Types of properties

  1. Mandatory properties
    • Must always be present for a given object type.
    • Guarantee that any BACnet device can read or interpret the object.
  2. Optional properties
    • Provide extra functionality or information.
    • Not required for interoperability, but enhance system integration.
  3. Dynamic properties
    • Values that can change at runtime, such as Present Value or Status Flags.

Examples of BACnet properties

Property type Example property Purpose
MandatoryObject IdentifierEnsures uniqueness and identification across devices
OptionalDescriptionAdds human-readable information for operators
Dynamic (runtime)Present ValueRepresents the real-time measurement or command state
OptionalUnitsDefines engineering units (°C, Pa, %, ppm, kWh, etc.)
MandatoryObject TypeDefines category of the object (AI, BO, Schedule…)
Commanding & priority: making writes deterministic

In building automation, several systems may want to control the same point — for example, a fan could be commanded by the fire safety system, by an energy optimization algorithm, or by a manual operator. To avoid conflicts, BACnet uses a Priority Array system.

How it works

  • Priority Array (1–16): Each writable object (such as Analog Output or Binary Output) maintains an array of 16 priority slots.
  • Highest wins: If multiple commands are written, the highest priority active value takes precedence.
  • Relinquish Default: If no priority slots are active, the object falls back to a default value.
  • Determinism: This ensures predictable and safe behavior, even when different systems compete for control.

Table — Priority-based control in BACnet

Mechanism Practical effect
Priority Array (1–16)Resolves conflicts by applying the highest active priority
Relinquish DefaultProvides a fallback when no priorities are active
WritePropertyWrites a value at a specific priority level
WritePropertyMultipleAllows batch writes for consistency across multiple objects
Services: how software interacts with objects

BACnet objects become truly useful when other devices and software can interact with them. This interaction happens through BACnet services, which are standardized operations defined by the protocol. Services allow systems to read values, write commands, discover devices, or subscribe to updates.

Without services, the object model would just be a static description. With them, it becomes a dynamic framework for real-time automation.

Common BACnet services and their uses

Service Typical use case
ReadPropertyRetrieve the value of a single property (e.g., Present Value)
ReadPropertyMultipleRead several properties at once to reduce traffic
WritePropertyWrite a command or update a configuration value
WritePropertyMultipleWrite to several properties in one operation
SubscribeCOVSubscribe to updates when a property changes (instead of polling)
Who-Is / I-AmDiscover devices on the network and identify them
Who-Has / I-HaveFind objects by name across devices

💡 With these services, building management systems can automatically discover devices, configure them, monitor real-time values, and ensure smooth multi-vendor interoperability. For a complete overview of network exchanges, discovery and services, see How does BACnet work?

Trends, schedules & higher-level behavior

Beyond simple sensors and actuators, the BACnet object model also supports objects that define behavior and historical data. These higher-level objects are essential for building automation strategies such as energy optimization, predictive maintenance, and comfort scheduling.

Key high-level objects

  • Schedule: Defines time-based automation, such as switching HVAC systems on during working hours and off at night.
  • Calendar: Manages exceptions like holidays, special events, or building closures.
  • Trend Log: Records historical values of properties, providing data for analytics, diagnostics, and compliance.

Table — High-level BACnet objects and their benefits

Object Benefit
ScheduleAutomates recurring operations locally, reducing manual intervention and network load
CalendarCentralizes exceptions (holidays, maintenance days) for easier management
Trend LogProvides historical data for diagnostics, energy efficiency tracking, and reporting

These objects turn BACnet from a simple communication protocol into a complete framework for automation and optimization.

Interoperability profiles: specifying capabilities

While the BACnet object model defines how devices represent data, interoperability also requires that devices declare what they are capable of doing. This is achieved through formal profiles and documentation.

Key interoperability mechanisms

  • BIBBs (BACnet Interoperability Building Blocks)
    Each BIBB describes a set of services and functions that a device must support to fulfill a specific role (e.g., a scheduler, a logging device, or an alarm notifier).
  • PICS (Protocol Implementation Conformance Statement)
    A mandatory document provided by vendors, listing exactly which objects, properties, and services are implemented.
  • EPICS (Extended PICS)
    An extended form of PICS used for larger and more complex devices or integrations.

These profiles ensure that two BACnet devices from different vendors can be matched for compatibility before deployment.

Table — Interoperability artifacts and their role

Artifact Role
BIBBsDefine functional building blocks for interoperability
PICSVendor’s declaration of supported objects and services
EPICSExtended statement for complex devices/integrations

💡 Thanks to these standardized profiles, system integrators can verify interoperability upfront, avoiding costly surprises during commissioning.

Worked example: mapping a rooftop unit (RTU)

To illustrate how the BACnet object model works in practice, let’s take a rooftop unit (RTU) used for HVAC. This single piece of equipment includes multiple functions, each represented as a BACnet object.

Typical object mapping for an RTU

Analog Input (AI)

Example: Supply Air Temperature

Purpose: Monitors delivered air temperature

Analog Output (AO)

Example: Fan Speed Command

Purpose: Controls variable fan speed (%)

Binary Input (BI)

Example: Filter Alarm

Purpose: Detects clogged filter condition

Binary Output (BO)

Example: Compressor Enable

Purpose: Turns the compressor ON/OFF

Multi-State Value (MSV)

Example: Operating Mode (Auto/Heat/Cool/Off)

Purpose: Selects unit operating mode

Schedule

Example: Occupancy Program

Purpose: Runs HVAC only during building use

Trend Log

Example: Energy Consumption (kWh)

Purpose: Records historical energy usage

How it operates

  • The supervisor subscribes to the Supply Air Temperature (AI) via SubscribeCOV to avoid continuous polling.
  • A control algorithm writes to the Fan Speed Command (AO) at priority 10 for energy optimization.
  • The fire safety system can override the same AO at priority 2 in emergency mode.
  • The Schedule object ensures the RTU runs only during occupancy hours.
  • The Trend Log provides historical data for diagnostics and energy reports.

This example shows how the BACnet object model enables clear structuring, deterministic control, and vendor-independent interoperability.

Why the object model matters (for owners & integrators)

The BACnet object model is not just a technical abstraction — it has direct business and operational benefits for building owners, facility managers, and system integrators.

How it operates

  1. True multi-vendor interoperability
    Devices from different manufacturers can exchange data seamlessly because they all follow the same object definitions.
  2. Transparency and clarity
    Every function is modeled as an object with a clear name, properties, and expected behavior. This makes troubleshooting and documentation easier.
  3. Deterministic control
    With the priority mechanism, multiple systems can safely command the same point without conflicts.
  4. Scalability and future-proofing
    Adding new devices or expanding a system is straightforward — just map additional objects instead of relying on custom protocols.
  5. Operational efficiency
    Functions like COV (Change of Value), schedules, and trend logs reduce network traffic, automate repetitive tasks, and provide actionable insights.

Table — Business benefits of the BACnet object model

Benefit Impact
StandardizationFaster integration, lower engineering costs
TransparencyEasier diagnostics, reliable documentation
DeterminismSafe multi-system control without conflicts
EfficiencyReduced traffic, automated tasks, better insights
Future-proofingAvoids vendor lock-in, scalable over time
Frequently Asked Questions (FAQ) - BACnet Object Model

It’s a standardized way to represent every building function as an object with properties and services, so devices from different vendors can communicate seamlessly.

Objects package the value with metadata (units, status, priority) and define how it can be accessed, which ensures consistency across systems.

Yes. While object types are standardized, vendors can extend them with optional properties or create proprietary objects when needed.

Mandatory properties guarantee basic interoperability. Optional properties provide added functionality but are not required for compatibility.

Services like ReadProperty and WriteProperty allow systems to read or write values, while SubscribeCOV lets them get updates when values change.

Yes. It was designed to ensure vendor independence, meaning equipment from different manufacturers can work together without custom drivers.

Objects like Trend Logs and Schedules make it easy to monitor consumption, automate operation times, and optimize system performance for energy savings.

About Actility

Media contact : marketing@actility.com – https://www.actility.com/contact/ 

Why choose Actility?

At Actility, we are passionate about unlocking the full potential of IoT for businesses and communities around the world. Join us as we continue to innovate, collaborate, and lead the way in connecting the digital and physical realms through cutting-edge IoT solutions.

© 2024 Actility’s All Rights Reserved