BACnet Time Pattern Value Object

The BACnet Time Pattern Value object (Clause 12.47) holds a time with wildcard fields that match many recurring times, read-only or commandable.

What the Time Pattern Value Object Is

The Time Pattern Value object, defined in Clause 12.47 of ANSI/ASHRAE 135-2024, exposes a named time pattern inside a BACnet device to other devices on the network. Unlike a Time Value, which holds one specific time of day, a Time Pattern Value holds a time whose individual fields can be “don’t care” and so match many recurring times. Examples the spec gives include “every minute of the 11 o’clock hour of the day” or “the thirteenth minute of any hour”.

A Time Pattern 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. Time Pattern Value objects may optionally support intrinsic reporting for fault conditions only: they perform the first stage of reliability-evaluation, apply no standardized fault or event algorithm, and deliver notifications through the event notification services.

Where You’ll See It

  • Recurring time rules. A repeating time-of-day pattern other devices read with ReadProperty to decide whether now matches.
  • Timing exceptions. A recurring set of special times the control logic exposes.
  • Configurable time patterns. A matching rule an operator writes to the device.

Required Properties

Clause 12.47 requires every Time Pattern Value object to provide these properties. Datatypes are the spec’s names: Time here holds a time of day whose fields may be wildcards, CharacterString is 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 time-pattern-value for this object
Present_ValueTimeThe time pattern, with wildcard fields for matching. 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 Time Pattern 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 Description, the command-tracking group on commandable instances, and Reliability, which names the reason whenever the fault flag in Status_Flags is set. The intrinsic-reporting group generally appears or is absent as a set and, on this object, drives fault reporting only.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
Out_Of_ServiceBOOLEANGeneral
Event_StateBACnetEventStateGeneral
Priority_ArrayBACnetPriorityArrayCommanding
Relinquish_DefaultTimeCommanding
Current_Command_PriorityBACnetOptionalUnsignedCommanding
Value_SourceBACnetValueSourceCommanding
Value_Source_ArrayBACnetARRAY[16] of BACnetValueSourceCommanding
Last_Command_TimeBACnetTimeStampCommanding
Command_Time_ArrayBACnetARRAY[16] of BACnetTimeStampCommanding
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
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 Time Pattern 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.