Skip to main content

The device Object for Thermostats

Represents a thermostat. You can use the Seam API to perform the following management and monitoring actions for thermostats: The Seam API represents a thermostat as a device resource that includes both basic device properties and thermostat-specific properties.

Properties

can_configure_auto_lock
Boolean
Indicates whether the lock supports configuring automatic locking.
can_hvac_cool
Boolean
Indicates whether the thermostat supports cooling.
can_hvac_heat
Boolean
Indicates whether the thermostat supports heating.
can_hvac_heat_cool
Boolean
Indicates whether the thermostat supports simultaneous heating and cooling.
can_program_offline_access_codes
Boolean
Indicates whether the device supports programming offline access codes.
can_program_online_access_codes
Boolean
Indicates whether the device supports programming online access codes.
can_program_thermostat_programs_as_different_each_day
Boolean
Indicates whether the thermostat supports different climate programs for each day of the week.
can_program_thermostat_programs_as_same_each_day
Boolean
Indicates whether the thermostat supports a single climate program applied to every day.
can_program_thermostat_programs_as_weekday_weekend
Boolean
Indicates whether the thermostat supports weekday/weekend climate programs.
can_remotely_lock
Boolean
Indicates whether the device supports remote locking.
can_remotely_unlock
Boolean
Indicates whether the device supports remote unlocking.
can_run_thermostat_programs
Boolean
Indicates whether the thermostat supports running climate programs.
can_simulate_connection
Boolean
Indicates whether the device supports simulating connection in a sandbox.
can_simulate_disconnection
Boolean
Indicates whether the device supports simulating disconnection in a sandbox.
can_simulate_hub_connection
Boolean
Indicates whether the hub supports simulating connection in a sandbox.
can_simulate_hub_disconnection
Boolean
Indicates whether the hub supports simulating disconnection in a sandbox.
can_simulate_paid_subscription
Boolean
Indicates whether the device supports simulating a paid subscription in a sandbox.
can_simulate_removal
Boolean
Indicates whether the device supports simulating removal in a sandbox.
can_turn_off_hvac
Boolean
Indicates whether the thermostat can be turned off.
can_unlock_with_code
Boolean
Indicates whether the lock supports unlocking with an access code.
capabilities_supported
Array
Collection of capabilities that the device supports when connected to Seam. Values are access_code, which indicates that the device can manage and utilize digital PIN codes for secure access; lock, which indicates that the device controls a door locking mechanism, enabling the remote opening and closing of doors and other entry points; noise_detection, which indicates that the device supports monitoring and responding to ambient noise levels; thermostat, which indicates that the device can regulate and adjust indoor temperatures; battery, which indicates that the device can manage battery life and health; and phone, which indicates that the device is a mobile device, such as a smartphone. Important: Superseded by capability flags.
connected_account_id
String (UUID)
Unique identifier for the account associated with the device.
created_at
String (ISO 8601)
Date and time at which the device object was created.
custom_metadata
Object
Set of key:value pairs. Adding custom metadata to a resource, such as a Connect Webview, connected account, or device, enables you to store custom information, like customer details or internal IDs from your application.
device_id
String (UUID)
ID of the device.
device_type
Enum (String)
Type of the device.
display_name
String
Display name of the device, defaults to nickname (if it is set) or properties.appearance.name, otherwise. Enables administrators and users to identify the device easily, especially when there are numerous devices.
errors
Array
Array of errors associated with the device. Each error object within the array contains two fields: error_code and message. error_code is a string that uniquely identifies the type of error, enabling quick recognition and categorization of the issue. message provides a more detailed description of the error, offering insights into the issue and potentially how to rectify it.
is_managed
Boolean
Indicates whether Seam manages the device. See also Managed and Unmanaged Devices.
nickname
String
Optional nickname to describe the device, settable through Seam.
properties
Object
Properties of the device.
space_ids
Array
IDs of the spaces the device is in.
warnings
Array
Array of warnings associated with the device. Each warning object within the array contains two fields: warning_code and message. warning_code is a string that uniquely identifies the type of warning, enabling quick recognition and categorization of the issue. message provides a more detailed description of the warning, offering insights into the issue and potentially how to rectify it.
workspace_id
String (UUID)
Unique identifier for the Seam workspace associated with the device.

