BACnet Binary Lighting Output Object

The BACnet Binary Lighting Output object (Clause 12.55) is a commandable on/off light with a blink-warn egress model and full property tables.

What the Binary Lighting Output Object Is

The Binary Lighting Output object, defined in Clause 12.55 of ANSI/ASHRAE 135-2024, is how a BACnet device represents an on/off lighting output. It is the two-state companion to the dimmable Lighting Output: the light is either on or off, and the object is commanded by writing to Present_Value, which is arbitrated through a priority array.

What distinguishes it from a plain Binary Output is the built-in blink-warn mechanism, which flashes the lights to warn occupants before an automatic shut-off. The warn commands come in three variants written to Present_Value: WARN flashes but leaves the lights unchanged, WARN_RELINQUISH flashes then keeps the lights on for an egress time before relinquishing, and WARN_OFF flashes then turns the lights off after the egress time. Binary Lighting Output objects that support intrinsic reporting apply the NONE event algorithm, so their intrinsic reporting is limited to fault conditions.

Where You’ll See It

  • Switched circuits and relays. A relay-controlled lighting circuit that a controller can only switch on or off is a Binary Lighting Output object.
  • Lighting controllers. Devices carrying the B-LD Lighting Device profile host Binary Lighting Output objects alongside dimmable Lighting Outputs.
  • Occupant warning before shut-off. A scheduled WARN_RELINQUISH flashes the lights, holds them on for the egress time so occupants can leave, then releases control.

How Commanding Works

A WriteProperty to Present_Value does not switch the light directly. It places the command in one of 16 slots of the Priority_Array, chosen by the write’s priority (1 = highest, 16 = lowest). The object presents the highest-priority non-Null slot and drives the circuit to match. Writing Null at a priority clears that slot; when every slot is Null, the output falls back to Relinquish_Default. Current_Command_Priority reports which slot is in control. This is the same priority-array arbitration used by a Binary Output. The blink-warn variants (WARN, WARN_RELINQUISH, WARN_OFF) are written to Present_Value at a chosen priority and drive the object’s internal egress timer rather than switching the light immediately.

Required Properties

Clause 12.55 requires every Binary Lighting Output object to provide these properties. Datatypes are the spec’s names: BACnetBinaryLightingPV is the on/off and blink-warn present value, Unsigned an integer, BOOLEAN a true/false flag, and the other BACnet-prefixed types are structured values defined by the standard.

PropertyDatatypeWhat it holds
Object_IdentifierBACnetObjectIdentifierThe object’s type and instance number, unique within the device
Object_NameCharacterStringThe human-readable point name, unique within the device
Object_TypeBACnetObjectTypeAlways binary-lighting-output for this object
Present_ValueBACnetBinaryLightingPVThe commanded state (on, off, or a blink-warn variant). Writable, but through the priority array, not as a direct store
Status_FlagsBACnetStatusFlagsFour health flags: in-alarm, fault, overridden, out-of-service
Out_Of_ServiceBOOLEANWhen true, Present_Value is decoupled from the physical output for testing
Blink_Warn_EnableBOOLEANWhether the blink-warn mechanism is allowed
Egress_TimeUnsignedHow long the lights stay on after a warn-relinquish, in seconds
Egress_ActiveBOOLEANWhether an egress countdown is currently running
Priority_ArrayBACnetPriorityArrayThe 16 command slots; the highest-priority non-Null slot wins
Relinquish_DefaultBACnetBinaryLightingPVThe state taken when every priority slot is Null
Current_Command_PriorityBACnetOptionalUnsignedWhich priority slot (1-16) is currently in control, or none
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe list of properties this instance actually implements

Optional Properties

The properties integrators meet most are Feedback_Value and Polarity, the runtime-tracking group (Elapsed_Active_Time, Strike_Count), and the color companions (Color_Reference, Override_Color_Reference). The intrinsic-reporting group generally appears or is absent as a set and reports faults only. The Audit_Level, Auditable_Operations, and Audit_Priority_Filter properties are the audit-logging controls added in 135-2024.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
ReliabilityBACnetReliabilityFault detection
Feedback_ValueBACnetBinaryLightingPVLighting
PowerREALLighting
PolarityBACnetPolarityLighting
Color_ReferenceBACnetObjectIdentifierLighting
Color_OverrideBOOLEANLighting
Override_Color_ReferenceBACnetObjectIdentifierLighting
Elapsed_Active_TimeUnsignedRuntime tracking
Time_Of_Active_Time_ResetBACnetDateTimeRuntime tracking
Strike_CountUnsignedRuntime tracking
Time_Of_Strike_Count_ResetBACnetDateTimeRuntime tracking
Event_StateBACnetEventStateIntrinsic reporting
Event_Detection_EnableBOOLEANIntrinsic reporting
Notification_ClassUnsignedIntrinsic reporting
Event_EnableBACnetEventTransitionBitsIntrinsic reporting
Acked_TransitionsBACnetEventTransitionBitsIntrinsic reporting
Notify_TypeBACnetNotifyTypeIntrinsic reporting
Event_Time_StampsBACnetARRAY[3] of BACnetTimeStampIntrinsic reporting
Event_Message_TextsBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Message_Texts_ConfigBACnetARRAY[3] of CharacterStringIntrinsic reporting
Reliability_Evaluation_InhibitBOOLEANFault detection
Value_SourceBACnetValueSourceCommanding
Value_Source_ArrayBACnetARRAY[16] of BACnetValueSourceCommanding
Last_Command_TimeBACnetTimeStampCommanding
Command_Time_ArrayBACnetARRAY[16] of BACnetTimeStampCommanding
Audit_LevelBACnetAuditLevelAuditing
Auditable_OperationsBACnetAuditOperationFlagsAuditing
Audit_Priority_FilterBACnetOptionalPriorityFilterAuditing
TagsBACnetARRAY[N] of BACnetNameValueTagging and profile
Profile_LocationCharacterStringTagging and profile
Profile_NameCharacterStringTagging and profile
  • Lighting Output: the dimmable counterpart with fade, ramp, and step commands.
  • Binary Output: the general-purpose commandable two-state output, without lighting-specific behavior.
  • Channel: fans a single written value out to many lighting outputs at once through the WriteGroup service.

What Chipkin Provides

The Binary Lighting Output object, including its priority array and blink-warn egress model, is a first-class object type in the CAS BACnet Stack. Talk to us about modeling your device’s points.