BACnet Color Object

The BACnet Color object (Clause 12.65) controls a lighting color as CIE xy coordinates with fading commands

What the Color Object Is

The Color object, defined in Clause 12.65 of ANSI/ASHRAE 135-2024, controls the color output of a device, typically a lighting fixture. 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 functionality, including fading, that would otherwise need custom programming. The color is analog in nature and is expressed in the xyColor model, a pair of x and y coordinates on the CIE chromaticity diagram, each from 0 to 1.

The color changes when a client writes an absolute value to Present_Value or issues a command through Color_Command, which supports functions such as fading from one color to another over a time. Tracking_Value reports the color actually being produced as a fade proceeds, and In_Progress reports whether a color operation is running. Writes to Present_Value go directly and through Color_Command rather than through a 16-slot priority array, so the Color object is not commandable in the priority-array sense.

Where You’ll See It

  • Tunable lighting. A color-tunable luminaire exposes a Color object so a scene controller sets an exact color point.
  • Fade transitions. Color_Command fades a fixture smoothly from one color to another over a configured time rather than jumping instantly.
  • Paired with luminance. A Color object controls the color of a fixture whose brightness is driven by a linked Lighting Output, the two connected through the lighting object’s color reference.

Required Properties

Clause 12.65 requires every Color object to provide these properties. Datatypes are the spec’s names: Unsigned is an integer, BACnetxyColor a CIE x and y coordinate pair, 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.

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 color for this object
Present_ValueBACnetxyColorWritable; the target color as CIE xy coordinates
Tracking_ValueBACnetxyColorThe color actually being produced, tracked during a fade
Color_CommandBACnetColorCommandWritable; a color operation such as fade-to-color
In_ProgressBACnetColorOperationInProgressWhether a color operation is currently running
Default_ColorBACnetxyColorThe color applied on restart
Default_Fade_TimeUnsignedThe fade time used when a command specifies none
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe list of properties this instance actually implements

Optional Properties

The properties integrators meet most are Transition (how the object moves between colors) and Value_Source (which client last set the color). Description labels the object.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
TransitionBACnetColorTransitionLighting color
Value_SourceBACnetValueSourceCommanding
Audit_LevelBACnetAuditLevelAuditing
Auditable_OperationsBACnetAuditOperationFlagsAuditing
TagsBACnetARRAY[N] of BACnetNameValueTagging and profile
Profile_LocationCharacterStringTagging and profile
Profile_NameCharacterStringTagging and profile
  • Color Temperature: controls white-light color temperature in Kelvin, where the Color object controls full-spectrum color as xy coordinates.
  • Lighting Output: controls a fixture’s brightness, commonly paired with a Color object for its color.
  • Analog Value: a general analog point, where the Color object carries a purpose-built color datatype.

What Chipkin Provides

The Color object is a first-class object type in the CAS BACnet Stack, modeled with its xyColor value and color-command properties. Talk to us about modeling your device’s points.