What is a BACnet Life Safety object?

BACnet Integration Solutions

Chipkin has BACnet integration solutions for almost every situation. We specialize in network protocol communications and have over 20+ years of experience. Click for more information:

https://cdn.chipkin.com/assets/uploads/2022/Apr/QS-3XX0-2xx0-1XX0-SQ-NB 500pxls_13-18-44-12.png

The BACnet standard defines two Life Safety object types used for fire, safety, and security applications: Life Safety Point and Life Safety Zone. These objects provide a standardized way for BACnet clients (workstations, supervisory controllers, gateways, etc.) to monitor and control life-safety related devices and zones.

Life Safety object types

  • Life Safety Point – represents a single monitored/controlled point (e.g., smoke detector, pull station, horn/strobe).
  • Life Safety Zone – represents a logical grouping of points and/or zones (e.g., “Floor 3 West Fire Zone”).

Both object types are typically evaluated through two key concepts: Mode and State. Mode is usually operator-driven (e.g., enabled, disabled, test). State reflects the device or zone condition as determined by internal logic (e.g., normal, alarm, pre-alarm, fault).

For broader BACnet development and troubleshooting, you may also want: BACnet Explorer diagnostic tool and the CAS BACnet protocol stack.

Life Safety Point object

A Life Safety Point object models an individual life-safety endpoint. Typical examples include:

  • Automatic fire detectors (smoke, heat, multi-criteria detectors)
  • Audible/visual annunciators (sirens, sounders, horn/strobes)
  • Manual initiating devices (pull stations)

Common properties and datatypes (Life Safety Point)

The table below summarizes common Life Safety Point object properties and their BACnet datatypes. (Exact required/optional status depends on the standard revision and device profile.)

Property Datatype
Object_Identifier BACnet Object Identifier
Object_Name Character String
Object_Type BACnet Object Type
Present_Value BACnet Life Safety State
Tracking_Value BACnet Life Safety State
Description Character String
Device_Type Character String
Status_Flags BACnet Status Flags
Event_State BACnet Event State
Reliability BACnet Reliability
Out_Of_Service Boolean
Mode BACnet Life Safety Mode
Accepted_Modes List of BACnet Life Safety Mode
Time_Delay Unsigned
Notification_Class Unsigned
Life_Safety_Alarm_Values List of BACnet Life Safety State
Alarm_Values List of BACnet Life Safety State
Fault_Values List of BACnet Life Safety State
Event_Enable BACnet Event Transition Bits
Acked_Transitions BACnet Event Transition Bits
Notify_Type BACnet Notify Type
Event_Time_Stamps BACnet ARRAY (3) of BACnet Time Stamp
Silenced BACnet Silenced State
Operation_Expected BACnet Life Safety Operation
Maintenance_Required BACnet Maintenance
Setting Unsigned
Direct_Reading Real
Units BACnet Engineering Units
Member_Of List of BACnet Device Object Reference
Profile_Name Character String

Life Safety Zone object

The Life Safety Zone object is conceptually similar to the Life Safety Point object, but it focuses on a group of points and/or zones. A zone might represent a floor, smoke compartment, stairwell, or any logical fire zone used by a facility’s life-safety design.

Common properties and datatypes (Life Safety Zone)

Many properties are shared with the Life Safety Point object, but zone-specific properties typically include membership lists (e.g., Zone_Members).

Property Datatype
Object_Identifier BACnet Object Identifier
Object_Name Character String
Object_Type BACnet Object Type
Present_Value BACnet Life Safety State
Tracking_Value BACnet Life Safety State
Description Character String
Status_Flags BACnet Status Flags
Event_State BACnet Event State
Reliability BACnet Reliability
Out_Of_Service Boolean
Mode BACnet Life Safety Mode
Accepted_Modes List of BACnet Life Safety Mode
Time_Delay Unsigned
Notification_Class Unsigned
Life_Safety_Alarm_Values List of BACnet Life Safety State
Alarm_Values List of BACnet Life Safety State
Fault_Values List of BACnet Life Safety State
Event_Enable BACnet Event Transition Bits
Acked_Transitions BACnet Event Transition Bits
Notify_Type BACnet Notify Type
Event_Time_Stamps BACnet ARRAY (3) of BACnet Time Stamp
Silenced BACnet Silenced State
Operation_Expected BACnet Life Safety Operation
Maintenance_Required Boolean
Zone_Members List of BACnet Device Object Reference
Member_Of List of BACnet Device Object Reference
Profile_Name Character String

