Skip to content
Version 6.1.0
Contact Us

Time Pattern Value

A Time Pattern Value object holds a time of day in which any field can be a wildcard. With the hour left as a wildcard, 00:30 means half past every hour; with the minute left as one, 07:xx means any time in the seven o’clock hour. Use it where a plain time would be too exact, such as in the rules of a schedule or a trigger.

  • Every quarter hour: minute 0, 15, 30, 45 of any hour
  • Run a task in the first minute of every hour
  • Time window rule for a scheduled action
  • Match any time within a chosen hour
  • A named recurring time clients can read
Property What it holds
Present_Value The time pattern. Each of hour, minute, second and hundredths is either a number or a wildcard that matches anything.
Priority_Array Optional. Present only when the value is commandable; sixteen priority slots.
Relinquish_Default Optional. The pattern used when every priority slot is empty.
Out_Of_Service When true, Present_Value stops following its source and a client can write it for testing.

The object is not commandable unless you give it a priority array. The standard applies no event algorithm to it, so it reports faults only. COV notifications go out on any change to Present_Value or Status_Flags.

Enable it with the STACK_OPTION_OBJECT_TYPE_TIME_PATTERN_VALUE build option and add each object with BACnetStack_AddObject. Serve Present_Value with the callback you register with BACnetStack_RegisterCallbackGetPropertyTime and, if clients may write it, the BACnetStack_RegisterCallbackSetPropertyTime callback. The object becomes commandable once you enable both PriorityArray and RelinquishDefault. The standard applies no event algorithm to this type and the stack serves no event state for it, so there is nothing to arm: BACnetStack_SetAlarmsAndEventsForObjectEnabled accepts the object but changes nothing a client can see. Call BACnetStack_UpdateValue whenever the value you serve changes, so COV, trend logs and alarms see it.

Time Value, Date Pattern Value, DateTime Pattern Value

The properties ASHRAE 135-2024 clause 12.47 defines for this object type.

How to read the table:

  • Conformance is what the standard asks of every object of this type: R is required, W is required and writable by a client, O is optional. A digit after the letter marks a condition in the standard that decides when the property is present or writable, such as support for intrinsic reporting.
  • Present by default: yes means the stack presents the property as soon as you add the object; no means it is optional and you turn it on with BACnetStack_SetPropertyEnabled. This is the stack’s starting setup, so it can differ from the conformance code.
  • Writable is whether a client can write the property by default. Change it with BACnetStack_SetPropertyWritable.
  • not in profile means the stack does not offer this property for this object type.
  • Value when your callback does not answer: “Held by the stack” means the stack stores and serves the value itself and does not ask your callbacks. Otherwise it is the value the stack answers when your callback declines or is not registered.
Property Datatype Conformance Present by default Writable Value when your callback does not answer
Object_Identifier BACnetObjectIdentifier R yes no Held by the stack.
Object_Name CharacterString R yes no "Object <type>,<instance>", such as "Object 0,1" for Analog Input 1.
Object_Type BACnetObjectType R yes no Held by the stack.
Description CharacterString O no no ""
Present_Value TimePattern R1 yes no (yes while Out_Of_Service is true) No default: value-not-initialized. Once Priority_Array and Relinquish_Default are enabled, built by the stack from the priority array your callbacks serve.
Status_Flags BACnetStatusFlags R yes no Built by the stack from your callbacks.
Event_State BACnetEventState O no no 0
Reliability BACnetReliability O no no (yes while Out_Of_Service is true) 0
Out_Of_Service Boolean O no no false
Priority_Array BACnetARRAY[16] of BACnetOptionalTimePattern O2 no no Built by the stack from your callbacks.
Relinquish_Default Time O2 no no No default: value-not-initialized until a callback or a client write supplies one.
Reliability_Evaluation_Inhibit Boolean O3 no no false
Property_List BACnetARRAY[N] of BACnetPropertyIdentifier R yes no Held by the stack.
Event_Detection_Enable Boolean O4,5 no no false
Notification_Class Unsigned O4,5 no no 0
Event_Enable BACnetEventTransitionBits O4,5 no no An empty bit string.
Acked_Transitions BACnetEventTransitionBits O4,5 no no An empty bit string.
Notify_Type BACnetNotifyType O4,5 no no 0
Event_Time_Stamps BACnetARRAY[3] of BACnetTimeStamp O4,5 no no No default: the read fails.
Event_Message_Texts BACnetARRAY[3] of CharacterString O5 no no ""
Event_Message_Texts_Config BACnetARRAY[3] of CharacterString O5 no no ""
Current_Command_Priority BACnetOptionalUnsigned O2 no no Built by the stack from your callbacks.
Value_Source BACnetValueSource O6,8,10 no no No default: the read fails.
Value_Source_Array BACnetARRAY[16] of BACnetValueSource O7,9 no no No default: the read fails.
Last_Command_Time BACnetTimeStamp O7,9 no no No default: the read fails.
Command_Time_Array BACnetARRAY[16] of BACnetTimeStamp O9 no no No default: the read fails.
Audit_Level BACnetAuditLevel O11 not in profile not in profile No default: the read fails.
Auditable_Operations BACnetAuditOperationFlags O11 not in profile not in profile No default: the read fails.
Audit_Priority_Filter BACnetOptionalPriorityFilter O11 not in profile not in profile No default: the read fails.
Tags BACnetARRAY[N] of BACnetNameValue O no no No default: the read fails.
Profile_Location CharacterString O no no ""
Profile_Name CharacterString O no no ""