Multiple dashboards
You can define multiple dashboards in Home Assistant. Each dashboard can be added to the sidebar. This makes it possible to create separate control dashboards for each individual part of your house.
Under Settings > Dashboards, you can see your own dashboards and some of the predefined ones.
Screenshot of the Dashboard list.
Home Assistant default dashboards
Home Assistant ships with some dashboards out of the box:
- Overview
- Energy
- Map
- Logbook
- History
- To-do lists
Not all of the predefined dashboards are listed under Settings > Dashboards. The Logbook and History dashboards are powered by their respective integrations.
Map dashboard
The predefined Map dashboard is populated by the Map card. You can edit this dashboard like any other dashboard. For example, you can edit the view to use the Sidebar instead of the default Panel view type if you like.
Maps and presence detection
If you see a person on the map, it means you have connected a device that allows presence detection. This is the case for example if you have the Home Assistant Companion App on your phone and allowed location tracking.
Logbook dashboard
The predefined Logbook dashboard is powered by the Logbook integration. To control which events to show or filter out, refer to the documentation of the Logbook integration.
History dashboard
The predefined History dashboard is powered by the History integration. To learn about the data sources used and how to export data, refer to the documentation of the History integration.
To-do lists dashboard
The predefined To-do lists dashboard is powered by the To-do integration. To learn how to use to-do and shopping lists, refer to the documentation of the to-do list integration.
Webpage dashboard
Another available (but not default) dashboard is the webpage dashboard. The webpage dashboard allows you to add and embed a webpage to your dashboard. This could be a web page from the internet or a local web page from a local machine or device like your router or NAS. The webpage dashboard uses the webpage card.
This dashboard replaces the old iFrame panel (iframe_panel
). If you have
existing panels configured in your YAML configuration, Home Assistant will
automatically migrate them to the new webpage dashboard on upgrade.
Note that not every webpage can be embedded due to security restrictions that some sites have in place. These restrictions are enforced by your browser and prevent embedding them into a Home Assistant dashboard.
Creating a new dashboard
The default Overview dashboard updates itself when you add new devices, as long as you do not edit the default dashboard. If you want a customized dashboard, it is recommended not to change the Overview dashboard, but to create a new dashboard instead.
This will leave the default dashboard intact.
- Go to Settings > Dashboards.
- Select Add dashboard.
- In the dialog, choose one of the options:
- If you want to start with a pre-populated dashboard, choose Default dashboard.
- If you want to start with a completely empty dashboard, choose New dashboard from scratch.
- In the Add new dashboard dialog, enter a name and select an icon.
- Define if this dashboard should be visible only to the admin user.
- Define if you want the dashboard to be listed in the sidebar.
- Select Create.
- Result: The dashboard is added.
- Open your new dashboard and in the top right of the screen, select the button.
- If you chose Default dashboard, you need to take control before you can edit it:
- The Edit dashboard dialog appears.
- By editing the dashboard, you are taking over control of this dashboard.
- This means that it is no longer automatically updated when new dashboard elements become available.
- Once you’ve taken control, you can’t get this specific dashboard back to update automatically. However, you can create a new default dashboard.
- To continue, in the dialog, select the three dots
menu, then select Take control.
- The Edit dashboard dialog appears.
- You can now add a card or add a view.
Deleting a dashboard
If you do not use one of the predefined dashboards, or created a dashboard you no longer need, you can delete that dashboard. It will then no longer show in the sidebar.
- Go to Settings > Dashboards.
- From the list of dashboards, select the dashboard you want to delete.
- In the dialog, select Delete.
Using YAML for the Overview dashboard
To change the Overview dashboard, create a new file ui-lovelace.yaml
in your configuration directory and add the following section to your configuration.yaml
and restart Home Assistant:
lovelace:
mode: yaml
A good way to start this file is to copy and paste the “Raw configuration” from the UI so your manual configuration starts the same as your existing UI.
- In your sidebar, select Overview.
- In the top-right corner, select the pencil icon.
- Select the three dots
menu and select Raw configuration editor. - There you see the configuration for your current dashboard. Copy that into the
<config>/ui-lovelace.yaml
file.
Once you take control of your UI via YAML, the Home Assistant interface for modifying it won’t be available anymore, and new entities will not automatically be added to your UI.
When you make changes to ui-lovelace.yaml
, you don’t have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
To revert back to using the UI to edit your dashboard, remove the lovelace
section from your configuration.yaml
and copy the contents of your ui-lovelace.yaml
into the raw configuration section of Home Assistant and restart.
Adding more dashboards with YAML
It is also possible to use YAML to define multiple dashboards. Each dashboard will be loaded from its own YAML file.
lovelace:
mode: yaml
# Include external resources only add when mode is yaml, otherwise manage in the resources in the dashboard configuration panel.
resources:
- url: /local/my-custom-card.js
type: module
- url: /local/my-webfont.css
type: css
# Add more dashboards
dashboards:
lovelace-generated: # Needs to contain a hyphen (-)
mode: yaml
filename: notexist.yaml
title: Generated
icon: mdi:tools
show_in_sidebar: true
require_admin: true
lovelace-hidden:
mode: yaml
title: hidden
show_in_sidebar: false
filename: hidden.yaml
You can also add YAML dashboards when your main dashboard is UI configured:
lovelace:
mode: storage
# Add yaml dashboards
dashboards:
lovelace-yaml:
mode: yaml
title: YAML
icon: mdi:script
show_in_sidebar: true
filename: dashboards.yaml
Configuration Variables
List of resources that should be loaded. Only use this when mode is yaml
. If you change anything here, click the three dots Reload resources
to pick up changes without restarting Home Assistant. You can also call lovelace.reload_resources
action directly.
Additional YAML dashboards. The key is used for the URL and should contain a hyphen (-
)
The mode of the dashboard, this should always be yaml
. Dashboards in storage
mode can be created in the configuration panel.
The file in your config
directory where the configuration for this panel is.
The icon to show in the sidebar. You can use any icon from Material Design Iconsmdi:
, ie mdi:home
.
As a super minimal example of a dashboard config, here’s the bare minimum you will need for it to work:
views:
# View tab title.
- title: Example
cards:
# The markdown card will render markdown text.
- type: markdown
title: Dashboard
content: >
Welcome to your **dashboard**.
A slightly more advanced example:
views:
# View tab title.
- title: Example
# Unique path for direct access /lovelace/${path}
path: example
# Each view can have a different theme applied. Theme should be defined in the frontend.
theme: dark-mode
# The cards to show on this view.
cards:
# The filter card will filter entities for their state
- type: entity-filter
entities:
- device_tracker.paulus
- device_tracker.anne_there
state_filter:
- 'home'
card:
type: glance
title: People that are home
# The picture entity card will represent an entity with a picture
- type: picture-entity
image: https://www.home-assistant.io/images/default-social.png
entity: light.bed_light
# Specify a tab icon if you want the view tab to be an icon.
- icon: mdi:home-assistant
# Title of the view. Will be used as the tooltip for tab icon
title: Second view
cards:
# Entities card will take a list of entities and show their state.
- type: entities
# Title of the entities card
title: Example
# The entities here will be shown in the same order as specified.
# Each entry is an entity ID or a map with extra options.
entities:
- light.kitchen
- switch.ac
- entity: light.living_room
# Override the name to use
name: LR Lights
# The markdown card will render markdown text.
- type: markdown
title: Dashboard
content: >
Welcome to your **dashboard**.