Announcing HousePanel Control Panel [Alpha]

Hi good people!!!

Update Dec 3, 2017
HousePanel Beta 1.0 Released under the Open-Dash brand with installation and operation documentation in the following new thread:

All updates and discussion will now be tracked in that thread. Remainder of this post is retained for historical purposes.

Update:
Back end groovy code now available on GitHub here:

Update July 15, 2017 :
Front-end php and js code required to use and is now open to all ST community users for beta testing here:

Install instructions are here: https://kewashi.github.io/hpanel-server/ and in the docs folder of the repo.

This still has some rough edges, so beta testing only recommended if you’re ready for
a few bumps in the road. Strongly recommend installing on a local RPi server, but it will work equally well installed on any public facing web server.

…

Well today is the day that I come out of stealth on a project that I have been working on for about six months. I was inspired by SmartTiles but also frustrated when that went away and was replaced by ActionTiles. I like ActionTile a lot and I use it every day, but the user experience doesn’t match how I like to work, and it is painfully slow sometimes. So I set about to write my own panel application that would run on a local Raspberry Pi. I’m not quite ready to upload this code today, but I am excited to show you some screen shot of the alpha code. I would love to hear your feedback about the concept. The basic concept is to put every thing onto the same web page but separate the tiles into tabs that one can quickly flip back and forth to view.

An options page lists all the things with the tabs shown in columns so you can pick which things show up on which tabs. And thanks to jQuery all the tiles on the panel can be dragged and dropped anywhere. The tabs can also be moved around in any order using drag and drop. Here are some screen shots of the current Alpha code. I hope to fine tune things a bit more over the next few weeks after which time I will provide a free beta user period. Beta users will need to have their own web space to try this out. I use a Raspberry Pi and host it locally to speed it up and for enhanced security.This is what I strongly recommend for all beta users. I will include how-to instructions for installing it on a Pi in the beta release coming soon. I have tested this on a publicly hosted website and it works fine; it is just slower and less secure.

I haven’t decided if and if so how much to charge for this app. One thing for sure, if I do charge anything it won’t be very much - I am not trying to get rich on this, but I wouldn’t mind a little play money to feed my growing maker / IOT hobby.

I know I still need to properly format the Weather tile. The way this works is once the page loads, switching panels or tabs is essentially instantaneous. Tiles currently support: lights, dimmers, switches, motion, contact, thermostat, and weather. Still need to add presence tile. The code is there for water sensors but I don’t have any so I haven’t tested that code yet.

Let me know what you think of the graphical flow and the concept. A quick shout out to this guy on Freelancer who helped me with the graphics: Abdullah N. Profile | Freelancer


17 Likes

I like the motion graphics. :sunglasses:

4 Likes

HousePanel is looking good, Ken… Great work!

May I ask you to please do me a huge favor and drop us a note to Support@ActionTiles.com to let me know what pain-points you have experienced with ActionTiles? We want to be sure to look into optimizations for the benefit of all our Customers, so we are super grateful for specific feedback.

BTW: “Instantaneous” tab-based switching of Panels has been a Feature Request on our back-burner for a while (it’s a very big stove with lots of back-burners…), but you are giving us some inspiration to speed up our research to learn if this is a priority for our Customers. :smiley:.

5 Likes

Hi Terry - of course I can do that. You are my inspiration! The simple answer is my wife wanted something that looked less geeky and I wanted something that had the instant tab based response. Otherwise my house panel app isn’t much different in concept to your ActionTiles excellent work. It is younger of course so it’s still a bit rough. I wrote everything from scratch in PHP and Javascript - starting from the days before ActionTiles existed. My motive when I started was to replace the horrible experience of frequent logins required by SmartTiles as you recall I’m sure. I also wanted something that I could heavily customize via CSS so in House Panel everything you see can be customized with a specific CSS class type or ID name. And finally, speed is king on these panels. ActionTiles is pretty quick but not as quick as HousePanel running on a local Raspberry Pi. I’m still noodling on the business model but I doubt I will go with a central server that everyone uses - that doesn’t feel scalable to me. I will send this to your email feedback as requested too.

4 Likes

Thanks for the outline of your architecture. I’m excited to see it in action and it will be a good use of an rPi have sitting around with no use at the moment!

