[RELEASE] HousePanel Dashboard for SmartThings and Hubitat

Try doing

sudo apt-get install php-curl

And restart Apache

Ah yes. Understood. Are you relying on routines within Smarthings or are you creating your own rules/logic on your application?

I need my polling as fast as possible as I’m not using any Smarthings logic (routines or core).

Using open dash my poll rate is about 2 to 3 seconds (time it takes to return the “AllDevices” endpoint response).

I’d like if it was faster!

HousePanel reads all of its data from the hub other than the clock, images, and video tiles. There is no real logic involved - it just reads the state data from the device via the hub call made over cURL. The calls are processed by the HousePanel.groovy smartapp.

I don’t understand what your tool does and how it helps a ST user if it isn’t getting data from the ST hub. The only thing I use polling for is to keep the panel in sync with changes to smart devices made by means other than the panel - such as a physical switch or an Alexa command. all changes made on the panel are reflected visually immediately with no polling required.

It’s the same with my application, every action is updated in real time locally(pressing a switch, opening menu etc.)

Ultimately my application is a personal project I started Because I didn’t want to be limited to the logic in Smarthings routines and core.

All I do is take the device data from smart thing via Opendash, Parse it all and make it available to my application as individual variables I can then use to write all my own IF,ELSE,CASE
 etc logic. In this way fast feedback from a change in state of a motion sensor or contact sensor is important to me and hence my questions about polling.

I guess this is where our applications differ. Thanks for your information though. Love seeing what everyone is doing using SmartThings in different ways.

This is exactly what I’m doing with the HousePanel api. I currently have my application refresh on its own every 10 seconds. If I do any kind of interaction with a tile it updates right then. I also have a timeout that changes it to refresh every minute if there is no activity for 30 seconds.

super cool guys.

This tells me that I could probably poll more frequently without any trouble if there is a small number of devices to update.

Love seeing all the innovation happening here.

I plan to start doing releases only on Friday’s unless something urgent arises. This first Friday features a few bug fixes for Tile Editor and a tweak to the thermostat and video tiles. Nothing major but a solid maintenance release. Also added a line to the doc file to avoid curl install issues.

[RELEASE] HousePanel install script

Folks - I developed an install script that should make it much easier to install HousePanel. I’m looking for a few people willing to try it out. Here is how to use it. SSH into your rPI and enter the following command:

cd ~
wget https://raw.githubusercontent.com/kewashi/HousePanel/master/install.sh
bash ./install.sh

This will setup Apache2 and configure PHP with cURL. Then it downloads the latest HousePanel server files and puts them in the web directory that you specify. The script will prompt you for this name. For now the script assumes your web server is hosting pages out of /var/www/html on a rPI. If you have a different setup you will want to edit the script before running it. Finally, after it unzips all the files and puts them in the right place, it sets the permissions the way HousePanel wants to see them. For now I open it all the way since I want to be able to manually edit the files as well as having the web write to them. If you don’t forsee ever doing any manual editing you can change 777 to 755 in the script to make your site more secure.

When the script finishes you are all set and can proceed to loading your browser to your rPI pointing to the directory you gave plus housepanel.php

I tested it on my rPI and it works like a charm, but I need others to try it out before I declare victory over this matter.

I had to install apache2 manually first before this would work. I looked at the install.sh and it appears that you commented out the line to install the needed dependencies. Why is that? Also, is php5 really required or will this work with php7? Stretch includes 7 by default but I am getting

sudo: php5enmod: command not found

when i try and run install.sh and the webpage is just the contents of housepanel.php. So, looks like it needs some tweaking.

Also, the command sudo php5enmod mcrypt doesn’t work. I tried sudo phpenmod mcrypt which should work according to the websites I found but

WARNING: Module mcrypt ini file doesn't exist under /etc/php/7.0/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/7.0/mods-available

is the error I get.

Thanks Ryan for this test and the feedback. I really needed it. The comment lines are a mistake - I was testing and didn’t want to bother with waiting for an update which I knew worked. Sorry about that folks.

