Ok, I have the part that I originally thought would be the hard part figured out.
I created a virtual switch and a virtual contact counterpart to a physical contact.
HSM monitors the virtual contact instead of the look physical one.
I have a rule triggered by change in physical contact. If switch is off, virtual contact is opened. Otherwise it stays closed. Tested and works flawlessly.
Now, I have always had a horrible time with conditional wait, cancelable wait etc.
What I want to accomplish (and I know it's possible, I just don't have the grasp of how to do it):
For explanation purposes I'll use the names of the contacts.
Physical Contact is "Patio Door"
Virtual Contact is "Virtual Patio Door"
Virtual Switch is "Patio Door Exit"
Patio Exit is turned on
10 second timer starts
If Patio Door is opened, with in that 10 second window, 10 second timer stops (Virtual Patio Door also stays closed). If nothing happens in that window, Patio Door Exit resets.
New 20 second timer starts.
If Patio Door is not closed with in that new window Virtual Patio Door is opened, triggering alert. Patio Door Exit Resets.
If Patio Door is closed in that 20 second window, Patio Door Exit resets and no alert occurs.
These conditional and cancelable timers have me insanely confused.
To make this more hard on myself, I want a chime to indicate active timers (like an alarm system) but I am pretty sure I can handle that separately.