Skip to content

Dashboard editor allows user to create sections so they can build dashboards quicker #76

Description

@laupalombi

updated on May 6th 2026

Problem statement

Initially part of #22

This was brought up by @piitaya . We believe there is a real opportunity for custom dashboards to be able to create sections that self-update under a criteria (strategy). This has been a need for a while, and something a lot of people employ a lot of YAML lines to try to make it work.

This was rejected before because it felt like a replacement to current strategies - we changed scope to make it more understandable in what it means - it would never replace a whole strategies panel.

There are 2 problems this will face:

  1. Approachability of Dashboard building - It would make users that want an easy dashboard to be even more easy to do, and more approachable - they can just say "I want all the lights in this area", and the section generates them automatically. No need to remember them and pick them one by one. A simple dashboard Overview-style could be done in minutes.
    -- Why not just use Overview then? - because there are situations where you want something specific, like a garden view or a "review before going to bed" view, that are very personal but still should be allowed to be simple and quick to build.

  2. Right now there is no easy way to create a dynamic section, like for "things almost out of battery" or "Lights that are on". We have that in the default dashboards, but users cannot use it for customizing their own.
    -- Why not just check Lights or Maintenance defaults then? - because a lot of times you just want a filtered criteria, not a big overview - and the main default dashboards should never be so narrow and filtered that allows that - its meant to be a global view. There are a lot of individual cases where you need to be able to know if any of the lights in the garden is on in one glance, in the same view of your watering system. And a million cases like this.

Scope & Boundaries -

In scope for MVP - home-assistant/epics#67

To test the appetite for this solution we are going to approach an MVP of sections created under a strategy:

  • Pick a target - can be either entity, device or label (with current target picker)
  • Pick an area to filter
  • The result section will have all those cards filtered by area and will refreshed automatically once a new entity with that criteria is added - that is the strategy.

Not in scope for MVP

  • Changes to individual cards themselves
  • Customization of sections or cards beyond what is expected of all cards (sizing, layout).

For a later iteration

Foreseen solution

  • User is in Dashboard editor -- says they want a section with all the lights in the living room - a section with all lights in the living room is created.

Full flow can be found here

Full hi-fi can be found here

Important considerations:

  • "Design" tab is just about visualization. Config tab is about picking the content. Since this section will be potentially large, its important to allow this to make sure it will fit, but it will be at a very basic level.
  • There is future for adding "select the features for the device domain/class", so you can say "I want to add speed to all the fans, or brightness to all the lights".
  • Another future iteration is adding exceptions per device or entity - "I want to add all the devices in the kitchen but also these 2 from the garden", which makes sense in real life scenarios. But besides that, devices and entities are not pickable here - the goal is to add a criteria and let your house update this dynamically, not cherry pick entities.
  • The way it is designed allows for future and iterations, but this should not become a monster away from the purpose: to be able to add a criteria and let your instance show all the devices under that criteria, dynamically.

Quick TLDR on the flow:

Image

The entry point is something new too - right now we don't have a "section selector" as we have a "card selector", but it is important since we need users to pick the type of section added. And at the same time, we avoid creating Sections by mistake with one accidental click. This also allows for a future "paste existing section" and do an easy copy&paste from sections inside the same dashboard.

Image

Community signals

Strategy cards are very popular in HACs and not availabe through core right now.

From the new user perspective, current interview process (80%) already saw a 100% of confusion when trying to create a card for a device they had in mind, some of them verbalized "why can't I just add all the lights to this room in one go". Just makes sense.

Also, we get a lot of feedback on the need of default dashbaords customization that just means "I want to be able to add all my batteries dying from this area // all the lights in this room", and that is not in detriment of the default dashboards but the need to have a self-updated section in your own specific dashboard.

Risks & open questions

Main risk is visual - how would we handle the dashboard editor adapting if it doesn't know how many elelments would fit in? do we do a scroll or something else? Its an importan UX detail, not a blocker but will need thinking during the building process.

A good solution would be to keep it in simple tile cards.

Appetite

Small at first, medium as a whole - This should be an MVP that allows us to test appetite.

Decision log

Date Decision Outcome
7/5 Leadership meeting: the idea is cool, but the examples are pretty bad: let's think new ones Opened a brainstorming thread in discord
18/5 Discussed with the community in discord about how MVP could be shaped Realized there are no good examples to narrow it, we need it agnostic, and the best MVP is to limit functionality.
2/6 Design draft created, under discussion Getting feedback to guarantee it fits the scope of the problem
9/6 Design discussed and final Hifi version done Opportunity is ready to build

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions