What the Date Pattern Value Object Is
The Date Pattern Value object, defined in Clause 12.48 of ANSI/ASHRAE 135-2024, exposes a named date pattern inside a BACnet device to other devices on the network. Unlike a Date Value, which holds one specific day, a Date Pattern Value holds a date whose individual fields can carry wildcards and special values such as “even months” or “don’t care”, so the value matches many recurring dates. Examples the spec gives include “every Thursday in May of any year” or “every day in May 2009”.
A Date 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. Date 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 rules. A holiday or maintenance pattern other devices read with ReadProperty to decide whether today matches.
- Schedule exceptions. A recurring set of special days the control logic exposes.
- Configurable date patterns. A matching rule an operator writes to the device.
Required Properties
Clause 12.48 requires every Date Pattern Value object to provide these properties. Datatypes are the spec’s names: Date here holds a date 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 date-pattern-value for this object |
Present_Value | Date | The date 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 Date 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 | Date | 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
- Date Value: holds one specific calendar date rather than a wildcard pattern.
- Time Pattern Value: the pattern equivalent for a time of day.
- DateTime Pattern Value: the pattern equivalent for a combined date and time.
What Chipkin Provides
The Date 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.