Dashboard UI suitable for tablets

I too am having issues with a Rpi3. After trying ‘bundle’ it seems to fail to ‘make’ postgres.

pi@raspberrypi:/opt/dashboard $ bundle
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Resolving dependencies.............
Using addressable 2.3.6
Using backports 3.6.1
Using bcrypt 3.1.7
Using coffee-script-source 1.8.0
Using execjs 2.0.2
Using cookiejar 0.3.3
Using daemons 1.1.9
Using rack 1.5.2
Using thread_safe 0.3.4
Using sass 3.2.19
Using tilt 1.4.1
Using multi_json 1.10.1
Using hike 1.2.3
Using eventmachine 1.2.0.1
Using thor 0.18.1
Using fastercsv 1.5.5
Using json 1.8.2
Using json_pure 1.8.1
Using stringex 1.5.1
Using uuidtools 2.1.5
Using http_parser.rb 0.6.0
Using multipart-post 2.0.0
Using hashie 3.3.1
Using jwt 1.0.0
Using multi_xml 0.5.5
Using oa-core 0.3.2
Using ruby-openid 2.5.0
Using bundler 1.12.5
Using dm-core 1.2.1
Using data_objects 0.10.14
Using bcrypt-ruby 3.1.5
Using coffee-script 2.2.0
Using rack-protection 1.5.3
Using rack-test 0.6.2
Using tzinfo 1.2.2
Using sprockets 2.10.1
Using thin 1.6.2
Using em-socksify 0.3.1
Using faraday 0.9.0
Using omniauth 1.2.2
Using rack-openid 1.3.1
Using ruby-openid-apps-discovery 1.2.0
Using dm-aggregates 1.2.0
Using dm-constraints 1.2.0
Using dm-migrations 1.2.0
Using dm-serializer 1.2.2
Using dm-timestamps 1.2.0
Using dm-transactions 1.2.0
Using dm-validations 1.2.0
Using dm-do-adapter 1.2.0
Installing do_postgres 0.10.14 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/bundler20160803-16738-17sclspdo_postgres-0.10.14/gems/do_postgres-0.10.14 for inspection.
Results logged to /tmp/bundler20160803-16738-17sclspdo_postgres-0.10.14/extensions/arm-linux/2.1.0/do_postgres-0.10.14/gem_make.out
Installing do_sqlite3 0.10.14 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/bundler20160803-16738-camdtydo_sqlite3-0.10.14/gems/do_sqlite3-0.10.14 for inspection.
Results logged to /tmp/bundler20160803-16738-camdtydo_sqlite3-0.10.14/extensions/arm-linux/2.1.0/do_sqlite3-0.10.14/gem_make.out
Using dm-types 1.2.2
Using sinatra 1.4.5
Using rufus-scheduler 2.0.24
Using em-http-request 1.1.5
Using oauth2 1.0.0
Using oa-openid 0.3.2
An error occurred while installing do_postgres (0.10.14), and Bundler cannot
continue.
Make sure that `gem install do_postgres -v '0.10.14'` succeeds before
bundling.

My installation is on Ubuntu but I know there are a number of others who have installed successfully on an RPi. If you go back up the thread, you will find various links to resources that some have used to get dashing working on the RPi.

EDIT: Just a quick scan of your errors seems to show that you don’t have the postgres libraries/headers. Have you installed the postgres libraries and server dev headers? You will have to install these manually as the dashing installation expects these.

Hello

Is it possible to resize the widgets?
To make them all 20% bigger

Thanks for the help.

Markus

If you look in the assets/javascripts/application.coffee file, you should see a line:

Dashing.widget_base_dimensions ||= [127, 140]

This defines the standard length/width of each widget and can be adjusted as per your needs. Note that you will probably have to restart dashing each time you make any changes to these, for the changes to be picked up.

1 Like

Did you solved!
i got it just today!

@smar Thanks a lot for this work!
Hope its all good in London!
Currently my installation is 1.8.3… getting things to work.

I suggest creating a new thread for the work you are making for the OH2.
Cheers mate!

Thanks @AV_HomeAuto. London has been great the last few weeks - we are actually having a nice summer for a change!

WRT the OH2 side of things, I am not actually doing much else with it. The system as it stands in the github repo is working with both 1.8 and 2.0, and so there is probably not much to be gained with another separate thread just for 2.0.

1 Like

I have another Problem with my Weather widget.
I can’t get the precipitation work.

I use openweathermap.

In my default.items I have:
Number Weather_Precipitation “Precip probability [%d %%]” (All, Weather) {weather=“locationId=home, type=precipitation, property=probability”}

Everything other is working.

Markus

Are you actually getting a value for the precipitation in openHAB? e.g. what do you see on a sitemap or via REST for this item?

1 Like

The first one ist my sitemap the second one the dashboard
I don’t know why there is no value for precip probability tomorrow
The icon for few-showers is missing and the first precip probability is unsivible

in my log (level=trace) i can see:

