Linking Smartthings Device Handlers with Github

And keeping them updated, the easy way

Linking Smartthings Device Handlers with Github

A Smartthings device handler is a customer handler that allows you to extend the capabilities of a smartthome device beyond what you get out of a box. For example, I have a smart mouse catcher (I kid you not) and I installed a custom device that pings my phone when a rodent is caught in my shed. I have another handler that handles all of the keycode combinations for my smartlocks. Another handler surfaces the temp of my home and back yard on my phone. I could go on.

If you are at all familiar with device handlers you know that the easy way to create one is to paste the code into the IDE. And you’d be right in thinking that the down side of doing this is that you have to perform the same action again if you want to get the latest bug fixes or features. What a pain! This guide assumes that you have a Smartthings dev account and that you are fairly comfortable with device handlers and code. You will also need a Github account, of course.

Step 1: Enable GitHub integration

On the next page you will be asked to “Authorize Application”

Step 2: Connect to the Repository

Once you have your Github account linked you will noticed these buttons in the “My SmartApps” tab.

Click on “Settings”

Add the owner, name and branch of the repository that you want to link to.

Step 3: Install the App

Click the “Update from Repo” button and you will see a list of the repos that you have linked to. Select one of them.

Select the handler(s) that you want. I highly recommend only retrieving the exact handler(s) that you want and NOT to grab all of them.

Then check the “Public” box and then click “Execute”

Note that your handler might require OAuth but this is rare.


Step 4: Keeping things in synch

Now that you’ve come this far you get to enjoy the fruits of your labor – easy updates. Go to the MyDevice Handlers tab and click on “Update from Repo” button. Similar to what you did above, click on the repository that you want to update:

And you’re done!

Add a comment

*Please complete all fields correctly

Related Blogs