ENGAGE_Schedule_Guidelines

ENGAGE - Schedule Guidelines

REVISION CONTROL RECORD

VERDATEDESCRIPTION OF CHANGEAUTHOR
0.0102/19/2017Initial Version: Contributors; Hariprasad T, Pradyuman, AgrwalT. Small
0.0202/27/2017Update per review commentsT. Small
0.0303/03/2017Updated per final review commentsT. Small
0.0410/15/2018Converted document from MS Excel to Word to export it into Markdown format for online web portal input.A. Clark

Introduction

The primary purpose of this document is to provide guidelines for the creation of required schedules for onsite operations. Also included are several test cases for exceptions and how to handle unusual situations.

This document was designed for a technically competent audience with an in-depth understanding of how to set device schedules within a site.

Abbreviations and Definitions

AbbreviationDefinition
AES 256Advanced Encryption Standard utilizing a key length of 256 bits
APIApplication Program Interface – The interface provided by the ENGAGE enabled devices and Web Application
DbDatabase
Edge DeviceAny ENGAGE enabled device used for access control such as an NDE or LE lock.
ENGAGEConnectivity Platform Technology
FDRFactory Default Reset
Host or Host ServerAn Alliance Partner server, external server outside of the Allegion domain
HTTPHypertext Transfer Protocol
HTTPSHTTP Secure, or HTTP over SSL
InstallerThe person who installs the ENGAGE device. These individuals will most likely be the ones also commissioning the device. These installers may or may not work for the Service Provider. There are situations where unions dictate where installers come from.
IPInternet Protocol
JSONJava Script Object Notation
MAPPMobile Application
Mobile DeviceA handheld computer that is made for portability. (i.e. tablets, smart phones, iPads, etc.)
NDESchlage ENGAGE™ Wireless Cylindrical Lock
OPENA security protocol in which credentials between an access point and a client need not be exchanged
RESTRepresentational State Transfer, RESTful web services provide a means of computer system interoperability using a predefined set of stateless operations. W3 Consortium REST Notes are located here
SiteLogical grouping of ENGAGE devices which all share the same site key. In Engage this is referred to as a facility.
Site KeyThe site key is a key that is used on all Engage enabled devices on a site, (e.g. In a building or on a floor in a building).
SSLSecure Sockets Layer, a standard security technology which allows encrypted links to be established between nodes is a network
TLSTransport Layer Security, cryptographic protocol allowing for secure communications
URIUniform Resource Identifier
URLUniform Resource Locator

Schedule Guidelines

Schedule Priorities

Table 1: Schedules

Schedules 
RankDetails
1Holiday Schedule are higher priority than auto schedules.
2First Holiday time slot has priority of overlapping Holiday. See Scenario 7
3Overlapping Holidays crossing midnight. At midnight (periodic schedule alarm) the lock executes the Holiday based on which is active. Not the Holiday from the previous day. See Scenario 1
4At the end of a Holiday, the lock checks for a current auto unlock, if none found the lock returns to secure. See Scenario 2
5The lock ends the Holiday at the Holiday end time, it does not end the Holiday at 00:00. See Scenario 3
6The lock acts on the current schedule and not the prior state. See Scenario 4
7The lock does not return to secure at midnight. See Scenario 5
8On power up if RTCC is lost, the lock will return to the Frozen secure / secure state.
9On power up if the RTCC is NOT lost the current schedule is evaluated and if in a passage state the lock will return to passage. If is a schedule event the lock will act on the schedule event after going to passage. See Scenario 6
10The Lock acts on events, if the database is updated, the database will send the current schedule to the lock state manager (LSM). If that schedule is none, the LSM will evaluate the prior schedule event. If that event causes the lock to go to Holiday Restricted or passage, the lock will return to secure. Note: Prior schedules are not kept over power cycles.
11Frozen State and Privacy states disable the execution of schedules. On leaving Frozen or Privacy the lock evaluates the current schedule and acts on the schedule if needed.

