Skip to content
Version 6.1.0
Contact Us

Lighting Output

A Lighting Output object controls and reports one dimmable light or lighting load. A client sets a level, ramps, fades or steps it with a lighting command. The object also tracks the level the light has reached. It suits dimmable luminaires and lighting controllers.

  • Dim a ceiling light to 40 percent
  • Fade a corridor light up over several seconds
  • Step brightness up or down from a wall control
  • Report the actual level and power draw of a luminaire
Property What it holds
Present_Value The requested brightness level as a percent. It is commandable.
Lighting_Command A structured command: set a level, fade, ramp, step, warn or stop. Writing it is the main way to control the light.
Tracking_Value The level the light has actually reached while a fade or ramp runs.
In_Progress Shows whether a fade, ramp or step is running.
Default_Fade_Time The fade time used when a command does not give one.
Default_Ramp_Rate The ramp rate used when a command does not give one.

A Lighting Output is always commandable, with a priority array of 16 levels. The standard applies no event algorithm to it; where reporting is supported, it only reports faults through Reliability, which then shows in Event_State.

Enable it with the STACK_OPTION_OBJECT_TYPE_LIGHTING_OUTPUT build option and add each object with BACnetStack_AddObject; it is always commandable. Present_Value is a Real: the stack reads the priority array through the callback you register with BACnetStack_RegisterCallbackGetPropertyBool (is the slot empty) and the BACnetStack_RegisterCallbackGetPropertyReal callback (the slot value), and writes through the BACnetStack_RegisterCallbackSetPropertyReal callback, as the BACnetStack_AddObject page describes. Supply Lighting_Command with BACnetStack_RegisterCallbackGetPropertyLightingCommand and accept writes to it with BACnetStack_RegisterCallbackSetPropertyLightingCommand; a Lighting Output needs both to be conformant. Serve Object_Name with the BACnetStack_RegisterCallbackGetPropertyCharacterString callback. To report faults, enable them with BACnetStack_SetAlarmsAndEventsForObjectEnabled, which attaches the NONE event algorithm; Event_State then shows FAULT while a Reliability fault is held.

Binary Lighting Output, Channel, Color, Color Temperature

The properties ASHRAE 135-2024 clause 12.54 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 Real W yes yes Built by the stack from the priority array your callbacks serve, or Relinquish_Default when every slot is empty.
Tracking_Value Real R yes no 0.0
Lighting_Command BACnetLightingCommand W yes yes No default: the read fails.
In_Progress BACnetLightingInProgress R yes no 0
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
Default_Fade_Time Unsigned R yes no 0
Default_Ramp_Rate Real R yes no 0.0
Default_Step_Increment Real R yes no 0.0
Transition BACnetLightingTransition O no no 0
Feedback_Value Real O no no 0.0
Priority_Array BACnetARRAY[16] of BACnetOptionalReal R yes no Built by the stack from your callbacks.
Relinquish_Default Real R yes no No default: value-not-initialized until a callback or a client write supplies one.
Power Real O no no 0.0
Instantaneous_Power Real O no no 0.0
Min_Actual_Value Real O2,15 no no 0.0
Max_Actual_Value Real O2,15 no no 0.0
Lighting_Command_Default_Priority Unsigned R yes no 0
COV_Increment Real O3 no no 0.0
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 Boolean 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.
Last_On_Value Real R yes no 0.0
Default_On_Value Real R yes no 0.0
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.
High_End_Trim Real O no no 0.0
Low_End_Trim Real O no no 0.0
Trim_Fade_Time Unsigned O14 no no 0
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 ""