SmartThings Community

Open source community created dashboard solution - Alpha Version in Testing


(Michael Hess) #48

LOL I thought we ALL had a pi or two laying around…guess I need to start hanging out in less techy groups from time to time!

Would this be a node.js sort of deal basically? I run a Ubuntu server 24/7 but maybe making it Java for those without *nix experience would be better? Though less efficient I suppose.

(Patrick Stuart [@pstuart]) #49

I was thinking node.js as well, but frankly I’m open to anything or ports to different hosting options to parse the data from the API.

Really we need to focus on the js object to serve up the dashboard functions, then the back end is just plug and play.

(Bobby) #50

I have to say it… I am glad to see @pstuart and @geko back on kicking ideas on ST projects! Welcome back…

(Geko) #51

I’d rather stay clear of Java. :slight_smile: The production will be hosted externally anyway, so no concern to the end user.

(Patrick Stuart [@pstuart]) #52

I am actually thinking of going down a POC that would be a chrome plugin, and everything would be js based, no server needed. :slight_smile: Local storage for caching data, etc. Would have to figure out Android and iOS, but frankly a web view wrapper app wouldn’t be too hard to create. So we can have hosted, self hosted, standalone app, and maybe st hosted inside the mobile app one day.

But I think we will ultimately need a simple hosted user login / account server to make sure the oauth2 flow is maintained and secured server to server and then just have a display layer and interaction surfaces for the data.

(Kevin) #53

@pstuart @geko I came across this older post the other day, maybe some useful info for you guys…

Some other details pasted in on how they accomplished this…

The interface consists of a Dashing installation running on a free Heroku instance. Dashing is a really cool dashboard framework. What I love most about it is how minimalist, yet customizable it is. It’s just a few hundred lines of code on top of some widely adopted web technologies, including Sinatra, Batman.js, Gridster and Sprockets. You can easily create new backend services using Ruby, and frontend widgets using CoffeeScript, SASS and HTML.

(Patrick Stuart [@pstuart]) #54

Yeah, Florianz posted above his link to his project. I think this is a great model to follow and build from, leveraging Jody’s api base point and see where we can go from here.

It’s not like this hasn’t been done before, its really about brainstorming the collective here and coming up with something that can work in a multitude of situations and solve the critical issues facing current / lacking dashboards in and out of the ST ecosystem.

Really appreciate the feedback, and those that have treaded down this path before us.

(fightingmajor) #55

Running off a pi would be great. They are very cheap and for those that haven’t messed with them can learn a thing or two. Heck I have 1 pi3 I’m actually using a 3 pi2 just sitting around doing nothing from various other projects I was messing with.

(Geko) #56

If everything can be hosted on the client, it’s even better. :slight_smile:
I’ve read that Chrome apps are being deprecated though.

(Patrick Stuart [@pstuart]) #57

Good call, somehow I missed this… A web app makes the most sense, lightweight, portable, hostable on basically anything.

Just don’t want to lose focus on secure storage of credentials, so we don’t expose tokens or worse.

Also, for those interested that haven’t gotten into the slack channel or PM’d me your email, please feel free to do so.

If you have already created an open source dashboard on your own and would like to share, please do so as well.

I am really excited about what we collectively can come up with.

(Ben W) #58

I worry about publicly hosted solutions. Security has to be much higher.

Ideally I would want to have it running purely on Smartthings. With Nest Manager we are importing multiple javascript libraries like jquery with no issues.

If I was going to run a PI I would be looking at home assistant with the MQTT bridge to ST. It brings a lot of additional functionality.

(Patrick Stuart [@pstuart]) #59

Yes, I hope we can do a lot of different things. Security will be a high priority for sure.

(Amauri Viguera) #60

Man… Home Assistant has such a high learning curve. This is one of the reasons why I’ve stayed away from it… I do yaml and python almost all day at work dealing with Saltstack and I absolutely hate the idea of using yaml for device configuration.

It literally looks like something that some open source 10x engineer put together because he was bored, while wearing skinny jeans and sipping on some weird artisanal tea. And if he’s around, you can tell him I said so.

I certainly hope that whatever device / dashboard configuration / bridge interface for other platform is put together for this dashboard takes a more “user friendly” approach.

(Geko) #61

I can assure you there’ll be no yaml or any such nonsense. :slight_smile:
All configuration is going to be via smart-app preferences.

(Patrick Stuart [@pstuart]) #62

or config will be web based and not even anything to do with smartapps, we will see, maybe even both… Who knows. We are in the dreaming / planning stages. Quickly moving to POCs and an MVP shortly.

Stay tuned and keep the ideas flowing…

(Tim Slagle) #63

Short answer: It’s coming sometime

Long answer: We’re working on something that I can’t really divulge at the moment (totally wish I could) but when we are ready to release it it is going to allow for some pretty amazing things!

(Patrick Stuart [@pstuart]) #64

Is it an API? :slight_smile:

(Patrick Stuart [@pstuart]) #65

For those that might be interested, but haven’t filled out this form, please do so it will help me keep track of all the volunteers

(Kavvy) #66

Id be interested in seeing what comes of this. Subscribed.

Cant offer anything by way of programming. Sorry.

(Patrick Stuart [@pstuart]) #67

We will be having our first “Virtual” meeting on Thursday night 9pm EST in our slack channel. PM me your email and I will invite you to the slack channel.

Feel free to join the slack and participate however you can.