home-assistant / frontend

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

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

Open danielskowronski opened 4 months ago

danielskowronski commented 4 months 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 4 months 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

github-actions[bot] commented 1 month ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

dstengele commented 1 month ago

The default dashboard is still magical.

piitaya commented 1 month ago

@dstengele What do you consider as "magical"? I answered by explaning how to take control of the default dashboard with latest release.

It is planned to improve the default dashboard. We are currently working on the foundation in the latest releases by adding some elements :

The final goal is to have a great default dashboard while allowing user to customize it. But we first have to build the foundations.

dstengele commented 1 month ago

@piitaya And the workaround is fine and works for me (and probably most other people), so thank you for that. :) I just think that this issue should not yet be closed since the default dashboard still is kind of special. I think it would be most logical to just have a basic default dashboard that automatically shows "standard data" like temperature, humidity, thermostat, camera etc. of each available room, kind of like the Home apps do it on iOS, while not being able to be edited at all. This way, the default dashboard can be used for a general overview without needing to customize it. And if one wants to do it themselves, they can use the existing functionality of setting another dashboard as default and thereby hiding the normal default dashboard. I think much of the confusion comes from this half-customizability.