[Release] Motion Aggregation

This app allows you to have primary motion sensors, secondary motion sensors, contact sensors, and switches all control an "Aggregated" virtual motion sensor. Each type allows for a configurable amount of minutes to be added to a countdown timer. Each type also allows for a maximum value for the countdown. Once all types hit zero the aggregated motion turns off. The only difference between primary and secondary motion (other than being a separate bucket) is that the secondary motion isn't allowed to turn on the aggregated motion. It does keep motion going. So put the pet resistant motion sensors on primary and the super sensitive motion on secondary.

I use one of these to turn the lights on when any of my outside doors open. I also use one in my tv watching room that keeps lights from going on or off if the stereo is on. They are very easy to setup and adjust to perfect the motion in a room.

Parent App: https://raw.githubusercontent.com/DTTerastar/hubitat/master/apps/dtterastar/motion-aggregation.groovy
Child App: https://raw.githubusercontent.com/DTTerastar/hubitat/master/apps/dtterastar/motion-aggregation-child.groovy

4 Likes

Sort of a "light" version of Zone Motion Controller. Should make it easy for people who want to combine multiple sensors into one Rule (or any app) without needing to perform all the logic there. Neat!

I have a question...the app has a section where you say "If motion detected, turn the aggregated motion on for an addl X minutes*". Wouldn't you keep the aggregate motion active as long as any of the primary motion sensors are active? Why is it only for an additional number of minutes? What if motioin stays active for an hour straight. Would my virtual sensor only be active for the amount of time I put in here? I'm not quite sure I follow the logic there.

Then there's "Maximum countdown minutes due to primary motion sensors". Does this mean that this is the maximuim amount of time that the aggregate motion sensor will ever remain active? What if motion is active longer than this, the aggregate motion sensor will still go inactive? I'm not sure I understand why that setting is there.

Maybe I'm not understanding your thinking behind these settings. Do you care to share an example of how you have it set up? Maybe that will help me get a better picture of what you're doing with it.

I do understand it's quite a different algo than normal. It has a variable that goes from 0 to max that adds the amount of time specified per motion event. If you have both the increment and max set to the same value it'll work like "Keep light on after motion stops for x minutes". But it will also allow multiple motion events to stack up and keep the aggregated motion on for up to the max minutes, if desired. It also works for contacts, so you can say keep the lights on for 5 minutes per opening, but 15 minutes max. So that way you get longer amounts of time on for more activity.

The log shows the counter values so it's easy to understand if you try it.

This is an example of how i've got my family room setup.

You're adding time to a timer whenever there is motion active rather than when motion is inactive? That doesn't make any sense. If there is constant motion in the space, the sensor will just stay active, not tripping the change to active so it would not add any time to the timer. So you could be moving and the lights would go off.

By default it doesn't countdown until there is no motion detected,

I like this, but wondered if it can be used to always report motion, if a contact is open. I was thinking i can then use this to show whether the house is secure, or not.

Yeah, it should be able to do that. Just add a value to: If a contact opens, turn the aggregated motion on for X minutes and then set the count down when to when all contacts are closed

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.