# Thermostats

## Events

**`thermostat.climate_preset_activated`**

A thermostat [climate preset](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets) was activated.

<details>

<summary>Properties</summary>

**`climate_preset_key`** *String*

Key of the climate preset that was activated.

**`connected_account_id`** *UUID*

ID of the connected account associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `thermostat.climate_preset_activated`

**`is_fallback_climate_preset`** *Boolean*

Indicates whether the climate preset that was activated is the fallback climate preset for the thermostat.

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`thermostat_schedule_id`** *UUID*

ID of the thermostat schedule that prompted the affected climate preset to be activated.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

**`thermostat.manually_adjusted`**

A [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) was adjusted manually.

<details>

<summary>Properties</summary>

**`connected_account_id`** *UUID*

ID of the connected account associated with the event.

**`cooling_set_point_celsius`** *Number*

Temperature to which the thermostat should cool (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`cooling_set_point_fahrenheit`** *Number*

Temperature to which the thermostat should cool (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `thermostat.manually_adjusted`

**`fan_mode_setting`** *Enum*

Desired [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings), such as `on`, `auto`, or `circulate`.

**`heating_set_point_celsius`** *Number*

Temperature to which the thermostat should heat (in °C). See also [Set Points](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`heating_set_point_fahrenheit`** *Number*

Temperature to which the thermostat should heat (in °F). See also [Set Points](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

**`hvac_mode_setting`** *Enum*

Desired [HVAC mode](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) setting, such as `heat`, `cool`, `heat_cool`, or `off`.

**`method`** *Enum*

Method used to adjust the affected thermostat manually. `seam` indicates that the Seam API, Seam CLI, or Seam Console was used to adjust the thermostat.

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

**`thermostat.temperature_threshold_exceeded`**

A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading exceeded the set [threshold](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).

<details>

<summary>Properties</summary>

**`connected_account_id`** *UUID*

ID of the connected account associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `thermostat.temperature_threshold_exceeded`

**`lower_limit_celsius`** *Number*

Lower temperature limit, in °C, defined by the set threshold.

**`lower_limit_fahrenheit`** *Number*

Lower temperature limit, in °F, defined by the set threshold.

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`temperature_celsius`** *Number*

Temperature, in °C, reported by the affected thermostat.

**`temperature_fahrenheit`** *Number*

Temperature, in °F, reported by the affected thermostat.

**`upper_limit_celsius`** *Number*

Upper temperature limit, in °C, defined by the set threshold.

**`upper_limit_fahrenheit`** *Number*

Upper temperature limit, in °F, defined by the set threshold.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

**`thermostat.temperature_threshold_no_longer_exceeded`**

A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading no longer exceeds the set [threshold](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds).

<details>

<summary>Properties</summary>

**`connected_account_id`** *UUID*

ID of the connected account associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `thermostat.temperature_threshold_no_longer_exceeded`

**`lower_limit_celsius`** *Number*

Lower temperature limit, in °C, defined by the set threshold.

**`lower_limit_fahrenheit`** *Number*

Lower temperature limit, in °F, defined by the set threshold.

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`temperature_celsius`** *Number*

Temperature, in °C, reported by the affected thermostat.

**`temperature_fahrenheit`** *Number*

Temperature, in °F, reported by the affected thermostat.

**`upper_limit_celsius`** *Number*

Upper temperature limit, in °C, defined by the set threshold.

**`upper_limit_fahrenheit`** *Number*

Upper temperature limit, in °F, defined by the set threshold.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

**`thermostat.temperature_reached_set_point`**

A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) temperature reading is within 1 °C of the configured cooling or heating [set point](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/understanding-thermostat-concepts/set-points).

<details>

<summary>Properties</summary>

**`connected_account_id`** *UUID*

ID of the connected account associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`desired_temperature_celsius`** *Number*

Desired temperature, in °C, defined by the affected thermostat's cooling or heating set point.

**`desired_temperature_fahrenheit`** *Number*

Desired temperature, in °F, defined by the affected thermostat's cooling or heating set point.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `thermostat.temperature_reached_set_point`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`temperature_celsius`** *Number*

Temperature, in °C, reported by the affected thermostat.

**`temperature_fahrenheit`** *Number*

Temperature, in °F, reported by the affected thermostat.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

**`thermostat.temperature_changed`**

A [thermostat's](https://docs.seam.co/latest/capability-guides/thermostats) reported temperature changed by at least 1 °C.

<details>

<summary>Properties</summary>

**`connected_account_id`** *UUID*

ID of the connected account associated with the event.

**`created_at`** *Datetime*

Date and time at which the event was created.

**`device_id`** *UUID*

ID of the affected device.

**`event_id`** *UUID*

ID of the event.

**`event_type`** *Enum*

Value: `thermostat.temperature_changed`

**`occurred_at`** *Datetime*

Date and time at which the event occurred.

**`temperature_celsius`** *Number*

Temperature, in °C, reported by the affected thermostat.

**`temperature_fahrenheit`** *Number*

Temperature, in °F, reported by the affected thermostat.

**`workspace_id`** *UUID*

ID of the workspace associated with the event.

</details>

***

## Endpoints

[**`/thermostats/activate_climate_preset`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/activate_climate_preset)

Activates a specified [climate preset](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/cool`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/cool)

Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [cool mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).

[**`/thermostats/create_climate_preset`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/create_climate_preset)

Creates a [climate preset](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/delete_climate_preset`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/delete_climate_preset)

Deletes a specified [climate preset](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/heat`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/heat)

Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).

[**`/thermostats/heat_cool`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/heat_cool)

Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat-cool ("auto") mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).

[**`/thermostats/list`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/list)

Returns a list of all [thermostats](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/off`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/off)

Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to ["off" mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).

[**`/thermostats/set_fallback_climate_preset`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/set_fallback_climate_preset)

Sets a specified [climate preset](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets) as the ["fallback"](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) preset for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/set_fan_mode`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/set_fan_mode)

Sets the [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/set_hvac_mode`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/set_hvac_mode)

Sets the [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/set_temperature_threshold`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/set_temperature_threshold)

Sets a [temperature threshold](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) for a specified thermostat. Seam emits a `thermostat.temperature_threshold_exceeded` event and adds a warning on a thermostat if it reports a temperature outside the threshold range.

[**`/thermostats/update_climate_preset`**](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/thermostats/update_climate_preset)

Updates a specified [climate preset](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).

[**`/thermostats/update_weekly_program`**](https://github.com/seamapi/docs/blob/main/docs/api/thermostats/update_weekly_program.md)

Updates the thermostat weekly program for a thermostat device. To configure a weekly program, specify the ID of the daily program that you want to use for each day of the week. When you update a weekly program, the set of programs that you specify overwrites any previous weekly program for the thermostat.