2016-08-08 16:09:15.074 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping FORECASTIO: ProviderMappingInfo[source=precipIntensity,target=precipitation.rain,converter=DOUBLE]
2016-08-08 16:09:15.096 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping WUNDERGROUND: ProviderMappingInfo[source=current_observation.precip_1hr_metric,target=precipitation.rain,converter=DOUBLE]
2016-08-08 16:09:15.129 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping WUNDERGROUND: ProviderMappingInfo[source=qpf_allday.mm,target=precipitation.rain,converter=DOUBLE]
2016-08-08 16:09:15.183 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping OPENWEATHERMAP: ProviderMappingInfo[source=rain.3h,target=precipitation.rain,converter=DOUBLE_3H]
2016-08-08 16:09:15.206 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping OPENWEATHERMAP: ProviderMappingInfo[source=rain,target=precipitation.rain,converter=DOUBLE_3H]
2016-08-08 16:09:15.214 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping OPENWEATHERMAP: ProviderMappingInfo[source=rain.1h,target=precipitation.rain,converter=DOUBLE]
2016-08-08 16:09:15.259 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping WORLDWEATHERONLINE: ProviderMappingInfo[source=precipMM,target=precipitation.rain,converter=DOUBLE]
2016-08-08 16:09:15.298 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping HAMWEATHER: ProviderMappingInfo[source=precipMM,target=precipitation.rain,converter=DOUBLE]
2016-08-08 16:09:15.328 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping WUNDERGROUND: ProviderMappingInfo[source=snow_allday.cm,target=precipitation.snow,converter=DOUBLE]
2016-08-08 16:09:15.371 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping OPENWEATHERMAP: ProviderMappingInfo[source=snow.3h,target=precipitation.snow,converter=DOUBLE_3H]
2016-08-08 16:09:15.385 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping HAMWEATHER: ProviderMappingInfo[source=snowDepthCM,target=precipitation.snow,converter=DOUBLE]
2016-08-08 16:09:15.425 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping FORECASTIO: ProviderMappingInfo[source=precipType,target=precipitation.type,converter=STRING]
2016-08-08 16:09:15.436 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping FORECASTIO: ProviderMappingInfo[source=precipProbability,target=precipitation.probability,converter=FRACTION_INTEGER]
2016-08-08 16:09:15.503 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping WUNDERGROUND: ProviderMappingInfo[source=pop,target=precipitation.probability,converter=INTEGER]
2016-08-08 16:09:15.550 [TRACE] [b.w.i.metadata.MetadataHandler] - Added provider mapping WUNDERGROUND: ProviderMappingInfo[source=precip_today_metric,target=precipitation.total,converter=DOUBLE]

No more Precipitation Data provited

Unless your openHAB sitemap is showing the precipitation correctly, the dashing dashboard will not be able to display this. As your today’s precipitation is showing as 0% on the sitemap, dashing is also showing 0%. For tomorrow, your openHAB sitemap is not getting data, and so dashing will also continue to show 0%.

1 Like

ok, so I think the api does not provide these data.
Which api do you use?
And for few-showers there is no icon showing up for tomorrow.

I use Wunderground.

1 Like

Hi Karsten!

I’m having the same problem which you solved by the mentioned package installs. But even though I’ve now installed them I’m still not getting any further.

Could the problem be that I have conflicting versions of Ruby? I’ve read somewhere that Dashing only works with the 1.9 version of Ruby.

ls /usr/bin/ruby =>
ruby ruby1.9.1 ruby1.9.3 ruby2.1    

Any suggestions on how to troubleshoot this? It seems that also @neohusky has the same problem.

I spent a few nights trying to get it working on the RPi3. Unfortunately, i hadn’t gotten it to work. I couldn’t get dashing to get passed the error I listed above despite trying to install the dependencies.

I got it working now, yhey! :smile:

In addition to chmodding the gems folder:

sudo chmod 777 -R /var/lib/gems/2.1.0

I followed the suggestion at this page. Which in short suggest to also install a server-dev package:

sudo apt-get install postgresql-server-dev-9.4

Then “bundle install” from the dashboard folder.

But I must admit that the HABPanel alternative seems a lot more straightforward and when its a bit more mature I will give it a go. And perhaps it will also be included in future Openhab releases.

This is one of my screens…
I have a ruby task checking the audio streamed to my Yamaha A1050 amp.

1 Like

Great work interfacing this UI with Openhab! This is a lot more suitable for a tablet compared to the standard OH UI.

How would I go about creating a widget containing both the temperature and the humidity? E.g. “xx.x C / yy %”. Of course then with a smaller font so that they fit in the 1x1 box.

Both the ohtemp and ohhumidity widget is available but my HTML knowledge is not enough to combine these into one widget. Some help to get me in the right direction might be enough.

Thank you for this!

There are a couple of ways of doing this. A simple way is to create a virtual item in openHAB that is formed by the combination of two other items. i.e. have a rule that triggers on the change of either item, which forms the combined item. This item can then be posted to dashing. A second option, if you are using openHAB 1.8, is to define a rule that combines the json data from the two items before posting to a suitable custom widget in dashing that supports dual items. An example of this is the Central Heating Dashboard widget update rule in the dashboard.rule file, combined with the ohheating widget.

Yes, this is definitely easier. An alternative is @igor’s Android solution, HomeHabit Dashboard - Original thread which is just an android app, and does not require anything new on the server side.