Thermostats

active_thermostat_schedule
Object
deprecated
Deprecated. Use active_thermostat_schedule_id with /thermostats/schedules/get instead.Active thermostat schedule.
active_thermostat_schedule_id
String (UUID)
ID of the active thermostat schedule.
available_climate_preset_modes
Array
Climate preset modes that the thermostat supports, such as “home”, “away”, “wake”, “sleep”, “occupied”, and “unoccupied”.
available_climate_presets
Array
Available climate presets for the thermostat.
available_fan_mode_settings
Array
Fan mode settings that the thermostat supports.
available_hvac_mode_settings
Array
HVAC mode settings that the thermostat supports.
current_climate_setting
Object
Current climate setting.
default_climate_setting
Object
deprecated
Deprecated. use fallback_climate_preset_key to specify a fallback climate preset instead.The default climate setting.
fallback_climate_preset_key
String
Key of the fallback climate preset for the thermostat.
fan_mode_setting
Enum (String)
deprecated
Deprecated. Use current_climate_setting.fan_mode_setting instead.The fan mode setting.
is_cooling
Boolean
Indicates whether the connected HVAC system is currently cooling, as reported by the thermostat.
is_fan_running
Boolean
Indicates whether the fan in the connected HVAC system is currently running, as reported by the thermostat.
is_heating
Boolean
Indicates whether the connected HVAC system is currently heating, as reported by the thermostat.
is_temporary_manual_override_active
Boolean
Indicates whether the current thermostat settings differ from the most recent active program or schedule that Seam activated. For this condition to occur, current_climate_setting.manual_override_allowed must also be true.
max_cooling_set_point_celsius
number
Maximum cooling set point in °C.
max_cooling_set_point_fahrenheit
number
Maximum cooling set point in °F.
max_heating_set_point_celsius
number
Maximum heating set point in °C.
max_heating_set_point_fahrenheit
number
Maximum heating set point in °F.
max_thermostat_daily_program_periods_per_day
number
Maximum number of periods that the thermostat can support per day. For example, if the thermostat supports 4 periods per day, this value is 4.
max_unique_climate_presets_per_thermostat_weekly_program
number
Maximum number of climate presets that the thermostat can support for weekly programming.
min_cooling_set_point_celsius
number
Minimum cooling set point in °C.
min_cooling_set_point_fahrenheit
number
Minimum cooling set point in °F.
min_heating_cooling_delta_celsius
number
Minimum temperature difference in °C between the cooling and heating set points when in heat-cool (auto) mode.
min_heating_cooling_delta_fahrenheit
number
Minimum temperature difference in °F between the cooling and heating set points when in heat-cool (auto) mode.
min_heating_set_point_celsius
number
Minimum heating set point in °C.
min_heating_set_point_fahrenheit
number
Minimum heating set point in °F.
relative_humidity
number
Reported relative humidity, as a value between 0 and 1, inclusive.
temperature_celsius
number
Reported temperature in °C.
temperature_fahrenheit
number
Reported temperature in °F.
temperature_threshold
Object
Current temperature threshold set for the thermostat.
thermostat_daily_program_period_precision_minutes
number
Precision of the thermostat’s period in minutes. For example, if the thermostat supports 15-minute periods, this value is 15. All values are relative to the top of the hour, so for 15 minutes, the periods would be 0, 15, 30, and 45 minutes past the hour.
thermostat_daily_programs
Array
Configured daily programs for the thermostat.
thermostat_weekly_program
Object
Current weekly program for the thermostat.