Home Assistant now has many ways to group entities: areas, labels, categories, floors, groups, etc. They are really nice and a substantial improvement compared to the past.
Unfortunately all of them still require a lot of manual assignments and lack any support for more advanced use cases.
This can be quite problematic. For example when I want to have a desk area
, that is a part of an office area
, there is currently no native support for such an abstraction, as areas cannot be nested.
So I decided to make a custom component, that would enable support for such advanced scenarios by utilising labels. Labels are the most flexible of the currently available Home Assistant groupings, so they are a natural fit for this purpose.
To implement it I had to write quite hacky code, but it does work for me for some time now.