Proposal: ActivityManager for Consistent Handling of Motion/Triggers and Their Timers

Hi Mike, thanks for taking the time to review! The main driver to support multiple parents was that a lock area group is assigned to the area group it locks simply through parent child relationship and a lock can lock multiple area groups (e.g. I use a lock triggered from my bedroom switch to lock a bedroom area as well as an atrium area). You can see that I leverage get_parent_area_groups in area_lock. More generally any area group that is used not strictly for occupancy but more generally for activity can have multiple parents. E.g. I use a front door area group that is triggered by a combination of lock and door contacts and that front door area group can then be fed into multiple area groups for advanced actions.
Extending the code to support this was trivial as you had all the right abstractions in place. You are concerned about this extension?

Hi Mark,

Lets move the discussion to here