Hi good people!!! Well my day off from work in honor of MLK day was a good one filled with lots of creative work on HousePanel. Most of it was debugging the complex customization feature which has proven to exceed my expectations for flexibility, but has also given me headaches for proper functioning of click updates, etc. I hope most of the quirks are gone after the bug squashing efforts of today. You will find that clicking on tiles that link to others now trigger the onscreen update immediately as it should for all linked tiles. Unfortunately it doesnāt work in reverse so you will have to live with polling updates for linked tiles that get updated outside of HP. Minor nuisance. I also tidied up the info table that āShow Infoā prints to screen.
I thought I would showcase my latest office tab that demonstrates the power of the tile customizer and the highly flexible tile editor. Everything here on screen was created from within the GUI with no CSS manual editing.
Need a little help. I can run phpinfo/housepanel.php from my PI with PIās ip address as well as localhost. But I cannot do the same from another PC on the same network. The PI has always been setup as headless, the 2 ways I access is ssh from Windows 10 bash shell, or TightVNC if I need graphical interface, which also requires ssh.
Attached a screen print that shows the TightVNC session to the PI, the ssh session using Bash ( brown ) and my failed chrome connection to phpinfo.php
I did chmod -R 777 on the files. Both owner and group is www-data. What am I missing ?
Can you load other websites on the server from another PC?
I do what you are trying to do all the time and it works perfectly. I run HP on a pi tucked under my desk on the same sublan. I ssh into it to work on it, but usually I just upload files via the built in FTP in my Netbeans editor.
Step one is getting your pi recognized by other computers. Not sure what I can tell you to help at this point.
Thank you for developing an amazing app that completes my home automation system, the only thing keeping me from using it on my wall mounted tablets its the delay I am experiencing, if I for example physically turn off my office light, it takes about 15 seconds to reflect that change on housepanel. but if i manually refresh the webpage a second later , the change is reflected, meaning the information is being received quickly, its just the UI that its not showing the change.
any assistance would be greatly appreciated, and thank you again for all the time and effort spent on houspanel.
tgauchat
(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy)
1429
With immense respect to @kewashiās amazing work and powerfully flexible design, and polite request for pardons in advance, āinstantā reporting is one particular area where ActionTiles has an advantageā¦
Our Cloud architecture not only stores your configurations, etc., but also establishes a direct channel to SmartThings, so that sensor and actuator status changes are displayed immediately.
HousePanel may still be a better fit for you for many reasons, of course, but ActionTiles is free for 14-Days, so it doesnāt hurt to explore for a bit and experience the differencesā¦ pro and con. Thanks!
Thanks @Alex_M for the acknowledgment. Glad you have it working and that you like it. And thanks @tgauchat for the respect- means a lot to me.
Regarding instant feedback, HousePanel uses polling so it canāt know that a change was made outside the system. As Terry noted AcrionTiles solves this by connecting their cloud with the ST cloud so it knows and can push the update instantly to your screen. HP isnāt cloud hosted so it canāt use this technique. It can use a hub to hub technique that a Hubitat user has developed and I am studying for a possible port to ST. This hub to hub approach would have the same instant speed of the ActionTiles method. Please note that one big difference is with HousePanel your panel server is local on your own server - which I am calling a hub. Stay tuned for more on this later.
Regarding which to use, that is all about choice and personal preference. I love and respect what @tgauchat and the ActionTiles team have created (I even bought it myself before I wrote HP). It has the ease of use and polish and support of a product worthy of paying for. ActionTiles is a business. This HousePanel project is a hobby for me so it lacks that polish - although it is getting closer. I wrote it because I was frustrated with my inability to coax AT into looking the way my wife and I wanted it to.
It takes effort to install and a user provided server, but that hard part is behind you. In exchange for that effort HousePanel offers more flexibility and more direct control by the end user since you own the server it runs on and you have the source, etc. And it is free forever but I do accept and appreciate donations.
Finally, from a pragmatic perspective, I wouldnāt expect a user to be staring at their panel very often when things change, unless that change was prompted by the panel use itself. So I think a 30 second polling rate delay is a reasonable thing to live with. If this is a show stopper for you then ActionTiles or SharpTools are the best alternatives. You wonāt offend me and Iāll continue enjoying my hobby.
By the way, Iām often asked why I donāt just poll more frequently- say every 5 seconds? I tried and learned that the browser canāt keep up and it fails to read user touches and do other tasks because it is too busy polling. In my testing I find that if you have under 100 devices it can handle 30 seconds. I have 200 so I use 60 seconds. The scaling is sub linear so 45 would work too but I prefer an even one minute poll to give higher response rates due to touch. Experiment with the values in the housepanel.js file.
There is a fast polling loop (every 5 sec) for handling stop motion video effects. You could add a few specific sensors to this loop if those are manually changed frequently. This would require a code hack so if you want to try this let me know and I will help you do it.
tgauchat
(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy)
1432
Keep in mind that if your user base was anywhere near the size of ActionTiles, then SmartThings would really not appreciate that level of polling activity against their Cloud. It could severely degrade performance for all their customers.
This was one of the issues we ran into as SmartTiles became popular (SmartTilesās poll frequency was 30 secondsā¦).
Not sure if it would work for you or not @kewashi but on my app I have it polling every 10 seconds. Anytime the user clicks a tile it cancels the current interval so there is no call during the users click/interaction. The users click will do what it needs to do then restarts the interval. So far no issues.
I also turn off the timer after 40 seconds of inactivity. When app wakes up from the screen saver it restarts.
Interesting idea but I donāt think that will work to keep the panel in sync with external actions that result in changes to a tile state. I think the only solution is to subscribe to events and post a message to a known address that the installer will know. That address will be a Node.js man in the middle app that in turn triggers the panel update. I know this will work on Hubitat since a user over there did it. Not sure about ST. If it works I can dump polling completely.
How do I get the weather widget within the frame and not have to scroll down to see the whole window ? I have been trying for a while to play with the height and width without any success.
Increase the height value in the forecast.html file and the height value of the whole tile in the tile editor
[EDIT]
A little more detailā¦
There are three parameters that govern what this frame tile looks like. All three have to be just right to make it work.
First, the setting in forecast.html needs to be set about right. On line 15 in forecast.html set the width parameter to 480px and the top parameter to 0px. This should be that way by default but older versions had top set to -10px which should be changed to 0px. By the way, this is where you specify the location for the weather to be given.
Next, the frame subid in the TileEditor should be site to the right item height. This should be something like 212. This is where you can also set the border to be whatever you want.
Finally, the wholetlie height in TileEditor should be set to the same value as the frame element. It wonāt hurt to have it larger but I set mine to 212 like above.
So if you get it all set right, it should look as follows:
V 1.972 Pushed today. This version includes ability to add a custom field named ārefreshā as a TEXT type with the value being āfastā which will include that tile in the fast refresh cycle. This should be used sparingly since fast refresh cycles happen often and SmartThings cloud canāt handle too many polls from any one hub. One or two tiles should be fine. By default only blanks and images that donāt require a hub call are included. If you include any other tile the hub will be queried for its state every fast refresh cycle. By default that cycle is 10 seconds.
Two new floor lamp icons were also added to this version.
In preparation for the forthcoming version 1.98 of HosuePanel I am releasing the companion Node.js program housepanel-push.js
To install this use the usual npm install procedure:
npm install housepanel-push
If your housepanel is installed in html/housepanel then you will be all set to run this. Otherwise you have to edit the file and point to the location of your hmoptions.cfg file.
Running this will act as a middleman to push updates made in your home over to the HousePanel dashboard using webSockets. This will give HP the same type of instant updates capability that other popular cloud solutions have today. It is best to install and run this as a service. I will later post instructions for how to do this. In the meantime you can just launch it manually after logging into your rPI with Node housepanel-push
The other half of this equation is the updated HousePanel files that will be posted later today. Iām still tidying up a few loose ends, including updating the install script to do all of the above for you, but I wanted to get this note out now so folks can start preparing for perhaps the most important upgrade to HP done in a long time.