What the DateTime Pattern Value Object Is
The DateTime Pattern Value object, defined in Clause 12.46 of ANSI/ASHRAE 135-2024, exposes a named date-and-time pattern inside a BACnet device to other devices on the network. Unlike a DateTime Value, which holds one specific moment, a DateTime Pattern Value holds date and time fields that can carry wildcards and special values such as “even months” or “don’t care”, so the value matches many recurring moments. Examples the spec gives include “11:00 every Thursday in any June” or “every day in May 2009”.
A DateTime 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. DateTime 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 date-time rules. A repeating combined pattern other devices read with ReadProperty to decide whether the current moment matches.
- Schedule exceptions. A recurring set of special date-and-time windows the control logic exposes.
- Configurable date-time patterns. A matching rule an operator writes to the device.
Required Properties
Clause 12.46 requires every DateTime Pattern Value object to provide these properties. Datatypes are the spec’s names: BACnetDateTime here pairs a date and a time 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 datetime-pattern-value for this object |
Present_Value | BACnetDateTime | The date-and-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 DateTime 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, Is_UTC (whether the pattern is expressed in UTC), and, on commandable instances, the command-tracking group. 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 |
Is_UTC | BOOLEAN | General |
Priority_Array | BACnetPriorityArray | Commanding |
Relinquish_Default | BACnetDateTime | 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
- DateTime Value: holds one specific date-and-time moment rather than a wildcard pattern.
- Date Pattern Value: the pattern equivalent for a calendar date alone.
- Time Pattern Value: the pattern equivalent for a time of day alone.
What Chipkin Provides
The DateTime 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.