BACnet Object Reference BACnet
The numbers a controller, a packet capture, or a workstation hands you instead of names.
Object Types is the Object_Type enumeration — what kind of point an object is (type 1 = Analog Output).
Property IDs is the Property_Identifier enumeration — which field of an object you are reading (property 85 = Present_Value), and the numbers are the same across every object type.
Eng. Units is the common slice of the Units enumeration. Type a name or a number to filter all three.
The Object_Type value carried in every object identifier. AI / AO / AV and BI / BO / BV are the day-to-day four-fifths of any device.
| Type | Object | What it is |
|---|---|---|
| 0 | Analog Input (AI) | A sensed analog value coming in — temperature, pressure, humidity. |
| 1 | Analog Output (AO) | A commandable analog value going out — valve, damper, VFD speed. |
| 2 | Analog Value (AV) | An analog value living in software — a setpoint or calculated number. |
| 3 | Binary Input (BI) | A sensed two-state value coming in — a status or switch contact. |
| 4 | Binary Output (BO) | A commandable two-state output — a relay or start/stop command. |
| 5 | Binary Value (BV) | A two-state value living in software — a mode flag or enable. |
| 6 | Calendar | A list of dates and date ranges that schedules reference. |
| 7 | Command | Writes a set of values to many objects from one write. |
| 8 | Device | The controller itself — one per device, holding its identity and capabilities. |
| 9 | Event Enrollment | Defines an alarm/event condition and who gets notified. |
| 10 | File | A file reachable through BACnet file services. |
| 11 | Group | A read-back bundle of properties from other objects. |
| 12 | Loop | A built-in PID control loop. |
| 13 | Multi-state Input (MSI) | A sensed enumerated state coming in. |
| 14 | Multi-state Output (MSO) | A commandable enumerated state going out. |
| 15 | Notification Class | Routes event notifications to recipients with priorities. |
| 16 | Program | An executing control program inside the device. |
| 17 | Schedule | A weekly + exception schedule that writes a value on time. |
| 18 | Averaging | Records the min, max, and average of a sampled property. |
| 19 | Multi-state Value (MSV) | An enumerated state living in software. |
| 20 | Trend Log | Records samples of a property over time. |
| 21 | Life Safety Point | A fire / life-safety point. |
| 22 | Life Safety Zone | A fire / life-safety zone. |
| 23 | Accumulator | A pulse / meter accumulator — kWh, gallons, pulses. |
| 24 | Pulse Converter | Scales accumulator pulses into engineering units. |
| 25 | Event Log | Records event notifications over time. |
| 26 | Global Group | A read-back bundle spanning several devices. |
| 27 | Trend Log Multiple | Logs several properties on one shared timebase. |
| 28 | Load Control | Sheds electrical load on demand. |
| 29 | Structured View | A tree node for organizing objects — folders. |
| 30 | Access Door | A physical access-control door. |
| 54 | Lighting Output | A dimmable lighting channel. |
| 55 | Binary Lighting Output | An on/off lighting channel. |
| 56 | Network Port | A network interface's configuration — IP, MS/TP, BACnet/SC. |
| No object types match that filter. | ||
Types 31–53 cover access control, scheduling, and the value-object family (integer, character-string, datetime…). See ASHRAE 135 for the full list.
The Property_Identifier numbers are constant across every object type — property 85 is Present_Value whether the object is an AI or a BO.
| ID | Property | Meaning |
|---|---|---|
| 75 | Object_Identifier | The object's type + instance number — e.g. analog-input, 4. |
| 77 | Object_Name | A text name, unique within the device. |
| 79 | Object_Type | The object's enumerated type — see the Object Types tab. |
| 85 | Present_Value | The live value — the property you read and write most. |
| 28 | Description | Free-text description of the object. |
| 87 | Priority_Array | 16 command slots; the highest non-null slot wins (commandable objects). |
| 104 | Relinquish_Default | The value used when every priority slot is null. |
| 81 | Out_Of_Service | True decouples Present_Value from the physical I/O for testing. |
| 36 | Event_State | normal / fault / offnormal / high-limit / low-limit. |
| 103 | Reliability | Why a value is untrustworthy — over-range, open-loop, no-fault. |
| 111 | Status_Flags | { in-alarm, fault, overridden, out-of-service }. |
| 117 | Units | The engineering-units enumeration — see the Eng. Units tab. |
| 84 | Polarity | normal / reverse for binary objects — physical vs. logical sense. |
| 22 | COV_Increment | The smallest change that triggers a Change-of-Value notification. |
| 17 | Notification_Class | Which Notification Class object routes this object's events. |
| 76 | Object_List | The device's list of all its objects — read during discovery. |
| 70 | Model_Name | The device's model string. |
| 120 | Vendor_Name | The manufacturer's name. |
| 121 | Vendor_Identifier | The manufacturer's assigned BACnet vendor ID number. |
| No properties match that filter. | ||
This is the common slice — the full enumeration runs past 500. The numbers above are the ones you meet reading and overriding points.
The value of an object's Units property (117). The full enumeration runs to roughly 200 values; these are the common HVAC ones.
| Enum | Engineering unit |
|---|---|
| 95 | no-units |
| 98 | percent |
| 62 | degrees-Celsius |
| 64 | degrees-Fahrenheit |
| 63 | degrees-Kelvin |
| 65 | degree-days-Celsius |
| 66 | degree-days-Fahrenheit |
| 2 | milliamperes |
| 3 | amperes |
| 4 | ohms |
| 5 | volts |
| 47 | watts |
| 48 | kilowatts |
| 19 | kilowatt-hours |
| 53 | pascals |
| 54 | kilopascals |
| 58 | inches-of-water |
| 84 | cubic-feet-per-minute |
| 87 | liters-per-second |
| No units match that filter. | |
Codes vary by edition and a controller may expose vendor extensions — confirm the exact value against your device or ASHRAE 135 before trusting it.