ActionTiles scales extremely well due to the miracle of cloud hosting and the various ways we architected for parallel processing. We’re very pleased with the back-end speed. Front-end performance optimization (and much more flexibility for customization) is receiving attention now. It’s great that we lucked out (cross-fingers) and aren’t distracted with any stability issues. Customization has a higher priority than improving performance, though I’m glad you shared that motivation too. Thanks!

1 Like

Sounds good my friend. I personally love AT and quite honestly would have never done HP if it weren’t for the WAF issue. Then again this is hobby stuff for me and it was a ton of fun. Tweaking and optimizing is less fun so it will be slow going most likely. I am not up to speed on advanced cloud architectures so I will have to trust your experience. I just know when I moved HP to the rPI it sped up amazingly. Thanks for the dialog… will let you know when I have something new ready to show.

By the way - the way I customized the CSS was to use named class tags and jQuery manipulation. I’m amazed at how much you can do with that cute little JavaScript library.

3 Likes

Thanks! :innocent:

Wow…this looks excellent. I have a spare RPi v1 sitting around the house, that I just could not decide what to do with. I’m very excited to give your app a try when it is ready for some testing!

Still trying to figure out how to do an event based update to the web app. I currently do polling on a schedule but for some things events are needed. I suppose I would subscribe to an event and then post a REST API call that my app would read.

Some updated screen shots showing progress… today was a productive day. Fixed CSS markups to fit the right sizes, cleaned up formatting, and fixed cursor to point only on clickable things. I also added transparency to most tiles since it looks cool (geek speak for WAF brownie points).

Remember that virtually everything you see can be customized by the user via CSS. I know the outside background is really a garage - that will be fixed soon. Also want a better photo for the office. I also want to fade the backgrounds a bit. So far this has gotten a thumbs up from my wife so I think I’m on the right track.

Two more things to do before posting the code - 1) adding ability to edit the rooms/tabs. Currently the 8 you see are fixed although the code is general - just need to put an options GUI together. 2) Add special tiles for time, web-hosted photos/videos, and mode. I am not planning on doing hello-home phrases since I find them pretty useless. Instead I just use virtual switches and momentary tiles tied to smart apps. If other think they are important I’ll add them. A few things to note… notice that tiles can show up in more than one place. They can also show up as any capability they support - so for example in my office I show Office Lights as a lights and as dimmers.

Okay a third big thing. Need to figure out how to distribute this and write up a detailed “how to” install file. Enjoy to photos… Would love to hear some feedback about what you see before I lock this down into the first release.

2 Likes

If the code is open (but need not necessarily be “free of charge”), then GitHub is recommended. It is free to host any open-source project there, including free “static web page” hosting for writing documentation and so on.

It is also a way for folks to submit issues (bug reports, feature requests), and even code contributions.

Not to mention, you can structure the SmartApp portion of your code to fit SmartThings “GitHub Integration” requirements, if you choose.

1 Like

Need help beta testing at all? I’d be willing to volunteer.

Thanks - code is already in Github. I am using it with a simple single master branch. I need to learn how to do more sophisticated things with it like merging other contributions and branching. The repo is currently private so I will move it to public soon.

1 Like

@keo thanks … will definitely take you up on that.

I’m the “Release Manager” for ActionTiles :wink: … so if you want a quick GitHub best practices tutorial, just drop me a line.

1 Like

Sounds good - I could use some coaching. I’m ready to open it up for a few beta testers. How should I do that without giving the whole world access? I’m not quite ready for that yet. The repo is marked private but I can move it to public easiily enough. Anything special I need to do other than clear out my personal credentials?

1 Like

(Or you could just create a new Repo and upload your project into it).

This is tougher. Maybe, for now, split your project into two parts: The SmartApp part, which you should put in the correct directory/folder format for SmartThings IDE GitHub integration, and the front-end part which you could put on a Google Drive or something where you can control access.

Without the front-end, the back-end being public won’t matter.

Thanks… I separated them.

The front-end is in:

The back-end is also in GitHub on hpanel-server but it is accessible by invitation only. CosmicPuppy received an invite today.

Others will be granted access upon request and with a valid GitHub user ID. Instructions for how to install are at: https://kewashi.github.io/hpanel-server/

Also updating the Head post with the GitHub information.

3 Likes

Thats awesome. What do a guy need to get an invite?

three things… 1) Ask (done), 2) have a GitHub ID and tell me what it is, 3) promise to provide feedback and to agree to honor any future decisions to revoke free use. That’s it.

1 Like