Retrieving Thermostats

Learn how to retrieve all thermostats or a specific thermostat by ID.

Retrieving All Thermostats

To retrieve all thermostats, issue a List Thermostats request. For filtering options, see the request body parameters for the List Thermostats request.

Request:

seam.thermostats.list()

Response:

[Device(
    device_id='518f692b-f865-4590-8c3e-3849e9984c75',
    device_type='ecobee_thermostat',
    location=None,
    properties={
        'available_hvac_mode_settings': ['off', 'cool', 'heat', 'heat_cool'],
        'can_enable_automatic_cooling': True,
        'can_enable_automatic_heating': True,
        'current_climate_setting': {
            'automatic_cooling_enabled': True,
            'automatic_heating_enabled': True,
            'cooling_set_point_celsius': 25,
            'cooling_set_point_fahrenheit': 77,
            'heating_set_point_celsius': 20,
            'heating_set_point_fahrenheit': 68,
            'hvac_mode_setting': 'heat_cool',
            'manual_override_allowed': True
        },
        'default_climate_setting': {
            'automatic_cooling_enabled': True,
            'automatic_heating_enabled': True,
            'cooling_set_point_celsius': 25,
            'cooling_set_point_fahrenheit': 77,
            'heating_set_point_celsius': 20,
            'heating_set_point_fahrenheit': 68,
            'hvac_mode_setting': 'heat_cool',
            'manual_override_allowed': True
        },
        'ecobee_metadata': {
            'device_name': 'Thermostat 1',
            'ecobee_device_id': 'a64074f3-a0aa-4dbb-bbd3-f17f61701602'
        },
        'fan_mode_setting': 'auto',
        'has_direct_power': True,
        'image_alt_text': 'Ecobee 3 Lite Thermostat',
        'image_url': 'https://connect.getseam.com/assets/images/devices/ecobee_3-lite_front.png',
        'is_climate_setting_schedule_active': False,
        'is_cooling': False,
        'is_cooling_available': True,
        'is_fan_running': False,
        'is_heating': False,
        'is_heating_available': True,
        'is_temporary_manual_override_active': False,
        'manufacturer': 'ecobee',
        'max_cooling_set_point_celsius': 33.333333333333336,
        'max_cooling_set_point_fahrenheit': 92,
        'max_heating_set_point_celsius': 26.11111111111111,
        'max_heating_set_point_fahrenheit': 79,
        'min_cooling_set_point_celsius': 18.333333333333336,
        'min_cooling_set_point_fahrenheit': 65,
        'min_heating_cooling_delta_celsius': 2.7777777777777777,
        'min_heating_cooling_delta_fahrenheit': 5,
        'min_heating_set_point_celsius': 7.222222222222222,
        'min_heating_set_point_fahrenheit': 45,
        'model': {
            'accessory_keypad_supported': False,
            'display_name': 'Thermostat',
            'manufacturer_display_name': 'Ecobee',
            'offline_access_codes_supported': False,
            'online_access_codes_supported': True
        },
        'name': 'Thermostat 1',
        'online': True,
        'relative_humidity': 0.36,
        'temperature_celsius': 21.11111111111111,
        'temperature_fahrenheit': 70
    },
    capabilities_supported=['thermostat'],
    errors=[],
    warnings=[],
    connected_account_id='2c00bc71-bca5-42c2-a1c5-74fd93ffcba1',
    workspace_id='398d80b7-3f96-47c2-b85a-6f8ba21d07be',
    created_at='2023-10-30T10:36:18.387Z',
    is_managed=True
)]

Retrieving Individual Thermostats

To retrieve a specific thermostat, include the desired device_id in the Get Thermostat or Get Device request.

Request:

device_id = "518f692b-f865-4590-8c3e-3849e9984c75"
thermostat = seam.thermostats.get(device_id)

pprint(thermostat)

Response:

Device(
    device_id='518f692b-f865-4590-8c3e-3849e9984c75',
    device_type='ecobee_thermostat',
    location=None,
    properties={
        'available_hvac_mode_settings': ['off', 'cool', 'heat', 'heat_cool'],
        'can_enable_automatic_cooling': True,
        'can_enable_automatic_heating': True,
        'current_climate_setting': {
            'automatic_cooling_enabled': True,
            'automatic_heating_enabled': True,
            'cooling_set_point_celsius': 25,
            'cooling_set_point_fahrenheit': 77,
            'heating_set_point_celsius': 20,
            'heating_set_point_fahrenheit': 68,
            'hvac_mode_setting': 'heat_cool',
            'manual_override_allowed': True
        },
        'default_climate_setting': {
            'automatic_cooling_enabled': True,
            'automatic_heating_enabled': True,
            'cooling_set_point_celsius': 25,
            'cooling_set_point_fahrenheit': 77,
            'heating_set_point_celsius': 20,
            'heating_set_point_fahrenheit': 68,
            'hvac_mode_setting': 'heat_cool',
            'manual_override_allowed': True
        },
        'ecobee_metadata': {
            'device_name': 'Thermostat 1',
            'ecobee_device_id': 'a64074f3-a0aa-4dbb-bbd3-f17f61701602'
        },
        'fan_mode_setting': 'auto',
        'has_direct_power': True,
        'image_alt_text': 'Ecobee 3 Lite Thermostat',
        'image_url': 'https://connect.getseam.com/assets/images/devices/ecobee_3-lite_front.png',
        'is_climate_setting_schedule_active': False,
        'is_cooling': False,
        'is_cooling_available': True,
        'is_fan_running': False,
        'is_heating': False,
        'is_heating_available': True,
        'is_temporary_manual_override_active': False,
        'manufacturer': 'ecobee',
        'max_cooling_set_point_celsius': 33.333333333333336,
        'max_cooling_set_point_fahrenheit': 92,
        'max_heating_set_point_celsius': 26.11111111111111,
        'max_heating_set_point_fahrenheit': 79,
        'min_cooling_set_point_celsius': 18.333333333333336,
        'min_cooling_set_point_fahrenheit': 65,
        'min_heating_cooling_delta_celsius': 2.7777777777777777,
        'min_heating_cooling_delta_fahrenheit': 5,
        'min_heating_set_point_celsius': 7.222222222222222,
        'min_heating_set_point_fahrenheit': 45,
        'model': {
            'accessory_keypad_supported': False,
            'display_name': 'Thermostat',
            'manufacturer_display_name': 'Ecobee',
            'offline_access_codes_supported': False,
            'online_access_codes_supported': True
        },
        'name': 'Thermostat 1',
        'online': True,
        'relative_humidity': 0.36,
        'temperature_celsius': 21.11111111111111,
        'temperature_fahrenheit': 70
    },
    capabilities_supported=['thermostat'],
    errors=[],
    warnings=[],
    connected_account_id='2c00bc71-bca5-42c2-a1c5-74fd93ffcba1',
    workspace_id='398d80b7-3f96-47c2-b85a-6f8ba21d07be',
    created_at='2023-10-30T10:36:18.387Z',
    is_managed=True
)