/thermostats/activate_weekly_program to release a hold set by Seam and resume the schedule already configured on the thermostat. For example, after temporarily changing a set point for a demand-response event, you can return the thermostat to the schedule that the user configured in the manufacturer’s app.
This native weekly program is the schedule stored on the device. Resuming it does not create or replace its daily periods or temperature settings. You only need the thermostat’s device_id.
To create or change a weekly program through Seam, see Creating and Managing
Thermostat Programs.
Use
activate_weekly_program when you want to resume the program already on
the device.Before You Begin
Connect the thermostat to Seam and make sure that the desired schedule is configured on the device or in the manufacturer’s app. Resuming a native weekly program is supported through the Honeywell Resideo, ecobee, and Sensi integrations. Check the device’s top-levelcan_activate_weekly_program capability flag before making the request. This flag must be present and true. Google Nest and SmartThings thermostats do not support this operation through Seam.
Set SEAM_API_KEY in your environment and replace the sample device ID. Reuse the client initialized in the first example for the following steps. Java and Go snippets belong inside your application method or function, with the imports at the top of the file.
The JavaScript examples use
@seamapi/http 2.35.0 or later. The native Ruby and
PHP examples require seam 2.160.0 or later and seamapi/seam 4.15.0 or later,
respectively. Python, C#, and Go use their SDK’s request interface to support
the new endpoint and response fields. Java uses a Java 11+ HTTP fallback
because its released SDK does not expose this operation. The Seam CLI
examples refresh its API schema with --update./devices/get:
device.can_activate_weekly_program is true before continuing.
Resume the Native Weekly Program
Call/thermostats/activate_weekly_program with the thermostat’s device_id. No program ID, set points, or end time are required.
action_type set to ACTIVATE_WEEKLY_PROGRAM. The following example shows a pending response, with other response fields omitted:
Confirm Completion
These examples return the action attempt without waiting for completion. An accepted HTTP request does not mean that the thermostat has finished resuming its schedule. Poll/action_attempts/get using the returned action_attempt_id until status is success or error. The following examples retrieve its current status once; repeat this check while it is pending. For cURL, Java, and Seam CLI, replace the sample action attempt ID with the ID returned by your activation request.
error, inspect the action attempt’s error for details.
On ecobee thermostats, vacation events and mandatory demand-response events
are not canceled by this operation.
What Happens After the Schedule Resumes?
Seam releases its hold and lets the thermostat follow its native weekly program. Seam does not change the HVAC mode as part of this operation. For example, resuming the program while the thermostat is off does not turn heating or cooling on. The thermostat resumes the program currently stored on it. If you previously replaced that program using/thermostats/update_weekly_program, this operation does not restore the older program.
While the native program is active, Seam does not reapply a fallback preset or write climate settings when a previously active Seam schedule ends. Seam takes control again when any of the following occurs:
- You activate a climate preset.
- You make a direct HVAC setting change, such as calling
heat,cool,heat_cool,off, orset_hvac_mode. - A scheduled climate preset reaches its activation time.
activate_weekly_program when the event ends. Schedule that final API call in your application; this endpoint does not accept a future activation time.