home-assistant / frontend

:lollipop: Frontend for Home Assistant
https://demo.home-assistant.io
Other
3.8k stars 2.6k forks source link

Default Dashboard is unnecessarily magical and there's not option for advanced users to change it #21140

Open danielskowronski opened 1 week ago

danielskowronski commented 1 week ago

Checklist

Describe the issue you are experiencing

The "Default Dashboard" is a resource that user cannot control with restrictiveness amount changing from version to version (on 2024.6.4 it's the worst so far, which manifests with "The default dashboard, Overview, cannot be edited from the UI. You can hide it by setting another dashboard as default."). That fact alone wouldn't be so painful (after all, we have Map and Energy dashboards), but because it's a default dashboard globally, you must change it on every device you add and from time to time, re-set it as those devices tend to forget sidebar settings. Additionally, it's "magical" because HA updates randomly decide to revert it to the default view showing everything.

I'm deeply grateful for the open-source software and I'd be very reluctant to migrate; however, IMHO, this is unacceptable behaviour, similar to what Microsoft does with shovelling random changes on Windows because:

  1. Home Assistant is not a product for the average user, quite the opposite - at least the main admin of an instance must be a power user if they decided to even deploy HA; therefore arbitrary, undocumented features (I consider anything that's not at least as strong as "don't touch this dashboard, it'll be reverted" as insufficient)
  2. I don't see a scenario where this dashboard would be useful to any degree, as its whole purpose is to show everything - even if filtering by are worked, I don't think most of the users would find useful looking at messy widgets every time they open the app/website
  3. The dashboard is hardcoded as default, meaning you can't make a reasonable experience even for the main user as it's often reverted to be the default one - this is unavoidable if sidebar/dashboard settings for clients are stored on client-side and not server-side in their profiles
  4. Tons of other people share workarounds for this "feature" that tend to stop working every few versions, showing it's not desired behaviour - at least in current state when you can't change it

I know there are plenty of similar issues raised (e.g. https://github.com/home-assistant/frontend/issues/18626, https://github.com/home-assistant/frontend/issues/11069), but they are all about specific aspects of the main issue, as opposed to hardcoded nature of "Default Dashboard"

Describe the behavior you expected

I see those two as an ideal solution - preferably having both implemented, but just one would be sufficient to ease the pain:

  1. Admin can set any dashboard as global default (i.e. not changing the contents of magical "Default Dashboard", rather pointing to a specific URL)
  2. Each user can set any dashboard as their default - a setting stored server-side:
    • Ideally, it should be possible to let users store multiple variants matching different user-agents, so mobile app could be set to show one dashboard as default, while web/desktop client - something else)
    • However, the bare minimum is to add one more field to user profile that dictates what's default dashboard - something that neither HA updater nor admin can change (unless they manually go deep with low-level changes)

Those are alternative approaches, listed from most to least desirable ones:

  1. Bring back the ability to edit the Default Dashboard from UI and ensure that HA updates respect admin overrides of the dashboard during any form of update
  2. The above, but keep YAML mode
  3. Improve Default Dashboard behaviour to be usable
  4. Completely prohibit user from changing Default Dashboard and add suitable warnings

Steps to reproduce the issue

  1. Install HA
  2. Attempt to change the default dashboard - either by selecting other dashboard or editing magical default one

What version of Home Assistant Core has the issue?

core-2024.6.4

What was the last working version of Home Assistant Core?

No response

In which browser are you experiencing the issue with?

No response

Which operating system are you using to run this browser?

No response

State of relevant entities

No response

Problem-relevant frontend configuration

No response

Javascript errors shown in your browser console/inspector

No response

Additional information

A few of use-cases that are completely broken by this behaviour:

Full list of similar issues:

piitaya commented 1 week ago

Having the overview dashboard as a default dashboard is a technical limitation and legacy support for now. I agree with you, we should be able to remove it and set every other dashboard as default.

Also, the current UX sucks.

CleanShot 2024-06-25 at 14 30 24

I agree, this screen is not right. Some aspect of the dashboard are not editable (icon, name) but some others are (area, hide energy card, etc...). You can even take control of it to fully customize it. We currently have 2 pages to access dashboard settings (one in settings panel and another from the dashboard itself) and it's very confusing.

It's also in the roadmap to improve the default dashboard (multiple views per room, etc...)

For now, as a quick fix : you can "take control" of the overview dashboard from and configure it manually. It's not perfect but it should at least fix your daily issue.

CleanShot 2024-06-25 at 14 34 00