[RELEASE] Contained Motion Zones

It's a common problem in home automation that people are in a room, but still. One frequent solution, particularly in rooms that are normally closed, is to leverage contact sensors. If motion happened in a room and has since stopped, but the doors remain closed, the room must still be occupied -- no one could have left through the closed door.

Another common workaround is contact sensors that trigger from pressure, enabling detection of a person in a bed or chair.

This app takes a few basic inputs -- motion sensors, contact sensors that define a boundary, and contact sensors that reflect presence -- to power a virtual motion sensor. While the boundary contact sensors remain closed, any indication of presence causes the output to show activity. Only when the boundary opens and there's no continued indication of presence does the output go inactive.

Available on HPM, or with these two apps and this driver

When would I use this versus the built-in Zone Motion app?
This app doesn't require the boundary contact sensors, but without them, will behave very much like Zone Motion in Motion Aggregation mode. Zone Motion also has Triggered Activation which includes contact sensors, but will still report inactive when all motion sensors stop reporting motion. This app uses the opposite insight, that the room must still be occupied if no one can have left.

Prefer this app if all ways in and out of a room have contact sensors and the motion sensors in the room routinely have false negatives.

When would I use this versus Event Engine's room occupancy logic?

Event Engine has similar capabilities AFAICT, but is no longer being maintained.