NOTE: General guidelines for special cases (On Power-up, Out of Reset, Exit from Frozen State, Exit from Privacy, Restore Prior State), The Device always goes first to the known state, then requests the current schedule and acts upon the schedule as required. On special events (Time Change, Lock Function Change) the Device requests the current schedule and acts upon the schedule as required.

Scenarios

Scenario 1: Overlapping Holidays Crossing Midnight

At midnight (periodic schedule alarm) the lock executes the Holiday based on which is active Holiday, Not the one which has begun first on the previous day.

NDE Devices always scan through all Holidays and executes the one that starts first.

NDE behavior: In case of overlapping Holidays, the device will run the master scheduler at the end of the first Holiday and if there are any pending Holidays, the device executes that.

Example: Holiday 1- 02:00 to 03:00, Holiday 2- 02:30 to 3:30. The Device starts Holiday 1 and at the end of Holiday 1, the master scheduler starts pending Holiday 2 from 3:00 to 3:30.

The AD tool does not allow creation of overlapping Holidays.

Example: Holiday 1- 02:00 to 04:00, Holiday 2- 3:00 to 03:30. The Device starts Holiday 1 and ignores Holiday 2. At the end of Holiday 1, the Device goes to secure state.

Scenario 2: Auto-unlock Event on Previous Day and Holiday on Next Day

After a Holiday ends, the Device does not go back to passage state, because it does not find any auto-unlock event on the next day.

After Holiday expiration, the Device runs the master scheduler. If no event is in the master schedule, the device goes to secure state.

For any auto-unlock situation, the Device checks for the following condition:

(dbmEsAutoEvt.dbmFncEsRtc_Hour < dbmEsRtcCurrentTime.mqxDate.HOUR)

Auto-unlock is ignored if its starting time is greater than the current RTCC time.

If auto-unlock starts at 23:00 and the master scheduler is run the next day at 02:00, the condition is not satisfied. Because there is no event scheduled, the Device goes to secure state.

AD Devices behave in the same way.

Scenario 3: Scheduling a Holiday that Ends Exactly at 00:00

Scheduling a Holiday that ends exactly at 00:00, does not cause the Device to move out of Holiday state at 00:00.

NDE Devices always end the Holiday at end time.

AD Devices behave in the same way.

Scenario 4: Present a Toggle Credential at 04:00

In this Scenario, when a toggle credential is presented at 04:00, the Device moves to passage state. At 05:00 the Device moves to RS Holiday. At 06:00 the Device moves out of Holiday state and goes to secure state.

This Scenario is essentially the same as Scenario 2; After Holiday expiration, the Device runs the master scheduler. If no event is in the master schedule, the Device goes to secure state.

AD Devices behave in the same way.

Scenario 5: Auto-unlock with Midnight Crossing

NDE Devices remain in passage state after crossing midnight because the NDE Device does not send an event to lock state manager on midnight alarm. If RTCC changes on the next day or any Holiday ends, the NDE Device runs the master scheduler. If no event is in the master schedule, the NDE Device goes to secure state.

AD Devices do not allow the creation of an auto-unlock event without an end event; therefore, AD Devices go to secure state at midnight.

Scenario 6: Device is in Passage State

The Device is in passage state, battery is removed and replaced after some time (before RTCC loss).

On power up, the Device runs the master scheduler and if there is no passage event, the Device goes to secure state.

Devices never remain in passage state if there is no schedule event. If there is a schedule event, the Device first goes to passage state, then acts on the schedule event.

Scenario 7: First Holiday Time has Priority

In the event of overlapping Holidays, the first Holiday scheduled has priority.

For Example:

Holiday 1 – Thursday Dec 24 Start time 8:00 AM to End Thursday 11:59 PM 

Holiday 2 – Thursday Dec 24 Start time 11:50 PM to End Friday Dec 25 11:50 PM

Only Holiday 1 will be executed.

Test Cases

All Test Cases are executed with respect to Orca timings for NDE and LE Devices.