Implementation notes (Mode and State)

When integrating BACnet Life Safety objects, focus on how Mode interacts with Present_Value (State). For example, a device in TEST mode may deliberately report a non-normal state for validation purposes. Your client application should also treat Status_Flags, Reliability, and Event_State as first-class inputs when deciding whether an alarm condition should be annunciated.


>

Examples from a real automation context

The following two examples illustrate typical Life Safety objects: a Point representing a smoke detector and a Zone representing a building fire zone. The values below are structured for readability (attribute → value).


Example: Life Safety Point (smoke detector)

Attribute Value
Object_Identifier (Life Safety Point, Instance 2)
Object_Name SMK3W
Object_Type LIFE_SAFETY_POINT
Present_Value PREALARM
Tracking_Value PREALARM
Description Floor 3, West Zone Smoke Detector
Device_Type Old Smokey model 123
Status_Flags {TRUE, FALSE, FALSE, FALSE}
Event_State LIFE_SAFETY_ALARM
Reliability NO_FAULT_DETECTED
Out_Of_Service FALSE
Mode ON
Accepted_Modes {ENABLED, DISABLED, TEST}
Time_Delay 10
Notification_Class 39
Life_Safety_Alarm_Values (ALARM)
Alarm_Values (PREALARM)
Fault_Values (FAULT)
Event_Enable {TRUE, TRUE, TRUE}
Acked_Transitions {TRUE, TRUE, TRUE}
Notify_Type ALARM
Event_Time_Stamps ((23-MAR-95, 18:50:21.2), (*-*-*, *:*:*.*), (23-MAR-95, 19:01:34.0))
Silenced SILENCE_AUDIBLE
Operation_Expected RESET_ALARM
Maintenance_Required NONE
Setting 50
Direct_Reading 84.3
Units PERCENT-OBSCURATION-PER-METER
Member_Of ((Life Safety Zone, Instance 5))

Example: Life Safety Zone (fire zone)

Attribute Value
Object_Identifier (Life Safety Zone, Instance 2)
Object_Name SMK3
Object_Type LIFE_SAFETY_ZONE
Present_Value PREALARM
Tracking_Value PREALARM
Description Floor 3 Smoke
Status_Flags {TRUE, FALSE, FALSE, FALSE}
Event_State LIFE_SAFETY_ALARM
Reliability NO_FAULT_DETECTED
Out_Of_Service FALSE
Mode ON
Accepted_Modes {ENABLED, DISABLED, TEST}
Time_Delay 10
Notification_Class 39
Life_Safety_Alarm_Values (ALARM)
Alarm_Values (PREALARM)
Fault_Values (FAULT)
Event_Enable {TRUE, TRUE, TRUE}
Acked_Transitions {TRUE, TRUE, TRUE}
Notify_Type ALARM
Event_Time_Stamps ((23-MAR-95, 18:50:21.2), (*-*-*, *:*:*.*), (23-MAR-95, 19:01:34.0))
Silenced UNSILENCED
Operation_Expected SILENCE_AUDIBLE
Maintenance_Required NONE
Zone_Members ((Life Safety Point, Instance 22), (Life Safety Point, Instance 23))
Member_Of ((Life Safety Zone, Instance 5))

Technical FAQ

What is the practical difference between Mode and Present_Value?

Mode is typically an operational setting (enabled/disabled/test) controlled by an operator or supervisory logic. Present_Value is the current life-safety state (normal, alarm, pre-alarm, fault) driven by device inputs and internal evaluation.

Why do Status_Flags and Reliability matter for life-safety integration?

These fields provide quality context. A state that appears “normal” may still be unreliable or overridden (e.g., out of service). For alarming and annunciation, client logic should evaluate Present_Value along with Status_Flags, Reliability, and Event_State.

How are zones typically used in BACnet life-safety systems?

Zones group multiple points into a single conceptual fire/safety region. This supports higher-level alarming (annunciate “Floor 3 Smoke”) while still permitting point-level drill-down (identify the initiating detector).

Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
8:00am - 12:00pm 12:00pm - 5:00pm
Message Sent Successfully