How I Learned to Stop Worrying and Love the Internet of Things.

Most businesses using Salesforce.com have done a great job leveraging the core customer relationship management (CRM), sales force automation (SFA), service and marketing capabilities but many haven’t really taken advantage of the incredibly powerful, flexible and extensible Force.com platform capabilities. Force.com has the ability to deliver custom functionality in ways most people haven’t even considered. In this first of a series of articles Saxa Solutions, will provide some examples of just how far you can go with Salesforce. In this article, we’re going to turn on my home thermostat and set the temperature based on a preference set in Salesforce.

You might be wondering – why? Why would someone want Salesforce.com to set the temperature in their house? Two reasons:

  1. Because we can and it’s awesome.
  2. Also let’s assume we’re a hotel and this is a guest room and not my house. We may want to store guest profile information in Salesforce such as preferred room temperature associated with the contact record. We can then set the temperature before the guest arrives so they have the optimal experience, enjoy their stay, tell their friends and return often.

The first thing we needed to do was customize Salesforce to capture the data. We built a custom object called guest preference. This allowed the entry of a preferred temp by user. Now I can store and retrieve this critical piece of information.

Guest Preference Object

The second thing we needed to do was open up Salesforce to expose this information to the thermostat. We do this with something called a “REST API”. The code for the rest API can be found here. This code looks for a guest preference record and returns the preferred temperature. It’s a fairly basic program but suits our needs for this proof of concept. If you look at the API URL in a browser, it returns something like this:

{
  "preftemp" : "88"
}

The third thing we needed to do was connect to the thermostat. For this we use the Smartthings Platform. In our opinion, Smartthings is the platform of choice for connecting to physical devices quickly. They have a great platform with a built-in programming capability, open APIs (like Salesforce) and a growing and extensible set of compatible products. We have created a Smartthings program (called an app). You can take a look at the app – here. Again, this is a simple app suitable for a proof of concept.

Now whenever the switch we designated is pressed, Smartthings looks up my preferred temperature in Salesforce.com, sets the mode to “heat” and sets the temperature to “88”. Were I to change this value in Salesforce.com, this would update the thermostat the next time the temperature was set. We could also set this to trigger at sunrise or presence or any other event, but we’re impatient so we made it trigger via switch.

thermostat

The temperature is 58 but the heat has been turned on and the temperature is set to 88.

 

 

This is meant to be a straight forward example of how Salesforce can extend into other systems and even the physical world. This example could extend to power management, security, social media or really any scenario you can think up. This can be bi-directional as well, so Salesforce can learn from real world devices.

If you’d like to discuss how you could connect your real-world business to Salesforce.com, Saxa Solutions can help. Feel free to reach out to John Rounseville at 617-515-7245 or j[email protected].