136 lines
4.0 KiB
ReStructuredText
136 lines
4.0 KiB
ReStructuredText
Dashboard Install and Configuration
|
|
===================================
|
|
|
|
HADashboard is a dashboard for `Home
|
|
Assistant <https://home-assistant.io/>`__ that is intended to be wall
|
|
mounted, and is optimized for distance viewing.
|
|
|
|
.. figure:: images/dash.png
|
|
:alt: UI
|
|
|
|
|
|
Installation and Configuration
|
|
------------------------------
|
|
|
|
HADashboard is dependent upon AppDaemon. As a first step please refer to
|
|
the `AppDaemon Installation Documentation <INSTALL.html>`__.
|
|
|
|
When you have AppDaemon installed and running, configuration of the
|
|
Dashboard is pretty simple. You just need to add a ``hadashboard`` directive to the
|
|
``appdaemon.yaml`` file. For instance:
|
|
|
|
.. code:: yaml
|
|
|
|
appdaemon:
|
|
...
|
|
hadashboard:
|
|
|
|
|
|
|
|
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. For example:
|
|
|
|
.. code:: yaml
|
|
|
|
hadashboard:
|
|
dashboard_dir: /etc/appdaemon/dashboards
|
|
|
|
|
|
Once initial configuration is complete, 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:
|
|
|
|
.. code:: yaml
|
|
|
|
##
|
|
## 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 dashboard, 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 dashboard and not the Apps, you
|
|
can disable the app engine with the following directive:
|
|
|
|
.. code:: yaml
|
|
|
|
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 dashboards 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:
|
|
|
|
.. code:: yaml
|
|
|
|
hadashboard:
|
|
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 ``access_log`` directives in the ``logs`` section. For example:
|
|
|
|
.. code:: yaml
|
|
|
|
logs:
|
|
access_log:
|
|
filename: /export/pegasus/hass/appdaemon_test/logs/access.log
|
|
|
|
To force dashboard recompilation of all dashboards after a restart, use:
|
|
|
|
.. code:: yaml
|
|
|
|
hadashboard:
|
|
compile_on_start: 1
|
|
|
|
This should not be necessary but may on occasion be required after an
|
|
upgrade to pickup changes. This is now the default if not otherwise specified.
|
|
|
|
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
|
|
- ``deviceid``- set a deviceid. See how to use it in
|
|
`External Commands <DASHBOARD_CREATION.html#external-commands>`__.
|
|
|
|
For example, the following url will load a dashboard called main with the
|
|
obsidian skin:
|
|
|
|
::
|
|
|
|
http://<ip address>:<port>/Main?skin=obsidian
|