Overview
Theschedule bucket holds the weekly temperature schedule. Unlike most buckets, the device subscribes to this bucket explicitly (it appears in the device’s subscribe request body), so you don’t need to inject it.
Object key: schedule.{serial}Direction: Bidirectional (with sync guards)
Revision type:
base_object_revision (unconditional)
Schedule JSON Format
The schedule is a single JSON object with the full weekly schedule. Version is always2.
Top-Level Fields
Day Indexing
Days are integer strings starting from Monday = 0:
Within each day, setpoints are keyed by sequential integer strings:
"0", "1", "2", etc.
Setpoint Fields
temperature_scale.
Schedule Modes
The active schedule mode is stored in the shared bucket as
schedule_mode — not inside the schedule itself. To switch modes, push schedule_mode to the shared bucket.
The schedule_mode inside the schedule JSON and the schedule_mode in the shared bucket must match. If they differ, the device ignores the schedule.
Pushing a Schedule
Always push the complete schedule — all 7 days, all setpoints. There is no mechanism to add or remove individual setpoints. The device replaces the entire schedule on each push.Reading Schedules from the Device
The device sends schedule changes via PUT requests:value). Store the complete schedule value. Return it on subscribe when the server’s version is newer.