7.17 BACnetScheduleType
7.17.1 General
This OPC UA ObjectType represents a BACnet Schedule object type. This type defines a periodic schedule that can recur over a range of dates. The schedule may have optional exceptions at arbitrary times or dates. The basic unit of a schedule is days, which are divided into two types: normal days within a week and exception days. A priority mechanism defines which scheduled event is currently valid. The schedule includes a Present_Value variable whose value describes the current state of the schedule, including a default value when no schedules are in effect.
Figure 26 shows an overview for the BACnetScheduleType with its Properties and related ObjectTypes. It is formally defined in Table 32.

7.17.2 ObjectType definition
The BACnetScheduleType ObjectType is formally defined in Table 32.
| Attribute | Value | |||||
| BrowseName | BACnetScheduleType | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | Other | |
|---|---|---|---|---|---|---|
| Subtype of the BACnetObjectType defined in 7.1. | ||||||
| 0:HasComponent | Variable | Present_Value | 0:BaseDataType | 0:BaseDataVariableType | M | |
| 0:HasComponent | Variable | Schedule_Default | 0:BaseDataType | 0:BaseDataVariableType | M | |
| 0:HasProperty | Variable | Exception_Schedule | BACnetSpecialEvent [] | 0:PropertyType | O | |
| 0:HasProperty | Variable | Weekly_Schedule | BACnetDailySchedule[7] | 0:PropertyType | O | |
| 0:HasProperty | Variable | List_Of_Object_Property_References | BACnetDeviceObject PropertyReference[] | 0:PropertyType | M | |
| 0:HasComponent | Method | AddObjectProperty References | M | |||
| 0:HasComponent | Method | RemoveObject PropertyReferences | M | |||
| 0:HasProperty | Variable | Priority_For_Writing | 0:Byte | 0:PropertyType | M | |
| 0:HasComponent | Object | FaultEvaluation | BACnetFaultEvaluation Type | O | ||
| 0:HasProperty | Variable | Out_Of_Service | 0:Boolean | 0:PropertyType | M | |
| 0:HasProperty | Variable | Status_Flags | BACnetStatusFlags | 0:PropertyType | M | |
| 0:HasProperty | Variable | Effective_Period | BACnetDateRange | 0:PropertyType | M | |
| 0:HasComponent | Object | EventReporting | BACnetEvent ReportingType | O | ||
The BACnetScheduleType ObjectType is a concrete type and can be used directly.
7.17.3 ObjectType Description
7.17.3.1 Variable Present_Value
This OPC UA Variable, of DataType BaseDataType, represents the BACnet property Present_Value.
It indicates the current value of the schedule. Most analog, binary, and enumerated values may be scheduled using this abstract DataType.
7.17.3.2 Variable Schedule_Default
This OPC UA Variable, of DataType BaseDataType, represents the BACnet property Schedule_Default.
It represents a default value to be used for the Present_Value property when no other scheduled value is in effect.
7.17.3.3 Variable Exception_Schedule
This OPC UA Property, of DataType BACnetSpecialEvent [], represents the BACnet property Exception_Schedule. The BACnetSpecialEvent DataType is defined in 10.5.31.
Each BACnetSpecialEvent describes a sequence of schedule actions that take precedence over a normal day’s behaviour on a special day or days.
At least one of the two BACnet properties Exception_Schedule and Weekly_Schedule must be present.
7.17.3.4 Variable Weekly_Schedule
This OPC UA Property, of DataType BACnetDailySchedule [7], represents the BACnet property Weekly_Schedule. The BACnetDailySchedule DataType is defined in 10.5.5.
The Weekly_Schedule property contains exactly 7 elements, one for each day of the week. Each element describes a sequence of time/value pairs that provides a sequence of schedule actions on one day of the week when no Exception_Schedule is in effect.
At least one of the two BACnet properties Exception_Schedule and Weekly_Schedule must be present.
7.17.3.5 Variable List_Of_Object_Property_References
This OPC UA Property, of DataType BACnetDeviceObjectPropertyReference, represents the BACnet property List_Of_Object_Property_References.
The BACnetDeviceObjectPropertyReference DataType is defined in 10.5.9.
It specifies the Device_Identifiers, Object_Identifiers, and Property_Identifiers of the properties to be written with specific values at specific times on specific days.
7.17.3.6 Method AddObjectPropertyReferences
This Method adds entries to the BACnet property List_Of_Object_Property_References.
Signature
AddObjectPropertyReferences (
[in] BACnetDeviceObjectPropertyReference []
DeviceObjectPropertyReferences
[out] 0:UInt32 FirstFailedElementNumber
);
| Argument | Description |
| DeviceObjectProperty References | Array of device object references to add to the entries in the BACnet property List_Of_Object_Property_References. The BACnetDeviceObjectPropertyReference DataType is defined in 10.5.9. |
| FirstFailedElementNumber | The numerical position, starting at 1, of the failed element in the CalendarEntries. If the call succeeds or fails for other reasons, the returned value shall be 0. |
Method Result Codes
| ResultCode | Description |
| BadNodeIdUnknown | This status is returned for the BACnet error codes UNKNOWN_OBJECT and UNKNOWN_PROPERTY |
| BadTypeMismatch | This status is returned for the BACnet error codes INVALID_DATATYPE and DATATYPE_NOT_SUPPORTED |
| BadOutOfRange | This status is returned for the BACnet error code VALUE_OUT_OF_RANGE |
| BadNotWritable | This status is returned for the BACnet error code WRITE_ACCESS_DENIED |
| BadOutOfMemory | This status is returned for the BACnet error code NO_SPACE_TO_ADD_LIST_ELEMENT |
7.17.3.7 Method RemoveObjectPropertyReferences
This Method removes entries from the BACnet property List_Of_Object_Property_References.
Signature
RemoveObjectPropertyReferences (
[in] BACnetDeviceObjectPropertyReference []
DeviceObjectPropertyReferences
[out] 0:UInt32 FirstFailedElementNumber
);
| Argument | Description |
| DeviceObjectProperty References | Array of device object references to add to the entries in the BACnet property List_Of_Object_Property_References. The BACnetDeviceObjectPropertyReference DataType is defined in 10.5.9. |
| FirstFailedElementNumber | The numerical position, starting at 1, of the failed element in the CalendarEntries. If the call succeeds or fails for other reasons, the returned value shall be 0. |
Method Result Codes
| ResultCode | Description |
| BadNodeIdUnknown | This status is returned for the BACnet error codes UNKNOWN_OBJECT and UNKNOWN_PROPERTY |
| BadTypeMismatch | This status is returned for the BACnet error codes INVALID_DATATYPE |
| BadOutOfRange | This status is returned for the BACnet error code VALUE_OUT_OF_RANGE |
| BadNotWritable | This status is returned for the BACnet error code WRITE_ACCESS_DENIED |
| BadNotFound | This status is returned for the BACnet error code LIST_ELEMENT_NOT_FOUND |
7.17.3.8 Variable Priority_For_Writing
This OPC UA Property, of DataType Byte, represents the BACnet property Priority_For_Writing.
It defines the priority at which the referenced properties are commanded. Valid values are in the range 1-16, with 1 being considered the highest priority and 16 the lowest. See 3.2.1 for details on command prioritization.
7.17.3.9 Object FaultEvaluation
The FaultEvaluation Object contains status and configuration information for the fault evaluation of the BACnetScheduleType. The BACnetFaultEvaluationType is defined in 8.23. The Object is optional and is not present if fault evaluation is not activated for the BACnet object.
7.17.3.10 Variable Out_Of_Service
This OPC UA Property, of DataType Boolean, represents the BACnet property Out_Of_Service.
It is an indication of whether or not the internal calculations of the schedule object are used to determine the value of the Present_Value property. Other functions that depend on the state of the Present_Value shall respond to changes made to that property while Out_Of_Service is True, as if those changes had occurred by internal calculations.
7.17.3.11 Variable Status_Flags
This OPC UA Property, of DataType BACnetStatusFlags, represents the BACnet property Status_Flags. The BACnetStatusFlags DataType is defined in 10.3.7.
It represents four boolean flags that represent the general health of an analog input. The flags are IN_ALARM, FAULT, OVERRIDDEN, and OUT_OF_SERVICE.
7.17.3.12 Variable Effective_Period
This OPC UA Property, of DataType BACnetDateRange, represents the BACnet property Status_Flags. The BACnetDateRange DataType is defined in 10.5.7.
It specifies the range of dates within which the Schedule object is active. Upon entering its effective period, the object shall calculate its Present_Value.
7.17.3.13 Object EventReporting
BACnet schedule objects may optionally support event reporting to facilitate the reporting of fault conditions. The BACnetEventReportingType is defined in 8.8.