[RELEASE] HousePanel Dashboard for SmartThings and Hubitat

i’m still on the old ST account and was finally able to get the panel working by reinstalling cURL and retries with setting directory permissions for the www/html/HousePanel folder

Now i can see my devices. However i still don’t see the hmoptions.cfg file in this folder to change the room names or add additional rooms…

Also, how do i add my IP Cameras ?

thanks

EDIT: spoke too soon, had to reboot the PC and now i lost all my settings and the ST auth. :frowning:
Looks like the settings are not being saved …

First - use the master branch. The savelocal branch isn’t working.

Second, make sure your folder on your web server can be written to. Log in and do a chmod 777 to the folder and the hmoptions.cfg file. Then try again.

i have done a chmod 777 on the folder, changed the owner to www-data, still does not work.
Deleted the folder and pulled the master branch down again and repeated the chmod, no luck with ST auth,

changed the folder owner to www-data, i was able to continue with the ST authorizations, still no devices

None of my devices show up with the master branch

thanks

@BatraD I am so sorry you are having so much trouble. I am working on updates to the master branch and am not seeing this same behavior. In fact with the current version you can just let HP create your hmoptions file and permissions should work as is. The 777 won’t hurt but it isn’t required any more. After you authenticate does the hmoptions file get created? Do your devices have unusual names? The default setup of devices in rooms assumes they have names with usual household labels like “kitchen” or “garage”. What do you get when you click the Show Info button? Does it show all the auth variables and do they look normal? When you click the Options button in the lower left, do your devices show up in the table? Finally, as a last resort, you can go into the code and change DEBUG2 to true in the main php file and run a reauth. This will spit out all the auth information. Look at it and report back if anything looks unusual, but don’t post your auth info here publicly.

Master Branch - Update.

As noted previously folks, I’m back on the master branch making updates and bug fixes. I have basically abandoned the “savelocal” attempt as it wasn’t working well.

The lasted posted update done tonight implements a number of worthwhile updates to the tile editor and to the Refactor function so that Refactors no longer trash your custom tile configurations. I am starting to use this feature now as I am finding it more valuable than before. Now you can add images to the entire tile background. I used this to add my and my wife’s picture to our presence tiles and our home to the clock tile. Image posted below to give you a taste of what it can do. To help you play with it, I included a bunch of images in the media folder of the default skin that you can use as backgrounds on tiles. I’ve tested this version quite a bit and it seems to be pretty stable. I recommend downloading this latest version.

1 Like

Thanks for the update. I’m running Ubuntu 18.04 server… Most of my devices have room names in the device (ecobee - kitchen, Garage - light, Master Bed - Lamp …)

i deleted my HousePanel folder under /var/www and recloned the master branch

Started Housepanel.php and tried to re-auth into ST, get to selecting objects and then get back to the same auth screen to re-auth into ST. hmoptions.cfg was not created. root is the owner of the folder

did a chmod 0777 for all files. reauth into ST. still no hmoptions.cfg

changed owner of the folder to www-data, reauth into ST, now i have a hmoptions.cfg file with the ST auth code. but still no devices show up in the list

Ran with DEBUG2=true, after the auth, i get the following screen… I have removed my token from the log. I have over 30 devices selected to sync (out of over 100)