All three locks evaluated observed the same outcome.

TestCase IDPreconditionsStepsOutcome Observed  
  Device Type:AD200NDE 210LE 210
TC_001Holiday Restricteda. Holiday Restricted from 11:05 PM to 11:17 PMHoliday restricted took higher priority hence auto unlocks, holiday passage and secured are not executedSince holiday restricted is in action, holiday passage and secure as well as auto unlocks are not executedSince holiday restricted is in action, holiday passage and secure as well as auto unlocks are not executed
  b. Holiday Passage starting/ending between 11:05 PM to 11:17 PM   
  c. Holiday Secure starting/ending between 11:05 PM to 11:17 PM   
  d. Auto unlock starting/ending between 11:05 PM to 11:17 PM   
TC_002Holiday Passage vs. Holiday Secure are same prioritya. Holiday Secure from 11.50 to 11.58During Holiday secure in action, holiday passage and auto unlock was not executed. Once the holiday secured ends, auto-unlock came into action. (Mid-Night crossover happened properly from 11.58PM to 12.02 AM for auto-unlock)During Holiday secure in action, holiday passage and auto unlock was not executed. Once the holiday secured ends, auto-unlock came into action. (Mid-Night crossover happened properly from 11.58PM to 12.02 AM for auto-unlock)During Holiday secure in action, holiday passage and auto unlock was not executed. Once the holiday secured ends, auto-unlock came into action. (Mid-Night crossover happened properly from 11.58PM to 12.02 AM for auto-unlock)
  b. Holiday Passage starting/ending between 11.52 to 11.54   
  c. Auto unlock starting after Holiday Passage ends(11.56 PM), but before (12.02 AM)   
TC_003Holiday Secure is higher priority than Auto-unlocka. Holiday Secure from 1.20 AM to 1.26 AMAuto-unlock hasn't been executed since holiday secure was into actionAuto-unlock hasn't been executed since holiday secure was into actionAuto-unlock hasn't been executed since holiday secure was into action
  b. Auto unlock between 1.22 AM to 1.24 AM   
TC_004Holiday Passage Testa. Holiday Pass from 1.40 AM to 1.46 AMWhen holiday passage is in action and when holiday restricted comes in, it didn’t got executed and only holiday passage is executed for the specified timeHoliday passage was into action till the specified time for it gets completed and holiday restricted was not executedHoliday passage was into action till the specified time for it gets completed and holiday restricted was not executed
  b. Holiday Restricted between 1.42 AM to 1.44 AM   
TC_005Auto-unlocka. Auto unlock from 6.00 AM to 6.20 AMHoliday passage, secured and Restricted over-ridden the auto unlock and worked fineHoliday passage, secured and Restricted over-ridden the auto unlock and worked fineHoliday passage, secured and Restricted over-ridden the auto unlock and worked fine
  b.Holiday Passage from 6.04 AM to 6.08 AM   
  c.Holiday Secured from 6.12 AM to 6.16 AM   
  d.Holiday Restricted from 6.16 AM to 6.24 AM(Gets extended after auto-unlock)   
TC_006Auto-unlocka. Auto unlock from 6.30 AM to 6.45 AMa. Auto unlock executed in the specified timea. Auto unlock executed in the specified timea. Auto unlock executed in the specified time
  b.Holiday Secured from 6.33 AM to 6.44 AMb. Holiday secured executed in the specified timeb. Holiday secured executed in the specified timeb. Holiday secured executed in the specified time
  c.Holiday Passage from 6.36 AM to 6.42 AMc. Holiday passage didn’t get executed since holiday secured was already into actionc. Holiday passage didn’t get executed since holiday secured was already into actionc. Holiday passage didn’t get executed since holiday secured was already into action
  d.Holiday Restricted from 6.38 AM to 6.41 AMb. Holiday Restricted also didn't get executed since holiday secured was already into actionb. Holiday Restricted also didn't get executed since holiday secured was already into actionb. Holiday Restricted also didn't get executed since holiday secured was already into action