Regarding 5 or 7, I just picked 5 because it was familiar. Suppose I could offer a choice or just do 7. I don’t think the mcrypt is needed so I can remove that.

[EDIT]
Updated and tested the script. Now includes an option to do php5 or the latest that you get with just php which will usually be php7. Also removed mcrypt and the comments. I left the system update comment in because most people won’t need that and it takes forever.

Okay, I can retest. Just fyi, PHP5 isn’t available on Stretch. Only PHP7. The packages aren’t found in stretch. So, you can only use that if you’re running Jessie.

I got it to install
but the first launch screen is really confusing. There are so many options that look completely similar. How am I to know which ones are needed. I’m installing for Hubitat btw.

For example, do I use “Endpoint” or “Fixed enpoint” And do i use Access Token or Fixed Access token? What’s the difference?

LOL 
 yea I shouldn’t expect people to rtfm I suppose. Anyway, you only need the client ID and Secrets. Hub number is recommended.

The others are options if you want to bypass the oauth flow but finding those values isn’t easy. Again this is all in the doc.

What doc? And I got everything I think I need in my hubitat logs. I just need to know where to put them in.

I think I got it figured out now. Just tinkering. One thing Immediately popped up as a question though
for CT bulbs, how can I adjust the color temp as well as the level?

The doc is here:
https://kewashi.github.io/HousePanel/

And for color lights add them as a bulb thing and you will get a little color circle on the icon. Tapping that circle will enable you to make a color selection.

Yeah
that gives me the RGB picker but I want the CT picker. They are RGBW bulbs.

I also can’t find any info in your doc on changing what location is used for the weather tile or adding/editing the tabs.

I disabled CT for bulbs. I think you can set it for Lights but I can’t remember. But can’t you you change the CT by just selecting a different color rgb value and changing the level? CT is related to rgb - that is there aren’t 4 independent variables in a color wheel - either RGB or CT for plus color hue. This website explains how you would pick a RGB to give you a desired CT

So adjusting the CT messes up the RGB color and I was struggling with keeping them in sync. Anyway, this is why I didn’t put a CT slider on bulbs.

To edit tabs go into Edit mode using bottom right radio button then click on green circle of tab you want to edit. Or to add a page use the Add button in the upper right corner. You are right that this didn’t make it into the doc.

ThebTimezone set on the auth page determines this. For the forecast frame you have to edit the frame html file

Well, RGB isn’t the same as CT and you can’t get the same brightness by selecting an RBG value when you want a CT one. For RGBW devices, you can swap between the two. So, if I want to change the color temp I will have to go to the Hue app or to Hubitat
okay. Any way to re-enable that? In fact, you can’t get the same functionality by using the RGB wheel.

And as far as weather, I’m still not clear on how to change what weather is being displayed. How does setting my timezone get me the weather? Time zones are pretty big.

I figured out the room/tab thing though.

I am not able to get back from Kiosk mode though. I add ?useajax=showoptions at the end of the url and I uncheck Kiosk mode and click save but it is still in Kiosk mode. I’ve tried everything
I am locked in Kiosk mode. Is there a way to edit the files on my pi to get me out of it? I definitely think there is a bug in that checkbox.

Edit your hmoptions.cfg file and look for the word kiosk. Change to false. Save. Reload. Will investigate the bug. Do your other changes stick? Usually this happens when your web server isnt set up to accept edited files. To fix SSH into your pic and chmod 777 hmoptions.cfg.

Oh and on weather you are right. The location is set in ST or HE. I don’t think HE weather is working with HousePanel though. If you are talking about the forecast big blue frames those are hard coded as Ann Arbor where I live. Just edit the forecast.html file.

And yes the CT can be enabled. It is simple. Let me explore and get back to you. But
 there should be a brightness slider so I am confused about your point. Hmmm maybe you don’t have a brightness slider?Anyway, I can easily add back in the CT slider. Code is still there - just have to find it and uncomment it.

I have a brightness slider, just not a CT selector. Other changes are definitely saving. What do I have to edit in the forecast.html file?