Hierarchies Area's

I like to have area’s in hierarchies so we can distinguish collective area’s. This way we can create not only rooms but also floors and segments.

  • Outside
    • Backyard
    • Frontyard
    • Shedd
  • Ground Floor
    • Livingroom
    • Kitchen
      etc…

It would be a nice addition.

I agree that this would be really useful. I’m currently working on a script that inspects all of my entities and automatically creates all the logic for sensors and timers based on the device/entity areas. Being able to group my areas into floors would be very helpful. (E.g. Turn off everything downstairs when everyone is upstairs.)

In the meantime, I think I will come up with a naming convention for my areas. E.g. “1/Garage”, “2/Office”

EDIT: Multiple areas would also be helpful for door contact sensors, and some motion sensors. Doors are almost always connecting two areas together, and I have some motion sensors that are also on the edges of areas.

I have to configure these connections manually in my script for now (while still using some of the area data in HA by default):


door_areas = {
    'bedroom_balcony_folding_door_sensor_contact': ['bedroom'],
    'dining_room_balcony_folding_door_sensor_contact': ['dining_room'],
    'ensuite_bathroom_door_sensor_contact': ['ensuite_bathroom', 'bedroom'],
    'front_door_sensor_contact': ['entrance', 'outdoor_entrance'],
    'garage_entrance_sensor_contact': ['entrance', 'garage'],
    'laundry_closet_left_door_sensor_contact': ['laundry_closet', 'hallway'],
    'laundry_closet_right_door_sensor_contact': ['laundry_closet', 'hallway'],
    'living_room_deck_folding_door_sensor_contact': ['living_room'],
    'living_room_deck_swing_door_sensor_contact': ['living_room'],
    'masha_s_office_door_sensor_contact': ['masha_s_office', 'hallway'],
    'nathans_office_door_sensor_contact': ['nathan_s_office', 'hallway'],
    'second_floor_bathroom_door_sensor_contact': ['second_floor_bathroom', 'hallway'],
    'upstairs_bathroom_door_sensor_contact': ['upstairs_bathroom', 'upstairs_hallway'],
    'workshop_door_sensor_contact': ['workshop', 'garage']
}
motion_sensor_areas = {
    'bedroom_closet_motion_sensor_occupancy': ['bedroom', 'bedroom_closet'],
    'hallway_entrance_motion_sensor_occupancy': ['entrance', 'hallway'],
    'lower_stairway_motion_sensor_occupancy': ['lower_stairway', 'entrance'],
    'mashas_office_closet_motion_sensor_occupancy': ['masha_s_office', 'masha_s_office_closet'],
    'upper_stairway_upper_motion_sensor_occupancy': ['upper_stairway', 'upstairs_hallway'],
    'upper_stairway_lower_motion_sensor_occupancy': ['upper_stairway', 'hallway'],
}