What the Color Temperature Object Is
The Color Temperature object, defined in Clause 12.66 of ANSI/ASHRAE 135-2024, controls the white-light color temperature of a lighting output. It is one of the color-control object types added in Protocol_Revision 24 (readable in the Device object), and it gives a BACnet device dedicated color-temperature functionality, including fading and ramping, that would otherwise need custom programming. The color-temperature output is analog in nature and is expressed in Kelvin, with a valid range of 1000 to 30000 K.
The color temperature changes when a client writes an absolute value to Present_Value or issues a command through Color_Command, which supports functions such as fade-to and ramp-to over time. Tracking_Value reports the color temperature actually being produced as a transition proceeds, and In_Progress reports whether an operation is running. Writes to Present_Value go directly and through Color_Command rather than through a 16-slot priority array, so the Color Temperature object is not commandable in the priority-array sense.
Where You’ll See It
- Tunable-white lighting. A tunable-white luminaire exposes a Color Temperature object so a controller sets a warm or cool white point in Kelvin.
- Circadian control. A schedule ramps color temperature through the day, cooler at midday and warmer in the evening, driven by
Color_Commandtransitions. - Fade and ramp.
Default_Fade_Time,Default_Ramp_Rate, andDefault_Step_Incrementshape how smoothly the output moves between color temperatures.
Required Properties
Clause 12.66 requires every Color Temperature object to provide these properties. Datatypes are the spec’s names: Unsigned is an integer (here a Kelvin value), BACnetColorCommand a color operation such as a fade, and the other BACnet-prefixed types are structured values defined by the standard. Present_Value and Color_Command are writable.
| Property | Datatype | What it holds |
|---|---|---|
Object_Identifier | BACnetObjectIdentifier | The object’s type and instance number, unique within the device |
Object_Name | CharacterString | The human-readable point name, unique within the device |
Object_Type | BACnetObjectType | Always color-temperature for this object |
Present_Value | Unsigned | Writable; the target color temperature in Kelvin (1000 to 30000) |
Tracking_Value | Unsigned | The color temperature actually being produced, tracked during a transition |
Color_Command | BACnetColorCommand | Writable; a color-temperature operation such as fade-to or ramp-to |
In_Progress | BACnetColorOperationInProgress | Whether a color-temperature operation is currently running |
Default_Color_Temperature | Unsigned | The color temperature applied on restart |
Default_Fade_Time | Unsigned | The fade time used when a command specifies none |
Default_Ramp_Rate | Unsigned | The ramp rate used when a command specifies none |
Default_Step_Increment | Unsigned | The step size used when a command specifies none |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The list of properties this instance actually implements |
Optional Properties
The properties integrators meet most are Min_Pres_Value and Max_Pres_Value (the color-temperature range the device accepts) and Transition (how the object moves between values). Description labels the object.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Min_Pres_Value | Unsigned | Value range |
Max_Pres_Value | Unsigned | Value range |
Transition | BACnetColorTransition | Lighting color |
Value_Source | BACnetValueSource | Commanding |
Audit_Level | BACnetAuditLevel | Auditing |
Auditable_Operations | BACnetAuditOperationFlags | Auditing |
Tags | BACnetARRAY[N] of BACnetNameValue | Tagging and profile |
Profile_Location | CharacterString | Tagging and profile |
Profile_Name | CharacterString | Tagging and profile |
Related Objects
- Color: controls full-spectrum color as CIE xy coordinates, where this object controls white-light temperature in Kelvin.
- Lighting Output: controls a fixture’s brightness, commonly paired with a Color Temperature object.
- Analog Value: a general analog point, where the Color Temperature object carries a purpose-built lighting datatype.
What Chipkin Provides
The Color Temperature object is a first-class object type in the CAS BACnet Stack, modeled with its Kelvin value and color-command properties. Talk to us about modeling your device’s points.