BACnet BitString Value Object

The BACnet BitString Value object (Clause 12.40) exposes a named set of individually addressable bits with per-bit labels, read-only or commandable.

What the BitString Value Object Is

The BitString Value object, defined in Clause 12.40 of ANSI/ASHRAE 135-2024, exposes a named bit-string value inside a BACnet device to other devices on the network. It makes any kind of bit-string data readable and, optionally, writable: a packed set of status flags, a group of enable bits, or any collection of individually addressable boolean fields the control logic holds. The optional Bit_Text array names each bit so a reader can map a bit position to its meaning.

A BitString Value can be read-only or commandable. When it is commandable, it carries the same 16-slot priority array as an Analog Output; when it is a simple stored value, it does not. BitString Value objects that support intrinsic reporting apply the CHANGE_OF_BITSTRING event algorithm and deliver the alarm through the event notification services.

Where You’ll See It

  • Packed status flags. A word of alarm or status bits exposed as one value other devices read with ReadProperty.
  • Enable masks. A set of feature or stage enable bits a technician toggles.
  • Grouped booleans. A cluster of related on/off conditions carried together rather than as separate Binary Value objects.

Required Properties

Clause 12.40 requires every BitString Value object to provide these properties. Datatypes are the spec’s names: BitString is a sequence of individually addressable bits, CharacterString a text string, and the 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 bitstring-value for this object
Present_ValueBitStringThe bit-string value. Read-only or commandable depending on the instance
Status_FlagsBACnetStatusFlagsFour health flags: in-alarm, fault, overridden, out-of-service
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe list of properties this instance actually implements

When the object is commandable, it additionally implements Priority_Array (the 16 command slots), Relinquish_Default (the fallback when all slots are Null), and Current_Command_Priority. On a simple stored BitString Value these are absent. See How Commanding Works on the Analog Output page for the priority-array model.

Optional Properties

The properties integrators meet most are Bit_Text (the label for each bit position), the alarm group (Alarm_Values, Bit_Mask) that drives the CHANGE_OF_BITSTRING algorithm, and, on commandable instances, the command-tracking group. The intrinsic-reporting group generally appears or is absent as a set.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
Out_Of_ServiceBOOLEANGeneral
Event_StateBACnetEventStateGeneral
Bit_TextBACnetARRAY[N] of CharacterStringGeneral
Priority_ArrayBACnetPriorityArrayCommanding
Relinquish_DefaultBitStringCommanding
Current_Command_PriorityBACnetOptionalUnsignedCommanding
Value_SourceBACnetValueSourceCommanding
Value_Source_ArrayBACnetARRAY[16] of BACnetValueSourceCommanding
Last_Command_TimeBACnetTimeStampCommanding
Command_Time_ArrayBACnetARRAY[16] of BACnetTimeStampCommanding
Alarm_ValuesBACnetARRAY[N] of BIT STRINGIntrinsic reporting
Bit_MaskBitStringIntrinsic reporting
Time_DelayUnsignedIntrinsic 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
Event_Detection_EnableBOOLEANIntrinsic reporting
Event_Algorithm_Inhibit_RefBACnetObjectPropertyReferenceIntrinsic reporting
Event_Algorithm_InhibitBOOLEANIntrinsic reporting
Time_Delay_NormalUnsignedIntrinsic reporting
ReliabilityBACnetReliabilityFault detection
Reliability_Evaluation_InhibitBOOLEANFault detection
Audit_LevelBACnetAuditLevelAuditing
Auditable_OperationsBACnetAuditOperationFlagsAuditing
TagsBACnetARRAY[N] of BACnetNameValueTagging and profile
Profile_LocationCharacterStringTagging and profile
Profile_NameCharacterStringTagging and profile

What Chipkin Provides

The BitString Value object, in both read-only and commandable forms, is a first-class object type in the CAS BACnet Stack. Talk to us about modeling your device’s points.