[RELEASE] HousePanel Dashboard for SmartThings and Hubitat

You have to change the width field in the customizer so the frame content changes in size too. To move this tile use the red button and cancel the delete question when you release.

I could add a PIN to the wish list. No promises on timing.

Sorry for more beginner questions, but I have a couple more.

How does the grid snap? work. I assumed when I check it that when I place a tile it would snap to a grid layout so I could get all my tiles aligned. When I check the box it does not do this.

My other question is, why do some tiles go behind and some in from of the tile editor and customizer windows. Can I make them all go behind the window, it is hard to make selections when they are in front.

And thank you for considering adding the PIN option.

Do you have instructions on how to show the arlo video? I have a couple arlo cameras and a few Wyze cams as well. I’d like to have them show up as panels.

1 Like

You first select Grid Snap and then you select Edit. If you do it the other way around it ignores the Grid snap. After selecting it in the right order tile movements will be in 5 pixels increments instead of 1 pixel increments so they will align more easily. To reset everything just do a reorder and move one tile and refresh.

This should not be happening. Looks like a browser specific bug. Z-orders are set to ensure tiles show up behind the editor. If that is not happening something is going wrong. You might have your z-orders stuck at unusually high values or you may be using a browser that doesn’t support z-order properly. What browser are you using? Let me get back with you after looking into how to reset the zorder values.

I wrote the code for this tonight and it works great. I am on travel so I can’t integrate it into the master branch yet so stay tuned. I will get to it this weekend along with the customizer speedup I have been working on. The way it works is any tile can be password protected by adding a user custom field named “password” all lower case. Such user fields added in the customizer will automatically be hashed and saved and cause a user input prompt to be asked upon invoke. It is pretty slick and by leveraging the Tile Customizer it was easy and applicable to all tiles.

The instructions are in prior posts. I can’t remember where, but just do a search for “arlo” within this thread and you will find it. Basically you need to run a Python script (sample provided called arlo-sample.py) in a cron job to grab videos out of your cameras and store in the media/ folder under video1 through video4.mp4 file names. Then just add these as video tiles where you want them. You can adjust the size using the Tile Customizer by editing the value of the width and height fields.

I have some generic IP Cams that I was able to setup in a simple html file, directing the image source to cameras internal snapshot.cgi with an auto-refresh. Added that html to housepanel in a frame tile. The camera image file and type will vary based on camera model. Mine is http://ipaddreess of camera/snapshot.cgi?user=username&pwd=password

However, last I investigated, I don’t think it is possible with Wyze. Using TinyCamPro as a server is probably your best bet. There is a good thread TinyCam Pro Android Web/NVR camera app.

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.

1 Like

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.