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.
| 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 time-pattern-value for this object |
Present_Value | Time | The time pattern, with wildcard fields for matching. Read-only or commandable depending on the instance |
Status_Flags | BACnetStatusFlags | Four health flags: in-alarm, fault, overridden, out-of-service |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The 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.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Out_Of_Service | BOOLEAN | General |
Event_State | BACnetEventState | General |
Priority_Array | BACnetPriorityArray | Commanding |
Relinquish_Default | Time | Commanding |
Current_Command_Priority | BACnetOptionalUnsigned | Commanding |
Value_Source | BACnetValueSource | Commanding |
Value_Source_Array | BACnetARRAY[16] of BACnetValueSource | Commanding |
Last_Command_Time | BACnetTimeStamp | Commanding |
Command_Time_Array | BACnetARRAY[16] of BACnetTimeStamp | Commanding |
Time_Delay | Unsigned | Intrinsic reporting |
Notification_Class | Unsigned | Intrinsic reporting |
Event_Enable | BACnetEventTransitionBits | Intrinsic reporting |
Acked_Transitions | BACnetEventTransitionBits | Intrinsic reporting |
Notify_Type | BACnetNotifyType | Intrinsic reporting |
Event_Time_Stamps | BACnetARRAY[3] of BACnetTimeStamp | Intrinsic reporting |
Event_Message_Texts | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Message_Texts_Config | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Detection_Enable | BOOLEAN | Intrinsic reporting |
Reliability | BACnetReliability | Fault detection |
Reliability_Evaluation_Inhibit | BOOLEAN | Fault detection |
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
- Time Value: holds one specific time of day rather than a wildcard pattern.
- Date Pattern Value: the pattern equivalent for a calendar date.
- DateTime Pattern Value: the pattern equivalent for a combined date and time.
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.