Meet a SmartThings Developer: Eric Roberts
We’re proud to support a growing community of developers who collaborate with each other and invent new ways to use SmartThings. This community is propelling the open platform for the Programmable World.
In the latest installment of a series shining the spotlight on developers in the SmartThings community, we’re going to get to know Eric Roberts, who’s something of a Renaissance man. When he’s not teaching or playing music, he enjoys customizing SmartThings in some pretty inventive ways–like creating “The One Thermostat to Rule Them All.”
ST: Hey Eric, tell us a little bit about yourself.
ER: I am a music director by trade and a ST developer by hobby. I teach at a 7-12 school in Northern California and teach band, choir, and guitar. I started getting interested in coding toward the end of my college career.
ST: What led you to start using SmartThings?
ER: Right around the time SmartThings came out, I was looking for a home automation platform. After looking around, I decided SmartThings was for me. I enjoy that it does not have a subscription cost and I can make it do exactly what I want it to do without having to wait for someone else to implement features.
ST: You’ve created a smart thermostat app. How and why did you make your own and what are some of the features?
ER: It is called “The One Thermostat to Rule Them All.” I have an old-fashioned window air conditioning unit that I could control with ST. I was using the “Virtual Thermostat” SmartApp, but I didn’t like that I had to have it installed for each mode and it did not activate the A/C during a mode change. It would only turn on when the temperature sensor reported a change. When @geko revealed his “Smart Alarm” app, it was the inspiration I needed to make my thermostat app. I modeled a lot of the interface code after his Smart Alarm and then just made it do what I needed it to do by figuring out the rest of the logic to make it a thermostat rather than an alarm.
As for the features, currently, when you install it, you get a welcome screen and then it takes you o a page to set up some global settings like how many rooms you want and which modes you want to set up a program for. Then you go to a page to configure the rooms. You can select a thermostat, a temperature sensor, and as many portable heaters and air conditioners as you want for each room. After it is installed, if you go back into the SmartApp, you get a control panel where you can adjust the set temperature temporarily and change the thermostat mode (heat, cool, and off). There are links at the bottom of the control panel that can take you to adjust settings for the app or adjust the programed temperatures. You can also set a set temperature change for a specific time (I like to have my heater come on 30 minutes before I get up during the winter). It will then work like a programed thermostat.
Just recently I added a web UI thanks to @625alex’s “Web Dashboard.” If you look in the logs, it gives you a URL for each room that will give you web access to your “thermostat.”
ST: What are some other SmartThings projects you’re working on now, or would like to work on in the future?
ER: I don’t like to have the same SmartApp installed several times just because I have different modes. I want to create a sunrise/sunset app that manages different mode groups (ie. home to home-dark, away to away-dark, etc.)
ST: Is there a SmartApp, device type, or project that someone from the Community has made that has inspired you?
ER: @625alex’s “Web Dashboard.” It is really awesome. It was kind of a “well duh, why didn’t I think of that?” moment for me. It just makes sense to get the variables within the app rather than sending the variables and manipulating them in another page.
ST: How would you describe SmartThings to someone completely new to the home automation world?
ER: It is a system that allows you to connect the things in your house to the Internet and make them do what you want them to do automatically based off of sensor input.
ST: What do you enjoy about the SmartThings platform, and is there anything you would like to see changed?
ER: I love that it is open and that there is a VERY active and involved community. If it wasn’t for the people on the forums, I probably could not have accomplished all that I did with the thermostat SmartApp.
The documentation still needs a lot of work. I find it very difficult to find the information I need.
ST: Anything else you’d like to say?
ER: Thanks again to both @geko and @625alex. Without your guys’ code, I couldn’t have created “The one thermostat to rule them all”. This community is great!