BACnet Binary Value Object

The BACnet Binary Value object (Clause 12.8) is a two-state software point: mode flags and enables, read-only or commandable

What the Binary Value Object Is

The Binary Value object, defined in Clause 12.8 of ANSI/ASHRAE 135-2024, represents a two-state value inside a BACnet device that is not tied to a physical input or output. Where a Binary Input reads a contact and a Binary Output drives a relay, a Binary Value is a software flag: an enable, a mode, an occupancy state, or any on/off condition the logic holds and may share.

A Binary Value can be read-only or commandable. When commandable, it carries the same 16-slot priority array as a Binary Output; when it is a simple stored flag, it does not. Binary Value objects that support intrinsic reporting apply the CHANGE_OF_STATE event algorithm.

Where You’ll See It

  • Enables and modes. An occupancy flag, a system enable, or an economizer-enable bit an operator or sequence sets.
  • Software commands. A shared on/off request that several controllers read, with no physical relay behind it.
  • Status summaries. A single Binary Value that rolls up a condition for other devices to read.

Required Properties

Clause 12.8 requires every Binary Value object to provide these properties. Datatypes are the spec’s names: BACnetBinaryPV is the two-state present value (active or inactive), BOOLEAN a true/false flag, and the other 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 binary-value for this object
Present_ValueBACnetBinaryPVThe state, active or inactive. Read-only or commandable depending on the instance
Status_FlagsBACnetStatusFlagsFour health flags: in-alarm, fault, overridden, out-of-service
Event_StateBACnetEventStateThe object’s current event state (normal, off-normal, or fault)
Out_Of_ServiceBOOLEANWhen true, Present_Value is decoupled for testing and override
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe list of properties this instance actually implements

When the object is commandable, it additionally implements Priority_Array, Relinquish_Default, and Current_Command_Priority. On a simple stored Binary Value these are absent. See How Commanding Works on the Binary Output page for the priority-array model.

Optional Properties

The properties integrators meet most are the state labels Inactive_Text and Active_Text, Alarm_Value (which state is the alarm), and, on commandable instances, the command-tracking group. The intrinsic-reporting group generally appears or is absent as a set.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
Inactive_TextCharacterStringState labels
Active_TextCharacterStringState labels
Change_Of_State_TimeBACnetDateTimeRuntime tracking
Change_Of_State_CountUnsignedRuntime tracking
Time_Of_State_Count_ResetBACnetDateTimeRuntime tracking
Elapsed_Active_TimeUnsigned32Runtime tracking
Time_Of_Active_Time_ResetBACnetDateTimeRuntime tracking
Minimum_Off_TimeUnsigned32Switching protection
Minimum_On_TimeUnsigned32Switching protection
Priority_ArrayBACnetPriorityArrayCommanding
Relinquish_DefaultBACnetBinaryPVCommanding
Current_Command_PriorityBACnetOptionalUnsignedCommanding
Value_SourceBACnetValueSourceCommanding
Value_Source_ArrayBACnetARRAY[16] of BACnetValueSourceCommanding
Last_Command_TimeBACnetTimeStampCommanding
Command_Time_ArrayBACnetARRAY[16] of BACnetTimeStampCommanding
Alarm_ValueBACnetBinaryPVIntrinsic 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 Binary 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.