Home

Awesome

HA Dashboard

A custom dashboard for Home Assistant with sidebar

GitHub Release hacs_badge License

Image of Dashboard

Options

NameTypeRequirementDescriptionDefault
typestringRequiredcustom:ha-dashboard
cardsobject[]OptionalCards to show
titlestringOptionalTitle to show in tab
iconstringOptionalIcon to show in tab
badgesobject[]OptionalBadges to show
themestringOptionalTheme to use for view
backgroundstringOptionalBackground of view
usePanelbooleanOptionalGive complete space to one cardfalse
sidebarobjectOptionalConfiguration of sidebar

Sidebar Options

NameTypeRequirementDescriptionDefault
cardsobject[]OptionalCards to show
stickyCardsobject[]OptionalCards to show always on top (don't scroll)
buttonsobject[]OptionalCustomize style of dashboard and cards
screenMinWidthnumberOptionalMinimum screen width in pixel at which the sidebar will be shown1024

Button Options

NameTypeRequirementDescriptionDefault
iconstringRequiredIcon of button
labelstringOptionalLabel of button
actionobjectOptionalAction to perform on click etc.

Action Options

NameTypeRequirementDescriptionDefault
actionstringRequiredAction to perform (more-info, toggle, call-service, navigate url, none)
navigation_pathstringOptionalPath to navigate to (e.g. /lovelace/0/) when action defined as navigate
urlstringOptionalURL to open on click when action is url. The URL will open in a new tab
servicestringOptionalService to call (e.g. media_player.media_play_pause) when action defined as call-service
service_dataobjectOptionalService data to include (e.g. entity_id: media_player.bedroom) when action defined as call-service
hapticstringOptionalHaptic feedback for the Beta IOS App success, warning, failure, light, medium, heavy, selection
repeatnumberOptionalHow often to repeat the hold_action in milliseconds.

Styling

The dashboard is stylable by some css variables.

NameDescriptionDefault
--sidebar-backgroundBackground of sidebarbackground color of cards
--sidebar-min-widthMinimum width of sidebar300px
--sidebar-max-widthMaximum width of sidebar500px
--sidebar-relative-widthrelative width of sidebar in relation to screen width20%

Note

The sidebar is responsive and scales between --sidebar-min-width and --sidebar-max-width (default: between 300px and 500px). If screen is smaller than the set up minimum screen width (default 1024px) the sidebar will be hidden (for example on the most mobile phones)

Setup

HA-Dashboard isn't a card. It has to be used as a type for one complete page / view. If you look at the example, the key views has to be on the main level of your lovelace-yaml. Unfortunatelly it can't be setup with the help of the ui (the cards inside the dashboard can be setup with the help of the ui). Instead you have to setup it over the yaml configuration.

Setup as view

Example

views:
  - title: Kiosk
    path: kiosk
    background: center / cover no-repeat url("/local/img/background.png") fixed
    type: 'custom:ha-dashboard'
    badges:
      - entity: person.fabian
    sidebar:
      buttons:
        - icon: mdi:information
          action:
            action: call-service
            service: myservice.action
      stickyCards:
        - type: custom:digital-clock
      cards:
        - type: weather-forecast
          entity: weather.frankfurt_openweathermap
    cards:
      - type: entities
        entities:
         - climate.wohnzimmer
        title: Wohnzimmer