Beep siren no more than once every 30 seconds

I'm having difficulty trying to get a contact trigger to only automate once every 30 seconds. Basically, I have a door mat that has a pressure sensor wired to a wireless door sensor. The mat is basically a switch.

I have people that go in and out constantly through the day and I want the trigger to run no more than one time within a certain time period, even if it's triggered multiple times. Currently have the

IF (Door contact closed(F) [FALSE]) THEN
Beep: Siren / Door Alert
Wait for event: --> elapsed time: 0:00:30
END-IF

I had an "exit rule" in there earlier too.. but that didn't seem to do anything. Currently, RM doesn't seem to care how many times I trigger it back to back, it just beeps the siren every time.

Any knowledge on this subject would be greatly appreciated.

Other info:
Using an Aeon Gen5 Siren. Even on volume set to 1, it's pretty loud. Sometimes it does a ~3 second beep instead of a quick beep.
Door sensor is Ecolink Door Window Contact Sensor. It has a generic driver in HE but the response time is pretty instantaneous. I tried to get Chromecast to broadcast an announcement but I can't discover any of my devices that are on the same network (already deleted everything on both sides).
Floor mat is Tapeswitch Controlmat CKP 12"x24" bought off eBay for about $150

The second event occurance is cancelling the first. Might consider testing for a boolean variable at the start and exit if already set.

1 Like

This is pretty simple to achieve using the rule's Required Expression and Private Boolean

Required Expression
Private Boolean is true

Trigger Events
Door contact is closed

Actions to Run
Set Private Boolean False
Beep: Siren / Door Alert
Wait for event: --> elapsed time: 0:00:30
Set Private Boolean True
2 Likes

Thanks to both of you. I did this and it works perfectly!

What's funny is that I was just thinking about Private Boolean too and what the heck it was used for. I literally just did a quick little read on it prior to opening this thread, but it still a little confusing to me.. unfortunately, recently my concentration on things is a little bad and I can't stay focused long enough to make sense of things that were originally easy to follow.

Okay.. so, I do have a question. Why would there be a required expression of private boolean being true? If the contact is always open by default, then the boolean would always be true... and the only times I want to trigger the event is when it is false/closed. Basically, I'm wondering why we need to input this step.

Also, and I know this is a vague one.. but if by any chance either of you know why my Chromecast isn't working.. that would be amaaazing! I can't get it to discover ANYTHING and it's on the same network. I can't find any troubleshooting info on it and at some point a few years ago, it worked no problem. Removed everything on both sides already. Trying to get verbal announcements instead of beeps from this insanely loud siren.

By requiring it to be true, the rule won't restart during the 30 seconds you are in a wait state.

1 Like

ahhh.. that makes sense now. Awesome, Thank you!