I really love the stock HA UI for hand held devices both on tablets and phones, but as my eyes grow dim with age, I find it to be hard to get useful information from across a room, and also for some reason trying to hit the small links for scenes and scripts with my palsied trembling hands is difficult. And there is also the issue of all that bright light hurting my poor eyes at night …
When I was using Smart Things for my automation, there was a community project created by a user called FlorianZ (who I fully credit for the concept and initial implementation) to create a wall mounted dashboard based on Dashing - a modular and configurable control panel. I liked my Dashing panel so I have now ported it to run with Home Assistant. I have been testing it for a couple of months and it has been very solid so I figured It might be of interest to others.
This is designed to work on any tablets - I am using iPads, but various Android tablets work fine as well. If necessary the aspect ratio of the tiles can be changed to fit any screen.
I am using software called Kiosk Pro Plus to run in Kiosk mode on the iPad.
If you want to take a look, the code and installation/configuration instructions are here:
While the code is tested and solid on a Raspberry PI and should run fine on other devices I would welcome feedback on the installation piece as I wrote a lot of it from memory (see my previous comments if you want to know how good that is!).
Here is what it looks like in action - that is one page of many selectable pages - the buttons on the bottom row switch between pages.
I had tried that a couple of times but never got a good experience out of it. That was several iOS versions ago though so maybe it is better these days.
They’ve made a lot of improvements to both kiosk and single app modes. You can download Apple configuration and lock it into an app if you really want to. I don’t believe you can do a kiosk mode without an MDM solution or Apple configuration. You could save the shortcut to the home screen (that will remove the browser bars and controls) then you could kick on guided access to disable the home button. That’s under settings and you’d turn it on and off by triple clicking the home button, passcode optional.
This looks amazing and I couldn’t wait to install it!!! However, I ran into an issue during the dashing install.
Building native extensions. This could take a while...
ERROR: Error installing dashing:
ERROR: Failed to build gem native extension.
/usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.1.0/gems/eventmachine-1.2.0.1 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/x86_64-linux/2.1.0/eventmachine-1.2.0.1/gem_make.out
I haven’t tested it without a key but unless you are getting errors its probably working OK. HAPush won;t really do anything until you have a dashboard configured, and the dashboard must include widgets that map back to real devices otherwise it will just ignore the events that it sees.
If you didn’t at least see a message about it loading the dashboard then you may have an error in your config not pointing at the directory where the dashboard resides.
That worked!!! Now, while running Bundler, I got the following 2 errors…
Installing dm-do-adapter 1.2.0
Installing do_postgres 0.10.17 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby2.1 extconf.rb
checking for main() in -lpq... no
checking for main() in -llibpq... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby2.1
--with-pgsql-server-dir
--without-pgsql-server-dir
--with-pgsql-server-include
--without-pgsql-server-include=${pgsql-server-dir}/include
--with-pgsql-server-lib
--without-pgsql-server-lib=${pgsql-server-dir}/lib
--with-pgsql-client-dir
--without-pgsql-client-dir
--with-pgsql-client-include
--without-pgsql-client-include=${pgsql-client-dir}/include
--with-pgsql-client-lib
--without-pgsql-client-lib=${pgsql-client-dir}/lib
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
Could not find PostgreSQL build environment (libraries & headers): Makefile not created
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20160620-32002-1o3rcxido_postgres-0.10.17/gems/do_postgres-0.10.17 for inspection.
Results logged to /tmp/bundler20160620-32002-1o3rcxido_postgres-0.10.17/extensions/x86_64-linux/2.1.0/do_postgres-0.10.17/gem_make.out
Installing do_sqlite3 0.10.17 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby2.1 extconf.rb
checking for sqlite3.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby2.1
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20160620-32002-17gyv42do_sqlite3-0.10.17/gems/do_sqlite3-0.10.17 for inspection.
Results logged to /tmp/bundler20160620-32002-17gyv42do_sqlite3-0.10.17/extensions/x86_64-linux/2.1.0/do_sqlite3-0.10.17/gem_make.out
Bundle completed successfully after this… Now on to the rest
Edit: UP AND RUNNING!!! Now just to add my stuff. But, alas, that will have to wait until tonight when I get home from work!!! Thank you for this AWESOME project. My only dislike for HASS has been the UI, and you have now solved that.
I have setup the dasboard to fetch temperature and humidity value from HA and have added a button to power on the windows. The dashboard does not get the values and when i press the windows button i does notting happens.
Lets start with the Dashboard first - do you see the widgets as expected? Did you setup the config in lib/haconf.rb? Can you post it? Can you post your main.erb file so I can have a look at it as well? Are you seeing any errors from Dashing?
Regarding the hapush error - you have to hit ctrl-c twice to stop it that is expected behavior. It is intended to run as a daemon when you have finished debugging it, that is part of what the init script does.
The dashboard is working fine. I see the same interface as yours.
That i have changed in my main.erb is the temperature, humidity and added the “Windows On”.
kristoffer@SKYNETDASH:/srv/hass/src/hadashboard$ dashing start
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3030, CTRL+C to stop
scheduler caught exception:
SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol
/usr/lib/ruby/2.3.0/net/http.rb:933:in connect_nonblock' /usr/lib/ruby/2.3.0/net/http.rb:933:in connect’
/usr/lib/ruby/2.3.0/net/http.rb:863:in do_start' /usr/lib/ruby/2.3.0/net/http.rb:852:in start’
/usr/lib/ruby/2.3.0/net/http.rb:1398:in request' /srv/hass/src/hadashboard/jobs/homeassistant.rb:20:in ha_api’
/srv/hass/src/hadashboard/jobs/homeassistant.rb:173:in block in <top (required)>' /var/lib/gems/2.3.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in trigger_block’
/var/lib/gems/2.3.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:204:in block in trigger' /var/lib/gems/2.3.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in block in trigger_job’
I have this done on three virutal servers.
Home-Assistant on 10.0.1.159
Dashing on 10.0.1.169
Hapush on 10.0.1.170
If you haven’t edited the ha_conf.rb file correctly it might explain why the dashboard can’t connect.
Also note, that at this time, hapush and Dashing need to be on the same host - I didn’t mention that in the docs, my bad, I have added it for an upcoming commit.
Also, on reviewing the code it looks like I am assuming an https connection which I will have to fix. I’ll try and get that done today, if not it will have to wait until the weekend as I am traveling on business.
I appreciate your feedback, and we’ll get this working!