This is a redacted version of my personal dashboard configuration for Home Assistant, an open source home automation server that integrates nearly 2000 existing IoT services into one powerful, private, and unified user interface.
My design is based on these principles:
- Expressive: The design should display the information clearly and boldly.
- Contextual: The design should adapt to the environment where it is used.
- Information First: The design should focus on the information, not the ornaments.
There are mainly two types of dashboards in this configuration:
- Maximalist Dashboards: Intentionally dense with information. Used for control centers.
- Ambient Dashboards: Succinct and sparse with information. Used for smart displays.
It uses my own Metrology theme, based on Metro design system, to reduce visual clutter, create a sense of visual hierarchy, and focus on the data.
- The Maximalist Dashboard
- The Ambient Dashboard
- Features
- How to Install
- Specifications ↗ - Hardware, Ecosystem, List of Integrations, etc.
- Tools Used
- Credits
Contrary to conventional UX design, the dashboard is intentionally dense with information and not minimalist, because it is designed for only one power user: me.
My goal is to create a sense of awareness of my surroundings and my resources through information, while my second priority is to be able to control and fine-tune all aspects of my living space. This is not designed for convenience since I already have physical buttons and switches for such purpose.
The dashboard is designed to maximize the amount of information displayed without additional user interactions, acting as an ambient display in the background. Information is not hidden or tucked away from view but is instead shown in its full glory for those who love to look at real-time data visualizations.
Animation is toned down so that it still feels responsive but not distracting. Colors are used to draw attention to things that I need to attend to, and the monochromatic color scheme keeps the visual priority clear. The wireframe aesthetic for illustrations and flat icons keeps visual noise to the minimum.
It started as a thought experiment: How little information can I show on a screen and the design will still be useful? The other extreme of maximalism bequeaths an ultraminimalist layout that only shows just one sensor at a time.
This layout is perfect as a replacement for the ad-filled slideshows of smart home displays such as Amazon Echo Show devices and Google Home devices. With Home Assistant as its backbone, the main slideshow is infinitely customizable and the controls are tailored for my home, unlike their corporate counterparts.
Designed to achieve the “pre-attentiveness” of the human brain, ambient displays make it possible for the user to process information without diverting the attention toward background tasks.
There are two main components to the dashboard: the "Slides" and the "Apps". The Slides acts as the home screen that constantly and leisurely rotates each sensor information on a relaxing video backdrop. The Apps each act as a hub for controlling or monitoring a particular aspect of my home with touch-friendly and clean UI elements.
Data is beautiful! Data in HA is used to render some unique, eye-catching, and informative graphs as the visual focus of each page.
Axonometric Floor Plan |
Network Rail Map |
Energy Use Sankey Diagram |
Psychrometry Chart |
Weather History + Forecast Chart |
Last.fm Music Charts |
All visualizations adhere to theme colors and light/dark modes.
Additional visualizations are embedded from third-party sources.
The Weekendest Subway Map |
Bing Traffic Static Map |
Weather Underground Radar Map |
jsOrrery Solar System Map |
Astropheric Weather Chart |
Grid columns reflow depending on screen width and device type. Since I use the dashboard in multiple form factors, the design needs to fit everything.
Perfect square grid with tiles in all sizes | Rotating cube animation to subtly catch the right amount of attention |
Variations based on states | Layouts for cameras, pictures, media players, etc. |
Show the right amount of information in the right context.
View all the dashboards in detail here.
Summary view |
Network view |
Energy view |
Light view |
Maintenance view |
Environment view |
Neighborhood view |
Me view |
Astrometrics view (TBD) |
The code is not meant to be installed as sensitive information had been redacted from the configuration. It is meant to be used as a reference to do some pretty wonderful things using lots of clever or ugly codes, tips, tricks, and hacks. Copy and paste stuff to your own dashboard config as you see fit.
A few requisities will help you use these codes:
- button-card
- card-mod
- layout-mod
- mini-graph-card
- apexcharts-card
- View the full list
Include these lines in your dashboard YAML to use most of the templates defined in the config:
decluttering_templates: !include cards/decluttering_templates.yaml
button_card_templates: !include cards/button_card_templates.yaml
apexcharts_card_templates: !include cards/apexcharts_card_templates.yaml
- Code Server Add-On for HA
- Visual Studio Code
- Bookmarks extension
- Inkscape / Adobe Illustrator
- SketchUp
- Psychometry Chart by Dr. Andrew J. Marsh
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Additionally, I would appreciate proper credits back to me if redistributed or modified. That would help my livelihood since design is my career.