You can create thermostat weekly programs in a unified manner across the variety of thermostats that Seam supports. This standard feature of smart thermostats enables you to define full-week programs that are made up of reusable daily programs. Each daily program consists of a set of thermostat daily program periods, that is, time blocks with associated .
To set a thermostat weekly program:
that you want to use in your weekly program.
that you want to use in your weekly program. In each daily program, define a set of time periods. For each of these time periods, specify the starting time for the period and the key that identifies the climate preset that you want to activate at the starting time.
on the thermostat. To define the weekly program, specify the configured daily program that you want to apply to each day of the week.
You can update daily programs, and you can update the weekly program again as desired. You can also delete any daily programs that are not being used in a weekly program.
Daily Program Period Properties
Each daily program period contains the following properties:
Property
Description
starts_at_time
climate_preset_key
Key of the climate preset to activate at the starts_at_time.
Daily Program Properties
Each daily program contains the following properties:
Property
Description
thermostat_daily_program_id
ID of the thermostat daily program.
device_id
ID of the thermostat device on which the thermostat daily program is configured.
name
User-friendly name to identify the thermostat daily program.
periods
Array of thermostat daily program periods.
created_at
Date and time at which the thermostat daily program was created.
Weekly Program Properties
Each weekly program contains the following properties:
Property
Description
device_id
ID of the thermostat device on which the weekly program is configured.
monday_program_id
ID of the thermostat daily program to run on Mondays.
tuesday_program_id
ID of the thermostat daily program to run on Tuesdays.
wednesday_program_id
ID of the thermostat daily program to run on Wednesdays.
thursday_program_id
ID of the thermostat daily program to run on Thursdays.
friday_program_id
ID of the thermostat daily program to run on Fridays.
saturday_program_id
ID of the thermostat daily program to run on Saturdays.
sunday_program_id
ID of the thermostat daily program to run on Sundays.
created_at
Date and time at which the thermostat weekly program was created.
Create a Daily Program
To define a daily program, use /thermostats/daily_programs/create, specifying the thermostat that you want to program, a name for the daily program, and the desired set of daily program periods.
The following example creates a weekday daily program with four period, each of which is linked to a configured climate preset:
To update a daily program, use /thermostats/daily_programs/update, specifying the ID of the daily program that you want to change. You can edit the name for the daily program and the desired replacement set of daily program periods. To delete a daily program period, simply omit it when specifying the complete set of replacement program periods for the daily program.
The following example changes the climate preset for the second period and the starting time of the third period:
To delete a daily program, use /thermostats/daily_programs/delete, specifying the ID of the daily program that you want to delete. You cannot delete a daily program that's currently assigned to a weekly program.
You set or update the weekly program using /thermostats/update_weekly_program. In this command, specify the ID of the thermostat for which you want to set or update the weekly program, as well as the ID of the configured daily program that you want to use for each day of the week. You can use a different daily program for each day of the week, or you can assign the same daily program to multiple days. If you do not want to specify a program for a day, set the corresponding program ID parameter to null.
To replace a weekly program, use /thermostats/update_weekly_program, specifying the desired replacement daily program IDs. The new weekly program overwrites any previous weekly program. To clear all daily programs from the weekly program, set all daily program ID parameters to null.
The following example assigns the same weekday program to each weekday and the same weekend program to each weekend day: