Greetings fellow hassians!
I’ve much enjoyed getting inspiration from how people built their Home Assistant setup, from the hardware choices, the configuration styles as well as the user interfaces. I’d like to share back what I’ve done so far. All the code is available on GitHub.
For reference, this setup is running Hassio on a Raspberry Pi 3 Model B to automate lights and humidity control for a small apartment, so most things have to be modular and non-permanent. No problem, with enough smart plugs, bulbs, light strips and a Nanoleaf Aurora I can make the place look either relaxing, romantic, energized …or transform it altogether into neon synthwave heaven!
While playing around with what was possible thanks to @aimc’s AppDaemon and @ReneTode’s widgets, I felt however that many builds featured random widget organization and sometimes unclear navigation. By using a 10" tablet at the horizontal, instead of placing element wherever possible or trying to mimic a car infotainment screen, I tried applying a more traditional fixed web design layout that keeps navigation on the left-side and common design elements in a header. As a huge fan of Don’t Make Me Think I believe this feels intuitive enough, yet there’s room for improvement I’m sure!
Custom UI panels
- Publish–subscribe pattern for automations to reduce micromanagement by making rooms and devices organize themselves according to higher-level requests.
- Redundant, intuitive user interfaces: Flic buttons, Aeotec Minimote, wall-mounted tablet, local web access, phones (UI + HomeKit).
- Gathering of some sensors into easier to consume formats.
- Self-highlighting UI cards to bring attention to some sensors’ states.
- Disabled history and maps, for increased performance …and because I don’t feel the need to geek out on that info.
The configuration available on Github is fully documented, with explanations in many disseminated README.md files and inside the YAML files themselves as comments with annotations. A plethora of screenshots should help to give a sense of what the output looks like for each sensor, interface or group, both in the UI and as dashboards.
Like many things in life it’s still a work in progress, but is working for me right now. Enjoy and feel free to copy whatever you want!