[RELEASE] Idle Garage Door

I wanted a SmartApp that would close the garage door if no activity was detected over a period of time using a motion sensor. So this is my initial cut at just that. After X amount of mins after any specified garage door is opened or after the last motion event is detected, the garage doors will be closed. This prevents the garage door from closing on yourself, your kids, your car reversing, etc. but still allows for the garage to close after a specified amount of time.

It supports multiple garage doors and multiple motion sensors. I wrote it to be extremely lightweight.

This smartapp works great for my kids who are playing out in our alley constantly but forget to close the garage when they go on a bike ride or similar.

Thanks for sharing. I’m doing the same with smart lighting with motion sensors and an open garage door. I thought about moving this to CoRE, but I’ll try your app too.

Definitely use what works for you. I follow the idea of the easier something is to configure and the lighter the codebase, the better my life will be. I got tired of cobbling solutions together to do something as easy as this. :slight_smile:

Let me know if you have problems!

3 Likes

This is great! I have it installed.

Would be nice to see a feature that adds a time window. For instance I don’t care if it is left open for an hour unless after 9pm.

Great work and really appreciated.

Good idea, I’ll give it a whirl when I get a spare minute of time

I addressed my timing need by connecting the smartapp automation to Night mode only.

I’m seeing some odd behavior with AllMotionStatesInactive returning false when the camera is actually inactive (arlo camera). If this happens the Activity handler never gets scheduled to trigger again.

That’s weird. Sounds like your arlo is getting stuck in the “active” state. Can you double check the states are getting updated correctly?

Got it fixed. I’m not certain what happened but all is working properly today.

Is there a reason you chose to not requeue the event handler call when the states check fails?

It’s basically redundant and would potentially just add more of a burden on the ST scheduling system. Also if the flag gets stuck in the active state for some reason, we’ll just hit an infinite loop of scheduling.

Typically if the active check fails, it means a pending “inactive” state event is going to be fired (or is in the process of being fired). So a “requeue” of the event handler should happen regardless as soon as the motion has stopped.

That’s an excellent question though. Made me retrace my own logic :wink:

i just installed all the essentials for this smartapp to work. fibaro motion sensor and a linear garage door controller.

problem is, the smartapp is detecting my fibaro motion sensor but not the garage door opener.

i am using a custom device handler (Enhanced Z-wave garage door opener code (for Linear GD00Z and variants))for the linear garage door opener.

i added my linear garage opener as a thing by having it manually detected and not manually, would this make any difference?