Dashboard Install and Configuration

HADashboard is a dashboard for Home Assistant that is intended to be wall mounted, and is optimized for distance viewing.

UI

UI

Installation and Configuration

HADashboard is dependent upon AppDaemon. As a first step please refer to the AppDaemon Installation Documentation.

When you have AppDaemon installed and running, configuration of the Dashboard is pretty simple. You just need to add a directive to the appdaemon.yaml file - dash_url.

This and the optional dash_dir directive should be in the toplevel of the file under a new hadashboard: section.

  • dash_url - the url you want the dashboard service to listen on

For instance:

appdaemon:
    ...
hadashboard:
  dash_url: http://192.168.1.20:5050

To enable https support for HADashboard, add the following directives pointing to your certificate and keyfile:

dash_ssl_certificate: /etc/letsencrypt/live/somehost/fullchain.pem
dash_ssl_key: /etc/letsencrypt/live/somehost/privkey.pem

To password protect HADashboard use the dash_password directive:

dash_password: some_password

Or you can use the secret function and place the actual password in your secrets.yaml file:

dash_password: !secret dash_password

By default, dashboards are searched for under the config directory in a sub directory called dashboards. Optionally, you can place your dashboards in a directory other than under the config directory using the dashboard_dir directive.

e.g.:

hadashboard:
dashboard_dir: /etc/appdaemon/dashboards

Next, you will need to create the dashboards directive either under the conf directory, or wherever you specify with dash_dir. Once that is done, for testing purposes, create a file in the dashboards directory called Hello.dash and paste in the following:

##
## Main arguments, all optional
##
title: Hello Panel
widget_dimensions: [120, 120]
widget_margins: [5, 5]
columns: 8

label:
    widget_type: label
    text: Hello World

layout:
    - label(2x2)

When you have added the lines to the config and created the dashboards directory and test dashbboard, restart AppDaemon and you will be ready to go. If you navigate to the top level, e.g. http://192.168.1.20:5050 in the case above, you will see a welcome page with a list of configured dashboards. If you haven’t yet configured any the list will be empty.

When you have created a dashboard you can navigate to it by going to http://192.168.1.20:5050/<Dashboard Name>

If you are using AppDaemon just for the dasboard and not the Apps, you can disable the app engine with the following directive:

appdaemon:
  disable_apps: 1

This will free up some CPU and memory.

HADashboard pre-compiles all of the user created Dashboard for efficiency. It will detect when changes have been made to widgets, styles or dahsboards and automatically recompile. This is usually desirable as compilation can take several seconds on slower hardware for a fully loaded dashboard, however to force a recompilation every time, use the following directive:

hadashboard:
dash_force_compile: 1

This will force dashboard recompilation whenever the dashboard is loaded. You can also force a recompilation by adding the parameter recompile=1 to the dashboard URL.

By default, information and errors around access to the Dashboard will go to the same place as AppDaemon’s log. To split the page access out to a different file, use the accessfile directive, e.g.:

hadashboard:
  accessfile: /var/log/dash_access

To force dashboard recompilation of all dashboards after a restart, use:

hadashboard:
  dash_compile_on_start: 1

This should not be necessary but may on occasion be required after an upgrade to pickup changes.

Dashboard URL Parameters

The dashboard URL supports a couple of extra parameters:

  • skin - name of the skin you want to use, default is default
  • recompile - set to anything to force a recompilation of the dashboard

For example, the following url will load a dashboard called main with the obsidian skin:

http://<ip address>:<port>/Main?skin=obsidian