Skip to content
Version 6.1.0
Contact Us

Binary Lighting Output

A Binary Lighting Output object controls a light that is either on or off, and it adds lighting features that would otherwise need custom programming. The best known is blink-warn: the lights flash briefly before they switch off, so anyone still in the room has time to react. Several writers share the output through a priority array.

  • A relay-switched lighting circuit
  • Office lights turned on by a schedule at 7:00
  • A warning blink before lights switch off at close
  • A corridor circuit that stays on during egress
Property What it holds
Present_Value The commanded state. Besides on and off, a client can write a blink-warn command: WARN, WARN_OFF or WARN_RELINQUISH, or STOP.
Blink_Warn_Enable Turns the warning blink on or off for this circuit.
Egress_Time How long the lights stay on after a WARN_RELINQUISH command before the value is given up.
Feedback_Value The actual state of the lights, for comparison with the command.
Priority_Array Sixteen slots that arbitrate between writers. Relinquish_Default is used when all are empty.

Present_Value is commandable. With intrinsic reporting, the standard applies the NONE event algorithm: the object can report fault conditions, but no alarm algorithm runs.

Enable it with the STACK_OPTION_OBJECT_TYPE_BINARY_LIGHTING_OUTPUT build option. Add each object with BACnetStack_AddObject. The stack always treats it as commandable and reads the priority array through your callbacks instead of calling a plain Present_Value getter. Register your other property callbacks as for any object type.

Lighting Output, Binary Output, Channel

The properties ASHRAE 135-2024 clause 12.55 defines for this object type.

How to read the table:

  • Conformance is what the standard asks of every object of this type: R is required, W is required and writable by a client, O is optional. A digit after the letter marks a condition in the standard that decides when the property is present or writable, such as support for intrinsic reporting.
  • Present by default: yes means the stack presents the property as soon as you add the object; no means it is optional and you turn it on with BACnetStack_SetPropertyEnabled. This is the stack’s starting setup, so it can differ from the conformance code.
  • Writable is whether a client can write the property by default. Change it with BACnetStack_SetPropertyWritable.
  • not in profile means the stack does not offer this property for this object type.
  • Value when your callback does not answer: “Held by the stack” means the stack stores and serves the value itself and does not ask your callbacks. Otherwise it is the value the stack answers when your callback declines or is not registered.
Property Datatype Conformance Present by default Writable Value when your callback does not answer
Object_Identifier BACnetObjectIdentifier R yes no Held by the stack.
Object_Name CharacterString R yes no "Object <type>,<instance>", such as "Object 0,1" for Analog Input 1.
Object_Type BACnetObjectType R yes no Held by the stack.
Present_Value BACnetBinaryLightingPV W yes yes Built by the stack from the priority array your callbacks serve, or Relinquish_Default when every slot is empty.
Description CharacterString O no no ""
Status_Flags BACnetStatusFlags R yes no Built by the stack from your callbacks.
Event_State BACnetEventState O1 no no 0
Reliability BACnetReliability O no no 0
Out_Of_Service Boolean R yes no false
Blink_Warn_Enable Boolean R yes no false
Egress_Time Unsigned R yes no 0
Egress_Active Boolean R yes no false
Feedback_Value BACnetBinaryLightingPV O no no No default: the read fails.
Priority_Array BACnetARRAY[16] of BACnetOptionalBinaryLightingPV R yes no Built by the stack from your callbacks.
Relinquish_Default BACnetBinaryLightingPV R yes no No default: value-not-initialized until a callback or a client write supplies one.
Power Real O no no 0.0
Polarity BACnetPolarity O no no 0
Elapsed_Active_Time Unsigned32 O2 no no 0
Time_Of_Active_Time_Reset BACnetDateTime O2 no no No default: the read fails.
Strike_Count Unsigned O3 no no 0
Time_Of_Strike_Count_Reset BACnetDateTime O3 no no No default: the read fails.
Event_Detection_Enable Boolean O1,4 no no false
Notification_Class Unsigned O1,4 no no 0
Event_Enable BACnetEventTransitionBits O1,4 no no An empty bit string.
Acked_Transitions BACnetEventTransitionBits O1,4 no no An empty bit string.
Notify_Type BACnetNotifyType O1,4 no no 0
Event_Time_Stamps BACnetARRAY[3] of BACnetTimeStamp O1,4 no no No default: the read fails.
Event_Message_Texts BACnetARRAY[3] of CharacterString O4 no no ""
Event_Message_Texts_Config BACnetARRAY[3] of CharacterString O4 no no ""
Reliability_Evaluation_Inhibit Boolean O5 no no false
Property_List BACnetARRAY[N] of BACnetPropertyIdentifier R yes no Held by the stack.
Current_Command_Priority BACnetOptionalUnsigned R yes no Built by the stack from your callbacks.
Value_Source BACnetValueSource O6,8,10 no no No default: the read fails.
Value_Source_Array BACnetARRAY[16] of BACnetValueSource O7,9 no no No default: the read fails.
Last_Command_Time BACnetTimeStamp O7,9 no no No default: the read fails.
Command_Time_Array BACnetARRAY[16] of BACnetTimeStamp O9 no no No default: the read fails.
Audit_Level BACnetAuditLevel O11 not in profile not in profile No default: the read fails.
Auditable_Operations BACnetAuditOperationFlags O11 not in profile not in profile No default: the read fails.
Audit_Priority_Filter BACnetOptionalPriorityFilter O11 not in profile not in profile No default: the read fails.
Color_Reference BACnetObjectIdentifier O12 no no No default: the read fails.
Color_Override Boolean O13 no yes false
Override_Color_Reference BACnetObjectIdentifier O13 no no No default: the read fails.
Tags BACnetARRAY[N] of BACnetNameValue O no no No default: the read fails.
Profile_Location CharacterString O no no ""
Profile_Name CharacterString O no no ""