Summary
This article describes how to create programming that will allow an alarm to only be triggered if an input is unsealed for longer than a defined delay period.
To do this, we will need to use the physical input as the trigger, and create a virtual input that will be for the alarm itself. A virtual input is just input definition for an input number that is not physically present in the system at the time. We recommend using an input number that is unlikely to ever need to be used in the system.
A Panel Macro will then begin a delay when the physical input is unsealed, and if the physical input is still unsealed when the delay completes, then the virtual input will be activated, which activates the alarm.
Programming
Firstly create an Event flag. I have called this event flag "Alarm input triggered". Don't use Event flag numbers 1 or 2, as they are reserved for alarms. In this case I have used Event flag number 5:
Next, here's how the physical input would then be set up, as an input type 20, to activate an event flag, and the Event field set to use the Event flag we just created.

And then we need to create the virtual input that will trigger the alarm itself. I have used input number 1000 here, because there is nothing using this in the system currently, or likely to be in the future.
This is where you would configure the alarm type you would like. In this case, I have chose type 5 - 24 hour alarm:

Then, to link these two inputs, we need to create a Panel Macro, that operates using the "On delay" function.
The operation of the "On delay" function is described as follows in the help file:![]()
This means that the macro will then only activate the virtual alarm input we created if the Event flag (from the physical input) is still active once the delay period has expired. Otherwise the virtual alarm input will not be activated.
The Panel Macro uses the "On delay" function. There are two variations of this, either for 1-255 seconds, or 1-255 minutes. Select the one that suits the time delay period you require.
In the first example here, I have chosen one for 10 seconds.
You will see here that when the Event flag "5 - Alarm input triggered" is triggered by the physical input being unsealed, it will begin the delay macro.
Once the 10 second period expires, if the Event flag "5 - Alarm input triggered" is still active (by the physical input still being unsealed), then the macro will activate the virtual input we created, triggering the alarm.
However if the Event flag "5- Alarm input triggered" is not still active (ie the physical input is sealed again), then the macro will not activate the virtual input, and the alarm will not be triggered.
Here is also an example using the minutes version of the On delay function, set to 60 minutes, for a 1 hour delay:

Note that if you are using the minutes version, then you can the "On delay (1-255) seconds" for initial testing, and enter a time of 10 seconds or so, and then you can confirm it works correctly. Just remember to set it back to the minutes version afterwards.