The SendExceptionSchedule action sends BACnet exception schedules to a BACnet schedule object. The exception schedules are calculated the same way as the StartStop action, but the list of schedules for the next 24 hours is sent to the BACnet schedule object instead of queuing up the individual commands in the command queue.
At each event query (manual or automatic), 24 hours of event schedules are calculated, any pre-start and post-stop times are added, overlapping schedules are combined, and the final list is pushed down the schedule object. Events2HVAC will retain the last scheduled command state so current state is maintained correctly for the present time.
If Enable Schedule Push Optimization setting is NOT set, all SendExceptionSchedule actions will be pushed at each poll interval.
If Enable Schedule Push Optimization setting is set, all SendExceptionSchedule actions will be evaluated at each poll interval to determine if a schedule push is needed for each action. This option is more efficient since it only pushes schedules when there is a change in schedule between the last push and the current schedules. See the Schedules Tab for more details on these settings.
The schedule object that is the target of the schedules should be setup as follows for a basic setup:
Recommended Schedule Object Setup
Weekly
Schedules: None
Exception Schedules: Event Priority 13 - Only sent
by Events2HVAC and no other sources or calendar references.
Schedule
Default: Off or Unoccupied
Priority for Writing: 15 or higher to
allow any additional overrides or fallback priorities.
Write output to a dedicated intermediate binary value (recommended) at appropriate priority to show current scheduled state from Events2HVAC. Incorporate this value with any failure logic or schedule overrides to command the zone devices.
Additional Usage Notes:
Using a non-dedicated schedule object: If you decide to use a schedule object that has weekly schedules, calendar object references (holiday exceptions, etc), or other exception schedules from other sources at different priorities, then you must enable midnight initial values in the BACnet options – Schedules tab. This will ensure E2H will enforce the priority for exceptions for the entire day.
No Re-Sync: Re-Sync feature doesn’t work with SendExceptionSchedule actions. If the command to send the schedules fails due to a network or controller offline error, it will notify users of the failure, but will not re-attempt to send until the next scheduled or manual update occurs. A manual re-sync or re-sync all equipment from the user only synchronizes the actions that command the state of the rooms, not the schedules sent.
No Forced Re-Sync: For the same reasons as above, if you do a Force All Resync command, these actions will not be forced to send schedules. A re-sync doesn’t not use a 24 hr query window for schedules which is required for schedule push. Use a manual query update command instead to push all the exception schedules to their schedule objects.
Schedule Download Limits: If the target schedule object has limitations on the number of downloaded schedule items, you must enter the daily and maximum limits in the action. It is NOT recommended to preserve schedule history when limits are in place since this will prune future events that may adversely affect current schedule states.
Automated Logic WebCtrl: It is not recommended to use this action with native WebCtrl zone schedule objects. WebCtrl users can’t view the schedules that this action sends and it will delete them when a user modifies any schedules from WebCtrl. For additional notes see: https://support.streamsidesolutions.com/hc/en-us/articles/219498967. ALC has developed a BACnet Scheduling Addon that addresses these issues. The add-on allows top-level schedules to be created for zone. These schedules can be written to (from E2H) without disrupting WebCtrl’s normal scheduling interface. Please contact you Automated Logic dealer for more information.
Tridium Niagara AX:
1. If you export a native BooleanSchedule object, make sure you select the “Boolean” datatype. If you export an EnumeratedSchedule object, make sure you set the datatype in the native schedule to “unsigned” and select “Multistate” as the datatype in the action.
2. The AX schedule control does not allow changing event priorities on exception schedules. All exceptions entered by a user are fixed at event priority 16 (lowest priority). The “priority” up/down arrow only re-arrange the order of the exceptions list regardless of the event priority assigned to each exception. Because of this, E2H schedules will always overwrite any manually entered exceptions.
Johnson Controls MSEA:
1. When calendar exceptions are used for holidays on schedule objects that E2H is sending exceptions to, make sure the calendar references are on the same device as the schedule objects. MSEA allows assigning a master calendar to schedules in other devices which will cause an “Unknown Object” when E2H writes that calendar exception back to the schedule. The BACnet standard doesn’t allow a calendar reference that is not on the same device. The workaround is to change the calendar reference to the local device or delete the remote calendar exception references.
This action only applies to the following event triggers:
• EventStartStop
• EventSetupTeardown
• ZoneFirstLastEventStartStop
• ZoneFirstLastSetupTeardown
Field Name |
Description |
Range |
DeviceID |
The BACnet device id of the device that holds the point object that you want to command. |
0 <= deviceID <= 4194303 |
ScheduleID |
Unique object id of the BACnet object. This must be a Schedule object type. |
0 <= scheduleID <= 4194303 |
ObjectName |
BACnet object name of the point. |
(Read only) |
Schedule Priority |
Priority value assigned to the exception schedule item. This is not the same as the priority written to the object(s). |
1-16 (1=highest) 16 = recommended default |
PropertyType |
The BACnet standard property of the object to write to. |
Example: Present_Value |
StartValue |
Value to write to the exception schedule when an event start is triggered. |
Depends on the object that is written by the schedule object. |
StopValue |
Value to write to the exception schedule when an event stop is triggered. |
Depends on the object that is written by the schedule object. |
Relinquish CMD |
To relinquish a commandable property, select the priority of the command to relinquish and click the NULL checkbox. This will clear the command value at that priority and the next highest non-null command in the schedule object will take over. |
Only applies to Present_Value property on commandable objects (ie. AO, AV, BO, BV, MSO, MSV) |
Overwrite ALL Exception Schedules |
When this is checked, any exception schedules in the schedule object will be overwritten. When unchecked, only the schedules at the priority level will be overwritten. |
Default = overwrite ALL schedules |
Output Type |
Select the type of output that the schedule object is commanding to the connected objects. This must match the type according to the type of the connected object or unreliable results may occur on the schedule object. |
Analog: sends BACnet real datatype values (i.e. 53.5) Boolean: sends one of two states (0,1) using BACnet Boolean datatype (Tridium Boolean Schedule) BACnBinaryPV: sends one of two states (0,1) using BACnet enumerated BACnetPV (default) Multistate: sends unsigned integer values representing a state. |
Maximum Limit |
Limits the maximum total exception schedules that can be downloaded to the schedule object. Each vendor controller type may have different limits. |
Default = 0 (no limit) |
Daily Limit |
Limits the maximum exceptions for a single day that can be downloaded to the schedule object. Each vendor controller type may have different limits. |
Default = 0 (no limit) |
Verify Button
Click on the Verify button to verify that the selected object and properties can be read directly using the BACnet ReadProperty service. The results of the verification will be shown in the Results window. The object name field is populated after a verification. Any existing exception schedules and weekly schedules will also be shown.
Send Test Schedules Button
Click on the Send Test Schedules button to attempt to retrieve the current event schedules from the rooms associated with the equipment item for the next 24 hours. Once the schedules are processed, the exception schedules are written to the schedule object. Click on the verify button to read the properties and verify that the items were added.
Warning: If there are no schedules found for the day, the exception schedules will be cleared and the output of the schedule will first be evaluated by any active weekly schedules and if none are found, the output will return to the schedule default property.
Delete Exception Schedules Button
Click on the Delete Exception Schedules button to attempt to delete all the exception schedules in the schedule object.
Warning: After your exception schedules are deleted, the output of the schedule object will return to the value defined in the schedule default property, unless there is a weekly schedule defined.
Delete Weekly Schedules Button
Click on the Delete Weekly Schedules button to attempt to delete all the weekly schedules in the schedule object. Normally you would not want any weekly schedules unless your zones needed a default base schedule throughout the week and only after hours schedules would be scheduled as exceptions (with NULL stops).
Warning: After your weekly schedules are deleted, the output of the schedule object will return to the value defined in the schedule default property, unless there is an active exception schedule defined.