Array ( [config] => Array ( [timezone] => America/NewYork [user_sitename] => BatraHome [use_st] => 1 [st_web] => https://graph.api.smartthings.com [client_id] => [client_secret] => [user_access] => [user_endpt] => [use_he] => [hubitat_host] => [hubitat_id] => [hubitat_access] => [hubitat_endpt] => ) [skin] => skin-housepanel [kiosk] => [time] => Version 1.73 @ 1531917266 [useroptions] => Array ( [0] => routine [1] => switch [2] => light [3] => switchlevel [4] => bulb [5] => momentary [6] => contact [7] => motion [8] => lock [9] => thermostat [10] => temperature [11] => music [12] => valve [13] => door [14] => illuminance [15] => smoke [16] => water [17] => weather [18] => presence [19] => mode [20] => shm [21] => piston [22] => other [23] => clock [24] => blank [25] => image [26] => frame [27] => video ) [index] => Array ( [clock|clockdigital] => 0 [frame|frame1] => 1 [frame|frame2] => 2 [frame|frame3] => 3 [frame|frame4] => 4 [video|vid1] => 5 [video|vid2] => 6 [video|vid3] => 7 [video|vid4] => 8 ) [rooms] => Array ( [Kitchen] => 0 [Family] => 1 [Living] => 2 [Office] => 3 [Bedrooms] => 4 [Outside] => 5 [Music] => 6 ) [things] => Array ( [Kitchen] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) [1] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Family] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Living] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Office] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Bedrooms] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Outside] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Music] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) ) )
cookies =
Array ( [defaultTab] => ui-id-1 [PHPSESSID] => )

show info shows only the default devices.

i even unselected all devices and only selected ONE device- Garage Light, still does not show up

Sitename = BatraHome
Skin directory = skin-housepanel
Site url = http://housepanel:80/HousePanel/housepanel.php

SmartThings AccessToken =
SmartThings Endpoint =
Hubitat AccessToken =
Hubitat Endpoint =
List of Authorized Things
Name Value Array Type Thing id Tile Num
Digital Clock [name=Digital Clock weekday=Wednesday date=Jul 18, 2018 time=8:39 am tzone=EDT ] clock clockdigital 0
Weather Forecast [name=Weather Forecast frame= EmbeddedFrame status=stop ] frame frame1 1
Frame 2 [name=Frame 2 frame= EmbeddedFrame status=stop ] frame frame2 2
Frame 3 [name=Frame 3 frame= EmbeddedFrame status=stop ] frame frame3 3
Frame 4 [name=Frame 4 frame= EmbeddedFrame status=stop ] frame frame4 4
Video 1 [name=Video 1 url=media/arlovideo.mp4 ] video vid1 5
Video 2 [name=Video 2 url=media/arlovideo2.mp4 ] video vid2 6
Video 3 [name=Video 3 url=media/arlovideo.mp4 ] video vid3 7
Video 4 [name=Video 4 url=media/arlovideo2.mp4 ] video vid4 8

i have also re-formatted the hdd, installed ubuntu server, php, apache. mysql, curl…
changed chmod 0777

made a new OAUTH secret…

Now i get an HTTP 500 error as soon as the php code tries to get devices from ST

Did you update your options file with the new oauth info?

yes i did, did not help

I am stumped… by the way, the weather widget service used in the forecast tile is not working today. You can switch to Accuweather using this code in forecast.html instead:

<!DOCTYPE html>
<html>
<body>
<a href="https://www.accuweather.com/en/us/ann-arbor-mi/48104/weather-forecast/329380" class="aw-widget-legal">
</a><div id="awcc1531959686475" class="aw-widget-current"  data-locationkey="329380" data-unit="f" data-language="en-us" data-useip="false" data-uid="awcc1531959686475"></div><script type="text/javascript" src="https://oap.accuweather.com/launch.js"></script>
</body>
</html>

just google “free weather widgets” and you’ll find lots of options.

Back to Batra’s problem, I have no clue. Have you looked at your groovy logs while you are trying to load HousePanel? The logs should show something like:

image

if it doesn’t then something is wrong with your groovy code. You did install the groovy code in the SmartThings app right?

This isn’t a good sign. Can you post here what the error code is saying? a HTTP 500 error usually means the webpage can’t find the server, but in this case the server is the default ST api page. Make sure you have that set correctly in clientinfo.php. The default is:

define(‘ST_WEB’,‘https://graph.api.smartthings.com’);

if there is a typo in this line nothing will work at all.

EDIT: One more thought… make sure you have OAUTH turned on in the groovy app and that you copy the ClientID and ClientSecret exactly as shown in ST into the clientinfo.php file.

The setting for ST was not set in clientinfo.php and i un commented it. Made sure i coped and pasted the auth correctly from the IDE page…

Now i don’t get the 500 error, but still no devices show up in the view or under Options

Live logging for HousePanel shows the following
3eb5a06d-b741-4f16-9ff7-4f7fab14b495 8:01:30 AM: debug Installed with settings: [myswitches:[Garage Light, Master Toilet Light, Towel Rack Switch, Study Fan, Mud Room Light], mydimmers:[Chandelier Light, Dining Room Light, China Switch, Couch 1, Couch 2, Couch 3], myothers:[ec - Main]]

ShowInfo does not show my auth code or secret (its blank)
Sitename = SmartHome
Skin directory = skin-housepanel
Site url = http://172.22.22.157:80/HousePanel/housepanel.php

SmartThings AccessToken = BLANK
SmartThings Endpoint = BLANK
Hubitat AccessToken =
Hubitat Endpoint =

EDIT: I tried adding auth to the clientoptions.php file as well, did not make a difference…
Reinstalled the groovy from Github, deleted the smartapp from ST iOS client, saw it get created again …

Glad you got the ST setting in there now. All I can think of is you need to check again and again if your clientinfo.php file has everything loaded correctly. If you have that set riight and permissions set then there isn’t a whole lot else that can go wrong once you authenticate. HousePanel does a simple query of all your things and presents them to a dynamic web page so there isn’t a lot of magic happening. Every thing it sees is written to the hmoptions.cfg file. If that file doesn’t have things and rooms defined nothing else will work well. The wiki documentation has example files that you can use to double check your setup against. The only other thing that can go wrong is cURL needs to be installed and working, but you have that since authentication wouldn’t work if you didn’t. I’m out of ideas for how to help you further.

Update posted with fixes to tile editor and timezone. Various other bugs also squashed.

I’ll try an RPI to see if there is a difference… was trying to avoid buying another…
thanks for all your help

My setup is a rPi and it works pretty awesomely. It is very stable and robust. I think you will find it is easier to work with than fussing with a Windows or Linux computer. You can also tuck it away just about anywhere and forget it is there. Remote ssh into it so you don’t need to connect a keyboard or screen. It is always on and draws a small amount of power. I use mine to power both HousePanel and KuKu Harmony and that works great. I also use it to runs some python scripts to scrape photos and videos from my Arlo cameras to store for HousePanel to display. I guess what I’m saying is I think its worth the $40 expense… Amazon’s latest deals on pi’s is here:

https://www.amazon.com/gp/offer-listing/B01CD5VC92/ref=olp_f_primeEligible?ie=UTF8&f_all=true

I concur with Ken. The pi works excellent for hp. As well i am running several more servers with it. Kuku, tplink, cast web Google server, a new one i got working for devices that use the tuya api, broadlink rm, and a copy of vlc for vlcthing. It has been rock solid.

I want to point out though i ran HP on my Windows 10 machine originally and never had any of the issues i am seeing here. Almost all issues I had in the end were used errors. When I get some time I’ll setup again on the win 10 machine to see if I can reproduce this.

1 Like

Chris!!! you rock… thanks for this. Its great to have users who are bigger nerds than the developer. I just picked up a cheap tpLink smart plug so I may need your advice for how to get it hooked into SmartThings or Hubitat.

1 Like

@BatraD, you are not alone. HP is not loading my devices. I am getting the hmoptions.cfg generated. Here is a paste of my “Debug2” output, minus tokens:

options =
Array ( [rooms] => Array ( [Kitchen] => 0 [Family] => 1 [Living] => 2 [Office] => 3 [Bedrooms] => 4 [Outside] => 5 [Music] => 6 ) [useroptions] => Array ( [0] => routine [1] => switch [2] => light [3] => switchlevel [4] => bulb [5] => momentary [6] => contact [7] => motion [8] => lock [9] => thermostat [10] => temperature [11] => music [12] => valve [13] => door [14] => illuminance [15] => smoke [16] => water [17] => weather [18] => presence [19] => mode [20] => shm [21] => piston [22] => other [23] => clock [24] => blank [25] => image [26] => frame [27] => video ) [things] => Array ( [Kitchen] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) [1] => Array ( [0] => 2 [1] => 0 [2] => 0 [3] => 1 [4] => ) [2] => Array ( [0] => 4 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Family] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Living] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Office] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Bedrooms] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Outside] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) [1] => Array ( [0] => 2 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) [Music] => Array ( [0] => Array ( [0] => 1 [1] => 0 [2] => 0 [3] => 1 [4] => ) ) ) [skin] => skin-housepanel [kiosk] => [config] => Array ( [timezone] => New_York [user_sitename] => SmartHome [use_st] => 1 [st_web] => https://graph.api.smartthings.com [client_id] => (redacted) [client_secret] => (redacted) [user_access] => [user_endpt] => [use_he] => [hubitat_host] => [hubitat_id] => [hubitat_access] => [hubitat_endpt] => ) [index] => Array ( [clock|clockdigital] => 1 [frame|frame1] => 2 [frame|frame2] => 3 [frame|frame3] => 4 [frame|frame4] => 5 [video|vid1] => 6 [video|vid2] => 7 [video|vid3] => 8 [video|vid4] => 9 ) [time] => Version 1.73 @ 1532394223 )
cookies =
Array ( [PHPSESSID] => (redacted) [_ga] => GA1.2.1809333484.1532392889 [_gid] => GA1.2.710986302.1532392889 [defaultTab] => ui-id-6 )