Open-Dash Dashboard DIY - Alpha Release Walkthrough

Proud to hit our first major milestone for the Open-Dash project.

Our DIY self hosted Node.js platform has been released on as a early ALPHA Release. What does this mean? Well, things aren’t pretty but the goal is to test the API / SmartApp (while we wait for review from SmartThings) and focus on building templates and interactions.

This release is functionally working, but expect bugs, and complete failure.

If you run into issues, have suggestions, ideas, etc. use the issues for the project / repo so we can manage them there.

Feel free to submit pull requests against the project and share your templates!

Here’s a complete walkthrough of where we are today and how to get started:


This looks awesome! Would you be able to explain other than running locally what the difference is between what this app does and what smartTiles does?

Also, is there a way to add devices that aren’t in smartThings? For instance I have some devices that have a local api I’d like to make a call to instead of going out to the cloud.

1 Like

Does it do Video?

Well, there are a lot of difference’s. The biggest is it is open-source and community driven. Also, as you said, it runs locally, so it is not hosted on SmartThings.

You are in control of your data, not handing it off to a 3rd party.

You are in control of your ui. 100% customizable.

It doesn’t cost money.

You can back up your dashboards easily and move between systems. (just the /data folder)

This is coming soon, right now camera images that refresh will be our first option. Essentially because tiles are just html containers, you could design a template to do just about anything you can do in HTML and a browser.

Open-Dash will connect to other devices and platforms soon enough. But we wanted to get this Alpha release out so our template designers (tiles) can start working on great UI designs for devices. And of course, test our SmartApp API for Open-Dash to make sure we haven’t missed anything for our eventual review and publication (we hope) in the Marketplace.

Not yet, but we are working on various solutions based on our template design. We feel that if you can embed the stream we should be able to get a video working, no problems. Just about resources at the moment.


So are you saying that I should be able to build my own template to do local API calls or is there something in the design of the local app that would stop me? I am just debating if this is going to be my newest hobby. :slight_smile:

Well, potentially, yes. But if you write your own section that can then add devices to the local devices.json file they will fit into the dashboard model.

The issue will be adding an “API” option to each device and build out the routing behind the scenes to route commands and look ups to the appropriate API. Our future hosting platform already does this, but we are waiting for approval of our smartapp to roll this out…

The DIY / Alpha release is really just a playground so we can build really cool features into the general release hosted platform, eventually. But obviously, nothing will stop anyone from using those features in the DIY one.

That is the great thing about open source, AGPLv3 licensed software, you are free to fork and use it, just has to remain open-source.


Quick update on the progress for the alpha in the last week.

Big new features…

Templates and Styles are now built in, with a built in editor
Import/Export so you can share your Templates and Styles with others!
Per Dashboard Styles and a global style so you can customize the look of the entire system
Streaming video POC now working!
Reworked the devices to allow for future use of 3rd party APIs

Big thanks to our loyal alpha testers who are providing invaluable feedback!

As always, you can grab the latest code here and please use the issues section on Github for any bugs, features, requests, etc…

Love the feedback, keep it coming!


Here is a quick preview of how customizable Open-Dash DIY is…



I am getting these errors when trying to edit a dash after creating one.

TypeError: smartthings.devices.sort is not a function
at app.get (C:\Users\user\Desktop\open-dash-diy\app\controllers\dashboards.js:50:49)
at Layer.handle [as handle_request] (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:281:22
at param (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:354:14)
at param (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:365:14)
at Function.process_params (C:\Users\quang\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:410:3)
at next (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:275:10)
at expressInit (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\middleware\init.js:40:5)
at Layer.handle [as handle_request] (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:317:13)
at C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\user\Desktop\open-dash-diy\node_modules\express\lib\router\index.js:275:10)

any thoughts?

Assuming you are on the latest version. Did you add any devices to the dashboard? Pm me your contact info and join our slack and I can try to narrow down the issue. Thanks for reporting an issue.

having issue signing into to slack for now. When I go to the Smartthings button and Add devices and save it, that part went fine. BUT when I leave that screen and come back to it, no devices are shown anymore. I see routine, location and modes are still populated.

Hmm if you go back in to the St area and devices aren’t showing up that means it didn’t save. Can you makes sure you have your devices in the /data/ folder smartthings.json for me.

I don’t see devices in smartthings.json. All i see are the modes, location and routines

Hmm. Something isn’t returning your devices. Try localhost:3000/API/devices and see if that returns anything

error i get when trying to save but the dash showing the successfully saved.

Also. Just something I have to ask, but did you select any devices in the oauth2 authorization?

all i get is “Cannot GET /api/devices”

Ok so something is blocking the request. Now to figure out what. Did you select devices during oauth2

Sorry. Doing this on my mobile. Recently changed it to /API/smartthings/devices

looks like it does returns with all the devices that I enabled during Oath2