[RELEASE] HousePanel Dashboard for SmartThings and Hubitat

I’ve been using motionEye hosted in a docker container on my rPi3 for a year now for my Dahua/Hikvision/Generic/HSDB2 video doorbell cameras and it’s worked pretty well so far.

I have added Custom Tiles with the intention of creating a link to a Android App. (Using Fully Kiosk to Launch). I have attempted to add the url to the custom tile but am getting an error message that it must start with http or https. The urls to open an app start with the intent parameter.

For example, I have tiles to start Harmony activities but I wanted a also tile to link to the full harmony app. This is the url to open the app intent:#Intent;launchFlags=0x10000000;component=com.logitech.harmonyhub/.ui.SplashActivity;end

Is there something I’m missing? Is there a reason for the http requirement? Or if you can point me to location where the url is stored, I can edit outside of tile customizer (entered a temp url with http).

Apologies if this has been address elsewhere but i did not see in the forum above…Thanks

I just assumed all custom frames would use http or https protocol. That restriction can be removed via a minor code update. Consider it in the high priority queue to be worked on soon.

2.075 posted tonight with fully functional reordering of user added fields in the customizer. The arrows in the customizer will move the field selected up and down. Native fields may not be reordered. I also made a change in the page render function that speeds things up noticeably.

I am still testing the tile password feature. This will come with a revamped user password framework. I found the old one to be too insecure.

Okay @dman97 and many others that I can’t remember, the often requested feature of adding a password or pin to any individual tile is now available with a new release that I just posted this morning.

HousePanel 2.076 now supports passwords assigned to any tile. The way it works is you use the Tile Customizer by entering Edit mode and clicking on the blue dot of the tile you want to protect. Next you add a new text field and name it “password” all lower case and no spaces. In the user input field on the upper right, this is where you enter the password or pin. Make sure you remember it because it will not be stored anywhere in raw form. A secure 60 digit hash will be created unless you enter a blank password. Click “Add” as usual and the hash will be generated in place of your text, and it will be saved in your hmoptions.cfg file along with all other custom field settings. The customizer box will look like this after you click Add.

Click done. Now this tile is password protected.

Then when you click on this tile to operate it, you will be prompted for a password as follows:
image

Type in the PIN or Password and hit return. If you hit escape the request is cancelled. If you enter the wrong password the tile will not execute. The tile will execute as normal if the password is correct.

A few things to note:

  • password hashes are saved in your hmoptions.cfg file so protect this file
  • this is not super fool proof because custom fields can simply be removed
  • to avoid this for end users, be sure to deploy HousePanel in Kiosk mode
  • to change a password, just repeat the procedure
  • to remove a password delete the custom field named “password”

One last VERY IMPORTANT note. This feature caused me to relook at how I was providing password protection for user configurations of the entire app. I found that needed to be reworked so I did that change too. This means that after you upgrade to this feature you will need to reset your password if you are using one. If you are using the default blank password which means no password protection then there is nothing new to do here. However, I strongly encourage people to use this feature to protect their setups. You only have to log in once and a cookie will keep you going for many months. This feature also allows you to have different tile configurations for different users. Anyway that is an old topic that I won’t repeat. I just wanted to mention that passwords will need to be reset with this version update.

As always feedback appreciated.

Minor update posted 2.077 implementing the fix of removing the http requirement for URL links. Any value should now work. I messed up something in the customizer box that makes adding URL’s flaky. I will fix this later. For now just add it and save without doing other stuff and it will work.

Where / how did you get the intent string? I would love to set this up for mine too for Harmony and other apps like Spotify.

I came across this when exploring ActionTiles during their free trial. Another user pointed out an easy method using the fully kiosk browser to find the internal url string.
Settings–>Universal Launcher–>Select Items to Show–>Add Application This should pull a list of all your installed apps and context for each app. Add this context string to:
intent:#Intent;launchFlags=0x10000000;component=string from above;end

I have not used with spotify but the url should be : intent:#Intent;launchFlags=0x10000000;component=com.spotify.music/.MainActivity;end

I’ve only used with Harmony and Blink apps so far.

1 Like

And thanks for the quick update

1 Like

Thanks for the awesome tip, and my pleasure on the quick fix.

I posted another bug fix - V 2.078 - moment ago. It addresses a finger fart I made in the tile editor where I nuked the ability to pull up user backgrounds. It is fixed. While I was at it, I hunted down and squashed a long-standing bug that didn’t close webSockets properly in the Node.js pusher so one ended up having dups and then it would stop working. That was fixed too so now the node pusher should work more reliably. This is how HP does instant updates in js from external operation of your things. Update procedure for this involves restarting your housepanel-push node service. On most installations this will involve:

upload housepanel.php as usual to your rPI
upload housepanel-push.js from the housepanel-push folder to your rPI
make sure you have the housepanel-push.service file already set up in /etc/systemd/system
run this command:
sudo systemctl restart housepanel-push

This will work if you have the WorkingDirectory in your .service file pointing to the housepanel-push subfolder of your main setup. The original install.sh script does this for you automatically but just pointing it out to be sure since I don’t update the Node.js pusher file very often.

1 Like

LOL. This is the first I’ve heard of this phrase, but can totally relate. Like a brain fart… but when your fingers do something different than your brain meant! :rofl:

2 Likes

