How to: Per user Dashboard

I was looking for how to do this, there doesn’t seem to be a built-in way of doing this (yet), and most of the solutions were pretty involved. I found an easy way to limit a user to a dashboard using Browser-Mod.

Browser Mod

  1. Install Browser-Mod
  2. Create a user account.
  3. Create dashboard for the user.
  4. Go to Browser-Mod settings…
    4a. Add a user setting under “Hide Sidebar” (true) for the user you created
    4b. Add the same user setting under “Hide Header” (true).
    4c. Add a user setting under “Default dashboard” pointing to the dashboard you created for the user.

When the user logs in, they will see the assigned dashboard with no sidebar/header. That effectively makes it impossible for them to do anything not on the dashboard you’ve given them. This works well for the mobile app. However, I think if the user logged in via web interface, and knows the URL paths to other dashboards/tabs, it’s possible they can still access other dashboards. So, this isn’t an absolutely secure solution, but it works if you trust your users. To make it all a tiny bit more secure, I created the user as non-admin and set all dashboards I don’t want them to access as admin only.

One small quirk I noticed upon testing was, when I setup the new user in the app for the first time, they still got the default dashboard upon first login. However, on refresh and subsequent logins, they only saw the dashboard I pinned them to.

5 Likes

Fascinating approach, @RiverWild. Thanks for highlighting that. I’ll give it a whirl for a numpty-user dashboard I’m putting together.

does the user you are setting have to log in first into the app and set those elements on the browser mod tab and register the device I would assume?

Tried this with browser mod, however the test user still sees all dashboards and can access them

Great solution, works well. Thank you for the detailed instructions!

This is nuts. HA wants all users to see the full dashboard and makes it hard to give a user a limited dashboard? There’s security implications there for my home

I’ve been struggling with the same problem and adopted the same solution as the OP. To avoid the problem outlined above I’ve done 2 other things:

  • remove the default dashboard (the one that HA manages & shows all entities)
  • under edit dashboard / visbility, limit the users as you wish. Do this for every dashboard!

This is now working well enough for me. What I want to do next is keep track of how long users are logged-on. I can’t find any mechanism to trigger an automation (or template sensor) on each new log-on/off to I can accumulate time. I’ve posted this question elsewhere (eg How much time is my HA used?) with no response.

Thanks so much @RiverWild!

Seems that almost one year later, your approach described above is still the easiest way to manage per user dashboard access!