Help modifying the Smart Security app


(Jam Dawz) #1

i’ve given up on expecting my presence tag to be detected in time to switch Away mode to Home mode before I open my garage door. Currently, I have the Smart Security app set to trigger my Siren 30 seconds after any of my contact sensors open (in Away mode). This delay only works for the audible siren. I want a full 30 second grace period before this app triggers ANYTHING. I need help modifying the Smart Security app to delay any action for a certain period of time. Please help!!


(Im Brian) #2

I can see wanting this same thing. I currently tolerate notifications of “Someone opened the door and mode is set to away!” when that person is me.

I wrote an app to turn on my hall light when the door opens after presence is recently “present”. It kept running into race conditions, so I added in a ‘grace period’ so that the aforementioned action worked - but the the action was also triggered if presence was detected 15 seconds after the door was opened. Similar behavior to what you’re describing.

I’ll probably put something together this weekend - will post to github if / when I get it done. This is the app I’d mentioned that I’ll likely base it off of:


(Jam Dawz) #3

Sounds promising! I appreciate your work!!


(Im Brian) #4

This comes with the full caveat of “no warranty either expressed nor implied, use at your own risk, yadda yadda.” I made this to basically work for my own needs - and it sounds like this may be nice for you as well. I didn’t bake in a ton of features because I don’t need them. If you do - I can either make suggestions, modify the code - or you’re free to fork it as you see fit.

This is my simple “Forgiving Security” app that turns on the lights, turns on an alarm and sends a message to users if a contact is open or motion is detected. You may input a time value (in seconds) that it’ll wait for a change in mode. If the time elapses and the mode has not changed, the alarm is fired.

I will be using this with my “Nobody Home” app that automatically changes mode based on presence sensors:

I find modes to be helpful in keeping solutions granular. I have my complaints about them (such as not being able to be both “Home” and “Night”, thereby making expanded modes such as “Movie”, “Party”, etc far more difficult to manage than needed). Anyways - file bugs, make suggestions or ignore it as you see fit.


(Jam Dawz) #5

Excellent work! It looks like exactly what I was looking for. What is the purpose of the first preference? What is the difference between “Modes to arm alarm?” and “Set for specific mode(s)”? Thanks again!!!


(Im Brian) #6

I guess it’s probably redundant. I have it installed to my “Away” mode only - but after the alarm is triggered, it needs to know if the mode has changed when it attempts to fire. If the mode has changed (or is not the one you’ve defined as secure), it’ll trigger the actions.

I’ve changed the code on github to just store the mode when the alarm is triggered - and compare when the alarm is fired (the interval “grace” period for presence to be detected). Also cleaned up some minor comment stuff.

Thanks for the feedback - let me know if there’s anything else you see or would like to see.