The ultimate guide to thermostat APIs
Before we dive into the technical world of thermostat APIs, let us take one step back.
Thermostats are a key part of our daily energy interaction. They control everything from ACs to boilers, furnaces or heat pumps, whose job is to maintain a comfortable temperature in your house. But these heating and cooling devices are energy-hungry, which is why they eat about 60-70% of the energy consumption in an average household.
To control this huge energy consumption many have installed smart thermostats that are connected to an energy app. Companies like Nest, Honeywell, and Ecobee have specialized on smart thermostats with these accompanying apps, giving users more control over their energy consumption.
But there is an ever bigger opportunity here, as these smart thermostats can also be controlled by other apps and services. All of them have APIs that make it possible to read data and control temperature up and down. This opens up a broad set of use cases, especially when combined with other energy data. Most importantly demand response to balance the grid.
In this article, we will go deep on everything related to these thermostat APIs. More specifically we will cover:
- What is a Thermostat API?
- All the data you get with a Thermostat API
- The best use cases to build on top of a Thermostat API
- Thermostat OEMs with available APIs
- How can I access Thermostat APIs for my app?
- Next steps on your Thermostat API journey
What is a Thermostat API?
So, what is this Thermostat API? Let's start with the basics.
An Application Programming Interface, API for short, is a way for computers to talk to each other. Small over-simplification, but sometimes that is needed. The Thermostat API is useful for two things:
- Sending data to and from the device
- Send commands to the device
Starting with #1, data. The thermostat in your house is full of sensors, monitoring both the house temperature and also the heater or cooler it is connected to. It also knows what target temperature to chase, which is usually inputted manually by you, or via an app. This data is saved on the device, in addition to being shared to other systems via, you guessed it, the API.
The other great thing with these thermostat APIs is that they can send commands to the device. This allows you to remotely adjust the temperature up and down. Combined with other data like energy prices, this allows you to heat or cool your home in a smarter way, or reduce the CO2 footprint of your household.
When you in the Nest app click on the button for increasing the temperature, the API is working in the background to make it happen on your device. But it is not only the Nest app that can access this API, so can other apps and services. This enables a range of use cases, like creating green energy apps that integrate to all kinds of thermostats, and also other DERs like EVs and solar inverters.
All the data you get with a Thermostat API
The data shared via these thermostat APIs vary from brand to brand and model to model. Yet, there are some similarities, so let's have a look at what data you can expect to get when integrating into a thermostat API.
For starters, you usually get some basic information about the device. Brand, model, type, and what system it is connected to. You can also see if it has been given a name, e.g. “Living room 1st floor”. This is useful for identifying the thermostat if you are connecting to several at the same time.
From almost all devices you can read the current temperature in the room. This is the basic information needed for the thermostat to operate. Some more advanced models also have data like humidity, which is nice for more accurate data presentation to end-users.
The most useful feature, in our opinion, is the ability to set the target temperature on the thermostat. This gives you and the end-user granular control for each thermostat, making it easy to offer these controls in your own app.
The temperature control is also the basis for scheduling, where a user can e.g. automatically lower the temperature during the night or when they are away.
Talking about scheduling, some thermostat APIs also offer this smart scheduling right out of the box. Setting up schedules on these devices is easier, as you can use the built-in functionality instead of creating your own.
Linking this with other energy data like utility rates makes it possible to create “smart heating” plans based on dead bands, where the temperate automatically adjusts based on an external signal.
A few, but not nearly enough, of the APIs also offer real-time consumption data in kW. This is a really useful feature, as it lets you see what energy is being consumed when. The historical dataset you can create with the real-time data is also very valuable for users who want to see how many kWh is used on heating or cooling during the last day, week, month or year. Power to the users!
The best use cases to build on top of a Thermostat API
Now that we have the data covered, let's have a look at what we can do with it. With millions of smart thermostats in houses around the world, there are almost endless possibilities of r what you can enable and the impact you can have by controlling these devices in a smart way.
The most popular of the advanced use cases we have seen is the smart heating feature. This can be done based on a price signal, or by using the real-time CO2 intensity of energy, creating a positive climate impact for consumers. Based on the API controls you can simply adjust the temperature within the dead band set by the user, e.g. +- 4 degrees, to match the signal you want to optimize for.
This lowers the energy bill for consumers and reduces the climate impact if done right - win, win!
Night / Day shift
A simpler way to control the device is by setting fixed schedules like day/night adjustments. This leads to real savings for end-users, so it is therefore a key use case to enable with the Thermostat API. You can also offer schedules for standard home/away settings, “on holiday” settings, and other scenarios the user can create manually.
As these thermostats control so much energy consumption around the world, aggregating them makes for a powerful virtual power plant. Even though each device might just control a load in the 1-3kW range, a combined system of 10 000 thermostats give you a large load in 10-30 MW range. This is valuable flexibility that can be used for demand response.
If you want to learn more about aggregating thermostats as virtual power plants, check out our aggregate product.
Many energy consumers also love data, so showing real-time and historical energy consumption of these devices creates value in and of itself. If you want to take it one step further, as a utility you can combine this data with the total household energy consumption data. With this, you can disaggregate the energy bill and show the customer exactly how much was spent on heating and cooling.
You can complete the picture with data from EV APIs, EV charger API and Solar Inverter API, so check out these guides as well.
Thermostat OEMs with available APIs
The thermostat APIs vary a lot from OEM to OEM. Both in terms of data and controls available, and also in terms of the reliability and response times you can expect when connecting to them. Thermostats are also an in important Distributed Energy Resource (DER), meaning these APIs are key to a sustainable future.
Let's have a look at some of the most popular thermostat APIs to give you a brief overview.
The Nest API, now part of the Google Connected Devices API, is advanced in its capabilities. It comes with a broad set of data and controls for all Nest devices on the market. Reliability and response times are best in class, which is also why the Nest app rates so well with consumers. A good API often leads to a good app experience and vice versa.
Honeywell is not quite as advanced as Google and Nest when it comes to API capabilities. Some data points like humidity are missing, and the response times are in general higher. Hineywell also has a few different APIs for different device types, making it more difficult to work with this brand.
Ecobee is very similar to Honeywell in API design and performance. These are also very capable IoT devices, that can be used for all use cases from energy management to demand response. Ecobee also has a lot of different hardware devices, but most of them are in the same API, making development easier than Honeywell.
How can I access Thermostat APIs for my app?
Hopefully you feel inspired to create some green energy use cases for your customers, based on these thermostat APIs. The question then becomes how you get access to them, and how you connect.
After having worked with thermostat APIs for serval years now, we have some (somewhat biased) recommendations for you:
At Enode we have built an all-in-one thermostat API, giving you access to all thermostats (and other DERs) in one single API. This means you don't have to integrate to all of the different devices yourself and maintain the connections that are changing every month.
Our team of energy tech experts have also made some useful building blocks, like scheduling of thermostatic and consumption statistics, which saves you a ton of development time.
So reach out if you want to learn more about our thermostat API.
A few of the OEMs offer public APIs that you can connect to yourself. This is an easy way to get started when exploring use cases and testing with a few users. The difficult part comes when you want to integrate all of them at the same time, as you need to normalize data and endpoints across brands.
The data and use cases available through these APIs are also sometimes limited, so be sure to do proper testing before deciding on a solution.
Build integrations yourself
If you want a few years of work, you can also build custom integrations to all devices yourself - like we at Enode have done. Not sure if we recommend it, as it causes a few headaches a ling the way, but the result can be amazing.
Hopefully, we can do this for you, and you can focus on building the most awesome app for your customer.
Next steps on your Thermostat API journey
Huh!? Did you make it all the way here? Way to go!
You should have a very good understanding of thermostat APIs now and be ready to build some powerful green energy apps. If you want to take the learning a step further, we recommend the following resources:
- Energy management use cases for residential users
- Our complete Thermostat API documentation
- The Nest Thermostat API for a guide to OEM integrations