Climate Object

A climate defines a thermostat settings template which is then applied to individual period cells of the Schedule. The result is that if you modify the Climate, all schedule cells which reference that Climate will automatically be changed.

When adding a Climate it is optional whether you reference the new Climate in the schedule cells in the same request or not. However, when deleting a Climate (by omitting that entire Climate object from the POST request) it can not be be deleted if it is still referenced in the schedule cells.

Default Climates

Smart/Si: There are four default Climates for each Smart/Si Thermostat, with possible climateRef values of "wakeup", "away", "home", and "sleep".

ecobee3: There are three default Climates for each ecobee3 Thermostat, with possible climateRef values of "away", "home", and "sleep".

EMS: There are two default Climates for the EMS Thermostat, with possible climateRef values of "occupied" and "unoccupied".

Carrier/Bryant: There are four default Climates for each Carrier/Bryant Thermostat, with possible climateRef values of "wakeup", "away", "home", and "sleep".

None of these defaults can be deleted and trying to do so will return an exception. The remaining fields can be modified.

All sensors apply by default to every climate. If new sensors are added, they will be added to every climate. Adding a new climate will use the sensors associated with the default Home climate. If the last sensor is removed from a climate, the thermostat sensor is used for that climate.

The Climate.sensors field is a list of RemoteSensor objects, but only the and are populated/returned. Only the is mandatory for POST calls. ( was added here as a convenience to the API caller, to save having to make another call to get the sensor name based on the If is not sent, and remoteSensor.Id is (and is valid) the list of sensors associated with the climate is updated as expected. If is not sent, but is, an API exception is thrown, as remoteSensor.Id is required. To perform an update to the sensor itself, see the UpdateSensor function.

Climates may be modified (You can add, update or remove climates). However, it is important to note that the climateRef is required and read-only for for an existing climate and cannot be changed. The climate.Name can be edited so long as it is unique.

If the climateRef for an existing climate is not included in an API call it is assumed this is a net new climate. The climateRef must always be supplied for the default climates.


Name Type Read Only Required Description
name String no yes The unique climate name. The name may be changed without affecting the program integrity so long as uniqueness is maintained.
climateRef String yes no The unique climate identifier. Changing the identifier is not possible and it is generated on the server for each climate. If this value is not supplied a new climate will be created. For the default climates and existing user created climates the climateRef should be supplied - see note above.
isOccupied Boolean no no A flag indicating whether the property is occupied by persons during this climate
isOptimized Boolean no no A flag indicating whether ecobee optimized climate settings are used by this climate.
coolFan String no no The cooling fan mode. Default: on. Values: auto, on.
heatFan String no no The heating fan mode. Default: on. Values: auto, on.
vent String no no The ventilator mode. Default: off. Values: auto, minontime, on, off.
ventilatorMinOnTime Integer no no The minimum time, in minutes, to run the ventilator each hour.
owner String no no The climate owner. Default: system. Values: adHoc, demandResponse, quickSave, sensorAction, switchOccupancy, system, template, user.
type String no no The type of climate. Default: program. Values: calendarEvent, program.
colour Integer no no The integer conversion of the HEX color value used to display this climate on the thermostat and on the web portal.
coolTemp Integer no no The cool temperature for this climate.
heatTemp Integer no no The heat temperature for this climate.
sensors RemoteSensor[] no no The list of sensors in use for the specific climate. The sensors listed here are used for temperature averaging within that climate. Only the sensorId and name are listed in the climate.

Back To Top