Area-based Occupancy and Status

Taking inspiration from bengali’s Rooms Manager (Smartthings SmartApp): https://github.com/adey/bangali:

While [HA] has a concept of rooms it is essentially a grouping mechanism which does not enable personalized automation. In contrast rooms occupancy considers the room as a meta device and automates common tasks associated with a “room” physical or virtual. What makes it really useful is not just the room’s occupancy state but the ability to manage automation for rooms in a set of rules for the room based on the occupancy state of the room and data from various sensors. When creating a room device through the smartapp you are able to create these rules for the rooms making your rooms really smart.
This app works by setting rooms occupancy to various states based on a set of sensors as specified by the user. It takes this state and attribute values from various sensors and evaluates a set of rules that you create to match the conditions. When all of the conditions for the rule matches, it executes actions specified on these matching rules.

-I believe that HA could improve their areas by adding state that matched the functionality of zones (count of people inside the area) or indicate state from the following:

  • Occupied - for a few minutes
  • Engaged - still active after a few minutes
  • Asleep - when people might be sleeping (nap or bedtime)
  • Vacant - not occupied
  • Locked/Hold - don’t change

In the context of energy savings, I have already seen a major reduction due to my simple room occupancy blueprint: https://community.home-assistant.io/t/automatic-room-occupancy-room-based-occupancy-based-on-activity/413228

but want to see it expanded to be one of the core integrations engrained into HA. The possibilities are endless:

Area devices that could indicate status/inputs:

  • Presence sensors.
  • Motion sensors.
  • Contact sensors.
  • Music players.
  • Button pushes.
  • Switches on and off.
  • Power wattage sensor.
  • Lux illuminance.

As more devices are incorporated into the area, accuracy could be improved of course.

The results of these items could be:
Conditioning of home based on room occupancy (if in public area, don’t cool bedrooms in my case).
Lights turning off when leaving an area.
Lights NOT turning on if lux is already high enough due to outdoor lighting. Or could open blinds first then lights if level drops below threshold.
Fan turning off when humidity reaches set level, reducing runtime.
Stop music and/or move music to areas where people actually are.

This level if integration is well above my skill level, but also points directly at the energy savings priorities that HA and the smarthome industry is looking for. I believe this COULD be done in HACS as well, but again this is well beyond my personal capabilities.

Big request I understand, but with a BIG potential payback in energy savings with an already built in foundation.

I was doing this when I had homeseer controlling everything. It was a pain to create a virtual device for every room or area, and then to create multiple events to control occupancy for the area, and then to layer on events that controlled devices based on the areas occupancy. But the payoff was worth it.

With the occupancy separate from the device automation it is easier to use multiple inputs for occupancy control. Also it is easier to have conditional control based on factors other than occupancy such as time of day, house “mode” (vacation/party/guests….). An example is to turn a light on dim at night when the house is not in party mode. Or to not turn lights off when in party or guest mode.

I’ve since moved from hs to ha, but not replicated what I had yet. Being able to assign status to areas would make this automation much more streamlined with fewer entities and automations.

Hopefully this gets more traction. Thank you for proposing this.