seam logo

Hello Thermostats!

2023-09-02

Today, we’re releasing a brand new set of API endpoints and Seam Components for thermostats. This API & Components let you control brands such as Ecobee, Honeywell, and more.

Thermostats

Thermostats are designed to manage the temperature & humidity of a home or building. Smart thermostats often come equipped with features like learning capabilities, energy-saving modes, and integration with other smart home systems. Importantly, thermostats control nearly 50% of the energy use of a standard home.

Thermostats have long been a requested integration for the Seam API. However, given how complicated the inner workings of an HVAC system can be, we did not rush this implementation. Our team spent over 9 months testing different devices and systems, creating custom thermostat fixtures to test devices (see image below), and discussing the merits of different schemas. Eventually, we settled on an API design that met the various constraints from trying to create a single API that works across brands.

Today, we’re releasing much of that work, along with some components to let you integrate thermostat functions into your applications. The first integration going live is Ecobee, but we have a number of other integrations in the works, such as Tado, Honeywell (T series), Lux, along with a few others. Note that we are still working with the Google team to find a way to broadly release our Nest thermostat integration.

Thermostat Fixture

one of our thermostat test fixtures

Supported Functions

To start, the Seam API will expose basic thermostat operation modes such as heat, cool, heat-cool, and various fan modes. Using these, you will be able to then set Climate Settings Schedules with specific operating modes and set points. To learn more about our API endpoints, head over to our new Thermostat API Docs section.

Seam Components for Thermostats

Last Spring, we introduced Seam Components, a new library of pre-built UI elements that you can include directly in an application. Seam Components let you quickly offer advanced device management functionality to your users without having to worry about data bindings, security scoping, real-time updates, and UI design. For more information on Seam Components, you can browse our API docs or check out our interactive Storybook gallery.

Today, along with this new thermostat API, we are releasing a number of thermostat-specific components to let you quickly integrate advanced thermostat management UI inside your application.

Thermostat Device Details Component

The first component we are releasing is <DeviceDetails> component that lets you view an individual thermostat and its settings. This is handy for being able to quickly review the current operating state of a thermostat as well as set its default climate setting.

Thermostat Detail Component

Climate Setting Schedule Details Component

The second component being released is a ClimateSettingScheduleDetails component which lets you view an individual climate setting schedule. This is useful to edit start & end times as well as tweaking the target temperature set points.

thermostat schedule details

Climate Setting Schedule Table Component

Lastly, we are releasing a Table Component to view multiple climate setting schedules at once. This table is chronologically sorted, such that you can view upcoming setting schedules.

thermostat schedule list

Next Steps

The new Thermostat API & Seam Components are available in beta today. API support should be rolling out to all the SDKs in the coming weeks and we will also be releasing additional integrations. If you have any questions on how to use this new API and Components, or if you find potential issues, please contact us through our live chat or by emailing support@getseam.com.

Good luck!

A Few Photos…

We bought a lot of thermostats.

thermostats from various brands

We printed endless specs and documentation to understand these systems and their differences. And then we read them on planes, subways, and the back of Ubers.

reading thermostat docs on a plane