Mute Audible Alert


#1

1) Give a description of the problem
I have a number of pistons running that provide audible alerts or announcements. For example, if the patio doors are open for x minutes, and the temperature outside is higher than inside, then I want it to let me know every x minutes. It sends both a push notification as well as speaking thru a speaker.

I am trying to figure out a good way to be able to be able to mute the audible alerts without killing the piston from running.

2) What is the expected behavior?
Thinking maybe a device based on a simulated multi-button where I could bring up the device and choose “Mute 10 minutes”, “Mute 30 minutes”, “Mute 60 minutes”, “Mute this event”, “Cancel Mute”

I think I can figure out the piston work - would probably set up a piston that reacts to this device events and updates a couple of global variables that any piston that has an alert would be able to check each alert cycle to see if it should mute and for how long.

Would this be a good way to go? Looking for advice, see if anyone has done this before…


#2

Do you want this solution to mute all pistons that make a sound or just a specific one?


#3

Just the piston that is currently alerting. So if I have an alert that is letting me know that the patio door is open, maybe I am OK with that for the next 30 minutes. But if there is another piston that is monitoring the garage doors, I still want that one to let me know if the kids forgot to close that door.

Maybe I can create a piston that is called to do the audible alert itself, that could keep track of which alert it last sounded (“Patio Doors”, “Garage”, etc) that was passed. That same piston would also monitor for events from the Alert Mute virtual device, and if it sees that I hit the “Mute 30 Minutes”, it can then set up a variable that indicates when it can sound the next alert, and ignores any alerts for that type until then…


#4

I created a All House Mute virtual switch. If it’s on, then nothing talks. If it’s off then talking is normal. (It was for when my wife takes a nap). That could be set on time intervals like in your case.
However the only pain is everytime I add a piston to do an audible alert, announcement, I have to remember to check this mute switch (extra if).
What would be great was if there was a global mute for WebCore so that if any piston tries to play sound/music or whatever, it will block it.