Ask or search…
⌃K
Links

Setting the Default Climate Setting

Learn how to set the default HVAC settings that apply whenever a climate setting schedule ends.
Seam enables you to configure the default HVAC settings on a smart thermostat. The default climate settings applies when a climate setting schedule ends.
For example, a short-term-rental host may want to configure a more energy-saving temperature setting (for example, heat to 45° F) for when the unit is vacant.
You must set the default climate setting for a thermostat, before you can create any climate setting schedules.

Default Climate Setting

The set of default HVAC settings on a thermostat applies when a climate setting schedule ends—such as when the room, unit, or home becomes vacant. For example, a short-term-rental host may want to configure a more energy-saving temperature setting (for example, heat to 45° F) for when the unit is vacant.
The default HVAC settings include the following:
  • The HVAC mode​
  • Whether the automatic heating system is enabled
  • Whether the automatic cooling system is enabled
  • The corresponding set points in Fahrenheit or Celsius
  • Whether to allow manual overrides of these settings

Before You Begin

To confirm that Seam supports thermostat programming for your device, use Get Device or Get Thermostat to query the device and check its capabilities_supported property. Ensure that the capabilities_supported list includes thermostat. For more information, see Retrieving Individual Thermostats.

Set the Default Climate Setting

To set the default climate setting, issue an Update Thermostat request. In the body of the request, specify the device_id of the thermostat, as well as a default_climate_setting object containing the following parameters:
Parameter
Type
Description
automatic_heating_enabled
Boolean
Indicates whether the automatic heating system is enabled If you specify automatic_heating_enabled, you must also specify heating_set_point_celsius or heating_set_point_fahrenheit. Also, if you specify automatic_heating_enabled, Seam automatically sets hvac_mode_setting accordingly.
automatic_cooling_enabled
Boolean
Indicates whether the automatic cooling system is enabled If you specify automatic_cooling_enabled, you must also specify cooling_set_point_celsius or cooling_set_point_fahrenheit. Also, if you specify automatic_cooling_enabled, Seam automatically sets hvac_mode_setting accordingly.
hvac_mode_setting
Enum
Default HVAC mode​
Values are heat, cool, heat_cool, and off. If you specify hvac_mode_setting, you must also specify one or more of cooling_set_point_celsius, heating_set_point_celsius, cooling_set_point_fahrenheit, and heating_set_point_fahrenheit, depending on the HVAC mode. Also, if you specify hvac_mode_setting, Seam automatically sets automatic_heating_enabled and automatic_cooling_enabled accordingly.
cooling_set_point_celsius
Number
Cooling set point in Celsius This set point is relevant when hvac_mode_setting is cool or heat_cool (that is, when automatic_cooling_enabled is true).
heating_set_point_celsius
Number
Heating set point in Celsius This set point is relevant when hvac_mode_setting is heat or heat_cool (that is, when automatic_heating_enabled is true).
cooling_set_point_fahrenheit
Number
Cooling set point in Fahrenheit This set point is relevant when hvac_mode_setting is cool or heat_cool (that is, when automatic_cooling_enabled is true).
heating_set_point_fahrenheit
Number
Heating set point in Fahrenheit This set point is relevant when hvac_mode_setting is heat or heat_cool (that is, when automatic_heating_enabled is true).
manual_override_allowed
Boolean
Indicates whether to allow manual overrides of these settings If true, a person can override the climate setting by making adjustments from the thermostat itself or from their app. We recommend setting manual_override_allowed to true, unless you do not want anyone to change this thermostat setting. If false, Seam makes sure that the climate setting is set on the thermostat every ten minutes.
Note that you configure either hvac_mode_setting or automatic_heating_enabled and automatic_cooling_enabled. When you configure hvac_mode_setting, Seam automatically configures automatic_heating_enabled and automatic_cooling_enabled correspondingly. Conversely, when you configure automatic_heating_enabled and automatic_cooling_enabled, Seam automatically configures hvac_mode_setting correspondingly. The following table shows this automatic mapping:
hvac_mode_setting
automatic_heating_enabled
automatic_cooling_enabled
heat
true
false
cool
false
true
heat_cool
true
true
off
false
false
Python
cURL (bash)
JavaScript
Java
Request:
update = seam.thermostats.update(
device = "518f692b-f865-4590-8c3e-3849e9984c75",
default_climate_setting = {
"hvac_mode_setting": "heat_cool",
"cooling_set_point_celsius": 25,
"heating_set_point_celsius": 20,
"manual_override_allowed": True
}
)
​
pprint(update)
Response:
True
Request:
curl -X 'POST' \
'https://connect.getseam.com/thermostats/update' \
-H 'accept: application/json' \
-H 'Authorization: Bearer ${API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"device_id": "518f692b-f865-4590-8c3e-3849e9984c75",
"default_climate_setting": {
"hvac_mode_setting": "heat_cool",
"cooling_set_point_celsius": 25,
"heating_set_point_celsius": 20,
"manual_override_allowed": true
}
}'
Response:
{
"ok": true
}
Request:
const update = await seam.thermostats.update({
device_id: "518f692b-f865-4590-8c3e-3849e9984c75",
default_climate_setting: {
"hvac_mode_setting": "heat_cool",
"cooling_set_point_celsius": 25,
"heating_set_point_celsius": 20,
"manual_override_allowed": true
}
})
​
console.log(update)
Response:
{ ok: true }
Request:
var deviceId = "518f692b-f865-4590-8c3e-3849e9984c75";
seam.thermostats().update(ThermostatsUpdateRequest.builder()
.deviceId(deviceId)
.defaultClimateSetting(ThermostatsUpdateRequestDefaultClimateSetting.builder()
.hvacModeSetting(HvacModeSetting.HEAT_COOL)
.coolingSetPointCelsius(25.0)
.heatingSetPointCelsius(20.0)
.manualOverrideAllowed(true)
.build())
.build());
var thermostat = seam.thermostats()
.get(ThermostatsGetRequest.builder()
.deviceId(deviceId)
.build());
System.out.println(thermostat);
Response:
{
"device_id" : "518f692b-f865-4590-8c3e-3849e9984c75",
"device_type" : "ecobee_thermostat",
"capabilities_supported" : [ "thermostat" ],
"properties" : {
...
"default_climate_setting" : {
"hvac_mode_setting" : "heat_cool",
"manual_override_allowed" : true,
"automatic_cooling_enabled" : true,
"automatic_heating_enabled" : true,
"cooling_set_point_celsius" : 25,
"heating_set_point_celsius" : 20,
"cooling_set_point_fahrenheit" : 77,
"heating_set_point_fahrenheit" : 68
},
...
},
...
}