7.16 BACnetCalendarType
7.16.1 General
This OPC UA ObjectType represents a BACnet Calendar object type. A calendar is used to describe a list of calendar dates. Each entry in the list describes a specific date or date pattern, range of dates, or month/week-of-month/day-of-week specification.
Figure 25 shows an overview for the BACnetCalendarType with its Properties and related ObjectTypes. It is formally defined in Table 31.

7.16.2 ObjectType definition
The BACnetCalendarType ObjectType is formally defined in Table 31.
| Attribute | Value | |||||
| BrowseName | BACnetCalendarType | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | Other | |
|---|---|---|---|---|---|---|
| Subtype of the BACnetObjectType defined in 7.1. | ||||||
| 0:HasComponent | Variable | Present_Value | 0:Boolean | 0:BaseDataVariableType | M | |
| 0:HasProperty | Variable | Date_List | BACnetCalendarEntry [ ] | 0:PropertyType | M | |
| 0:HasComponent | Method | AddDateListElements | M | |||
| 0:HasComponent | Method | RemoveDateListElements | M | |||
The BACnetCalendarType ObjectType is a concrete type and can be used directly.
7.16.3 ObjectType Description
7.16.3.1 Variable Present_Value
This OPC UA Variable, of DataType Boolean, represents the BACnet property Present_Value.
It indicates the current value of the calendar: True if the current date is in the Date_List and False if it is not.
7.16.3.2 Variable Date_List
This OPC UA Property, of DataType BACnetCalendarEntry [], represents the BACnet property Date_List. The BACnetCalendarEntry DataType is defined in 10.6.2.
It is an array of elements of which each is either a specific date or date pattern (BACnetDate see 10.5.6), range of dates (BACnetDateRange see 10.5.7), or month/week-of-month/day-of-week specification (BACnetWeekNDay see 10.5.35).
7.16.3.3 Method AddDateListElements
This Method adds entries to the BACnet property Date_List.
Signature
AddDateListElements (
[in] BACnetCalendarEntry[] CalendarEntries
[out] 0:UInt32 FirstFailedElementNumber
);
| Argument | Description |
| CalendarEntries | Array of calendar entries to add to the entries in the BACnet property Date_List. The BACnetCalenderEntry DataType is defined in 10.6.2. |
| 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.16.3.4 Method RemoveDateListElements
This Method removes entries from the BACnet property Date_List.
Signature
RemoveDateListElements (
[in] BACnetCalendarEntry [] CalendarEntries
[out] 0:UInt32 FirstFailedElementNumber
);
| Argument | Description |
| CalendarEntries | Array of calendar entries to remove from the entries in the BACnet property Date_List. The BACnetCalenderEntry DataType is defined in 10.6.2. |
| 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 |