HousePanel Dashboard App for Hubitat

@kewashi I'm going to give up House Panel for the right now. Thanks for all your help.

Thanks @dan.t for the forked updates - very nicely done. I'm working my way through it - lots there. I posted a minor update that includes your power meter but not the rest for now.

And @leeonestop no problem - I understand this isn't an easy thing to set up for some folks. If you ever want to come back and try again let me know.

@kewashi really like the house panel but right now I have some medical issues. Once I feel better I be back. Thanks

Update posted today. Description provided over at the ST forum.

New to hubitat, I had contacted you via the smarthings forum before, with the user name alexm.

I am exclusively using hubitat and love what you have developed, but my UI has a 15 second delay to show physical switch changes, I know your software is receiving the changes right away, but the UI just doe not refresh. for example, if I physically turn on the office light and refresh housepanel manually a second later, the change is reflected, if i leave it on its own, it takes more than 10 seconds to show the change.

like I previously stated, I am only using the hubitat hub, is there anything I can do for housepanel to display physical changes quicker?? any assistance would be greatly appreciated.

Scroll up about three messages and read the exchange I had with @dan.t about polling and direct updates. He wrote a hack that posts changes instantly. I am working on integrating it into the code base in a more formal way. Until this is done you are limited by polling rates which in my experience can’t be any faster than about every 10 seconds. I am hoping to have this done soon - maybe even later today. It has taken me awhile because I am not very proficient at Node.js which is required to bypass the polling method. I also had to generalize it because it has to either work or be appropriately skipped for my SmartThings users. Stay tuned.

Actually the software is not receiving the changes right away. When you hit the refresh button that forces a one-time poll. There is presently no way to know when to do poll. This is what the Node.js middle man hack basically does by listening for a change via Hubitat subscriptions.

Thank you kewashi fo your prompt response, the community is what what makes a good device great. I look forward to updates that will improve the update speed. I will begin to setup housepanel in all the tablets throughout my home. Thank you again.

First of all thank you @kewashi. The only reason I am still in the HA game is because of individuals like yourself and the community in general. It was the only reason I stuck with ST for so long before making the jump. I digress. For clarity, I know nothing. I don't even know enough to be dangerous. However, I am dangerous because I attempt many things that I shouldn't because I have no knowledge about them. The only reason I was able to get this up and running is because of the wonderful script @kewashi wrote. Once again, I digress, my question. I'm all set up but how exactly do I use my panel anywhere? For example, how do I connect from a work PC? I set up VNC Viewer on my Pi as I struggled with ports when trying to setup a VPN. So I can obviously access it through that. But I used the OAUTH method so I could "use your panel anywhere", but how?

Hi @caz —thanks for the kind words. I’m glad you have HP up and running.

The cloud install only means that the server can get to your Hubitat hub IF your server is on the open Internet. If your server is a local rPI then the cloud install doesn’t help you and is just an undesirable inefficiency. You still will have to jump through VPN hoops or port redirect hoops to get to you rPI from the outside. Once you get to your rPI then the calls to you hub would be done directly if you used the local method or via cloud if you clicked cloud. The OAUTH method applies to both.

To use HP outside your home you would need to install it on a server you can access from outside your home. This can be done using a public server or by enabling VPN into your home network or by opening the web port and redirecting external requests to your rPI. If you do any of these be sure to set the password so random people can’t control your home.

Good luck man. And ask if you have further questions.

Folks - with huge thanks to @dan.t I am releasing a draft of a new version of HousePanel that will do direct updates of your dashboard when things change in your house. This was fashioned after a technique implemented in the HomeKit app using a Node.js middleman and webSockets.

This first draft release of a direct hub push version is now available in the "hubpush" branch of the usual repo.

To use you must install the Node.js middleman called housepanel-push.js on the same rPI where you are hosting your HP app. It is published as a NPM module so you can use:

npm install housepanel-push

I'll write up full instructions in a future post.

1 Like

Thanks for the response. I'll revisit later when I have more time on my hands.

Revisiting HousePanel now that you have this push option and getting on OK, the updates are instantaneous. Looking good :grinning:

Just a couple of minor things though.

install.sh in the hubpush branch installs an older HousePanel version

The path in the housepanel-push.js is to
/home/pi/html/housepanel/hmoptions.cfg
not to
/var/www/html/housepanel/hmoptions.cfg
as I wasn't on a pi this threw me, as did wrong permissions on that file - my fault - RTFM

