GAR + Webcore +Smartthings button = broadcast delay

Thanks to Google Assistant Relay I have broadcasts going on throughout my home when the washer and dryer finish, if the front door remains open for longer than 30 seconds (we have dogs and a 3 year old), and if the front window opens, notifying us that the AC is being turned off.

My wife likes to take naps in the middle of the day, and we had a broadcast for the washing machine go off while she was sleeping. She was not amused. I needed to find a way to disable the broadcasts on her time with as minimal effort on her side as possible. I got a smartthings button, stuck it to the headboard of the bed, and when she goes to sleep she can now disable broadcasts. If she presses the button once, the broadcasts delay for 1 hour, double tap, 2 hours, and press and hold, 3 hours.

Here’s the code, updating a global variable you place in front of your broadcasts in other pistons. The nice thing is that you can do this per broadcast so you don’t have to have it disable specific broadcasts if you don’t want to. For instance if the door is open for more than 30 seconds she wants to be woken up.