[RELEASE] HousePanel Dashboard for SmartThings and Hubitat

[EDIT - first bugfix]
Well … it has been an interesting journey and I’m not fully done yet but done enough to finally post a draft release. You can find this in the “savelocal” branch in the usual GittHub location. This is a major upgrade so I recommend installing this into a fresh new location until it has been finalized and bug checked fully. Here is what you need to know about this upgrade:

  • Most importantly this version doesn’t use the hmoptions.cfg and clientinfo.php files so no more haggling with file permissions.

  • the API still works but as before remember that when calling from anything but a browser that also accesses HousePanel, you will have to provide authentication parameters on the command line. Unlike before fixed authentication parameters do not work as a workaround.

  • The options data that contains info about what tiles are shown in what rooms and what tiles are available in your setup is now stored in a HTML5 local storage repository. This means HP will only work with browsers that support this. All modern browsers support this to my knowledge. In the app a technique is used that pushes the options data from JavaScript into PHP using an Ajax call. What this means is when you authenticate a page will temporarily display that JavaScript uses to exchange data. Then a reload happens and all is well. Most users won’t care about this but it does mean an extra page shows upon authentication.

  • refactors will now renumber the tiles and it will renumber any existing customtiles settings created from the use of the TileEdit feature. I don’t use TileEdit much so would appreciate some community testing of this. Be sure to save your existing custom tiles file in case it screws up.

  • when the auth page is shown you will need to provide the same information on that screen that you previously stored in the clientinfo.php file. This information is confidential and can be used by others to control your home, so protect it accordingly. Previously the storage of this info in clientinfo.php represented a major security vulnerability that is now corrected.

  • the Hubitat auto setup push to HousePanel isn’t working yet even thought the Hubitat app thinks that it works. For now just copy and paste these values into the auth page instead of what you did before which was pasting the info into clientinfo.php

  • there is an Import Legacy button that will read data from existing hmoptions.cfg and clientinfo.php files to populate the auth page. The information is automatically converted to the new format and saved in the localstorage that HTML5 provides. This will also set your rooms up according to your prior configuration. For this to work be sure to copy these two files into the new HP installation location. Once you have imported them they can be deleted for security purposes.

  • drag drop editing no longer forces a page reload when you finish.

  • All pages are displayed as real pages instead of form posts. This means page refreshes no longer ask if you want to repost the data. Some pages when refreshed will revert back to the main page.

  • The Show Info feature now includes prettier display and it includes a display of the room matrix similar to the Options page in read-only format.

  • All of the underlying machinery is in place to allow custom room names and custom tile names to work properly now. I haven’t put the code in yet to do this, but that will be next. The hard part is done so this will come quickly.

  • Removed annoying tab hide/show when clicking on open space and added a button to do that.

  • On screen summary of what to do when authorizing

That’s all I can think of for now. In this stage of maturity you may still experience some quirkyness such as a random loss of configuration where the auth page shows up unexpectedly. If this happens just reauthenticate. I would appreciate a note summarizing what you did to create this quirk so I can fix it. You can always reimport legacy options too if you kept your files around.