If you re-authorise a hub - for example to get new devices that you've enabled then that crashes housepanel-push

Just a comment - if you mistakenly add a couple of hubs too many but don't complete authorisation , or try and fail , or perhaps just want to delete one then I can't see how to remove them ?? This then crashes housepanel-push when it references hub properties for these incomplete hub entries e.g. hub.hubtype I had to edit them out in hmoptions.cfg

Whilst I'm here when I add an analog clock I have a very faint digital clock showing too at the top within the analog clock - is that a known issue ?

A digital clock jumps between displaying 6 and 5 digits every few seconds 01:23:45 AM and 1:23:45 am. The am indicator changes between upper and lower case too.

Just having a bit of a problem getting colour changes on tiles to take effect. The tile occasionally updates. The values in the editor always do - the tile has a propensity to show blue default.

Thanks for this precious feedback. Will update things soon. I’m out of town for a few days so need some time. Thanks again.

Sorry about that
[EDIT]
An update was posted tonight that allows the install script to install any branch that exists. Grab this latest version and enter "hubpush" when prompted for the branch name. You can also always do a manual install.

This was in the .service file only. The new install routine will create the service file correctly.

For now there is no way to remove a hub other than manually. This is on my todo list.

The new feature to update the clock every second is conflicting with the format used in the polling method. [EDIT]
I updated the real time second timer to be disabled if the default time format is not used. And I fixed the default time format to match what js gives. So this should be fixed now - but not yet fully tested.

Posted an update to hubpush that aims to address the issues above, but I’m away from my home router so I couldn’t test this so only the brave who love living on the edge should try this. I will do some testing and more updates later this week. Mainly just letting the community know that I’m working on this stuff. Soon HousePanel will have a robust instant update capabilitiy and this removing the one remaining weakness when compared with other professional dashboards. Of course you should still stick with the pros if you want a plug and play solution with pro support.

[EDIT]
I posted a major rewrite of the install.sh script tonight. This version supports installing branches other than the master branch among other things. Each new option is presented as a user input so this is self-documenting. Thanks to Delta airlines I was able to test this from 35,000 feet... LOL. Anyway, this is a big upgrade to the install script and allows brave souls to install the hubpush branch using the install script. I still haven't tested the actual updates to the dashboard itself. Stay tuned.

1 Like

This is where I'm at currently running the new installer against the hubpush branch...

I am running OK but I'm just not sure which versions of hubpush and app I have (latest updates or not) a few UI things not fixed (clock etc) but maybe those weren't addressed or I'm running a previous version. Shows as 1.980 , not sure on the hubpush ver.

.......
  inflating: HousePanel-hubpush/tileeditor.js
rmdir: invalid option -- 'f'
Try 'rmdir --help' for more information.

Setting permissions for /var/www/html/housepanel

HousePanel has been downloaded and installed in /var/www/html/housepanel

Restarting Apache
npm ERR! code ENOSELF
npm ERR! Refusing to install package with name "housepanel-push" under a package
npm ERR! also called "housepanel-push". Did you name your project the same
npm ERR! as the dependency you're installing?
npm ERR!
npm ERR! For more information, see:
npm ERR!     <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kevin/.npm/_logs/2019-02-12T15_36_09_096Z-debug.log

housepanel-push service installed to enable fast updates of your dashboard

Created housepanel-push.service file for running a service
Failed to enable unit: Unit file housepanel-push.service does not exist.
Failed to restart housepanel-push.service: Unit housepanel-push.service not found.

HousePanel push service installed to enable fast updates of your dashboard

HousePanel has been installed in /var/www/html/housepanel

To use open a browser and load  http://192.168.1.50/housepanel/housepanel.php

New to housepanel, sorry for the newbie question, what is the procedure to update housepanel? I can't seem to find it in the wiki, I have it running on my unraid server in a docker, which files do it need to copy over??, Any help is appreciated.. thanks

First - ignore the hubpush branch. Just keep working off the mature master branch. Pull all files down and copy them all maintaining the folder structure. You should keep your original hmoptions.cfg, custimtiles.css file and your tileedit.css files.

Also update the groovy file in hubitat. Refresh your browser and you should be all set.

Thanks for being a brave alpha tester. I clearly need to fix up some things here. Until I do please stick with the master branch and only install the hubpush branch using the usual manual priocess. I will work on this over the weekend.