@kewashi Thanks for adding the password feature. I set it up and it works, but I must have done something wrong in the update process I lost all of my tile customizations. Here is what I did if you could tell me what I did wrong:

  1. I went to github copied the raw data from the groovy file and pasted in to the housepanel smartapp in the smartthings API. Saved it and published it.

  2. Copied the following files and directories to my PI:
    housepanel-push
    skin-housepanel
    customize.js
    housepanel.js
    housepanel.php
    hpapi.py
    md5.min.js
    tileeditor.css
    tileeditor.js

  3. I have my own skin folder so I copied the contents of skin-housepanel to my skin folder.

  4. ran the command sudo systemctl restart housepanel-push

  5. Opened house panel, my existing password did not work. Blank password worked…

  6. I went to: http://10.42.1.169/housepanel/housepanel.php?useajax=reauth created a new password.

  7. I followed your instructions for adding a password to the tile and clicked done.

After I clicked done, all of the changes I made to tiles was gone and the arrangement was lost too along with the background image for the tab I had added.

When you copied the skin-housepanel folder to your skin folder it overwrote your customtiles.css file in your skin folder. That is where all of your skin-specific customizations were saved. This file is precious and should be backed up and not overwritten when you upgrade. Hopefully you kept a backup of it somewhere.

Also, your tile configuration is saved in hm_xxx.cfg where xxx is the name of your login. If you are using the default “admin” it will be in hm_admin.cfg. And finally, your preferences and tile customizations are stored in hmoptions.cfg.

Whenever you upgrade, you should always save a backup copy of the following files:

  • everything in your personalized skin folder - especially customtiles.css and housepanel.css
  • hmoptions.cfg in the main folder
  • hm_xxx.cfg where xxx is your login name
  • customtiles.css (the one in the main folder)

I’m sorry this wasn’t more clear before. Your experience is prompting me to write an upgrade script to do all this for you in the future. I should also just remove the default customtiles.css file that overwrote yours because the code doesn’t need it anyway since it will be created if not there. The existing install.sh script will actually upgrade for you properly but it won’t handle custom skins and custom logins. I will fix this in a future release and include a specific upgrade question. Sorry again - hope it won’t be too hard to recreate your look and feel.

Version 2.080 Posted this morning. Bugfixes and minor new features, including:

  • removed customtiles.css to prevent overwriting user versions in future upgrades
  • bugfix for LINK tiles in customizer that was broken with password addition
  • set default style of blank tiles to be blank without a frame
  • speed up initial load and page reloads
  • show status in popup window when click on motion and contact tiles with no actions
  • weather tile name fix

Enjoy.

And remember, back up your customization files including hmoptions.cfg and hm_*.cfg files before you upgrade.

Version 2.081 with security updates:

Security lock down - no longer accept blanks to make new bogus user

  • reauth request via api if not logged in will return to login page
  • default user name not set to admin rather set to blank now
  • reauth page still available if options file is missing

[EDIT]
Another update to V 2.082 with further cleanup of login lockdown. Also fixes a bug that was wiping out the hubpush settings.

V2.083 posted tonight with cleanup to page load to always properly read things and options. Also fixed a few obscure bugs. General cleanup in a few areas. Files to update include housepanel.php, housepanel.js, and customize.js

Reposted this version with a few more tweaks. Also the way hub data is stored in the web cache was changed in this version so if you get an error after upgrading just hit Refresh button and it should reload and be fine.

I know there has been a flurry of updates lately due to my July 4th “stay-cation” but now I’m back at work so things will slow considerably. This version is pretty stable so it’s a good one to install in production.

[RELEASE] HousePanel V2.084
This update fixes problems many users were encountering with the new authentication feature. The problem was some PHP versions did not support the function I used to encrypt the password so that was protected for in this update. If you have an existing install, please replace your housepanel.php and housepanel.js files from this update and refresh your webpage. You will then need to do: http://yourIP/housepanel.php?code=reset to force the code to load the reauth page. On this page enter your desired username and password. Then click “Done Authorizing” near the bottom. It will take you to the login page where you enter the username and password you provided. It should work.

For new users just launch the app and you will be taken to this auth page by default. You can always delete your hmoptions.cfg file and start over. This will force the auth page to load and it will reload all your things and start fresh.

Sorry about all the swirl on passwords. Hopefully this is now nailed down.

For power users, if you want to keep your hmoptions.cfg file and just remove your old logins and passwords, edit your hmoptions.cfg file and look for “pword” in the “config” section and remove it. If you do this, take care to remove either the starting comma or the ending comma, but not both. This will ensure the file remains in valid “json” format. If this sounds like gibberish to you don’t try this - just delete your hmoptions.cfg file instead and start over - or live with having old logins and use the code=reset option above.

V2.087 Posted tonight with minor formatting updates to Info Page.

This update includes 2.086 which added a new useful install feature to the install.sh script for updating HousePanel reliably. This now asks if you are updating and if so it retrieves the files that typically change and replaces them in your designated folder. This keeps all your customization files. I still strongly recommend backing up your main folder periodically just in case.

I should also mention that I added a bunch of lightweight GitHub tags tied to key release versions. Just do a git tag -l to see what they all are.

Hello,

I am using an Ipad and having issues with setting it up a kiosk mode. Is there any why to hid the buttons on the bottom of the screen. When I enable Kiosk mode I can’t find a way to able disable the buttons.

Thanks,
Kevin

I just checked by setting mine in Kiosk mode and the buttons on the bottom hide. I don’t use an iPad so there may be something weird going on there. Try loading your panel in a computer web browser and set kiosk mode to see if it works there. What version are you using?

© 2019 SmartThings, Inc. All Rights Reserved. Terms of Use | Privacy Policy

SmartThings; SmartApps®; Physical Graph; Hello, Home; and Hello, Smart Home are all trademarks of the SmartThings, Inc.