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 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.
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:
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);