Skip to content

Domain Scheduling

Nick Berardi edited this page Jul 19, 2026 · 6 revisions

Domain: Scheduling (0x03)

3.1 Schedule Settings

COS Yes
Access R/W
Data length 1 byte
Byte Field Values
0 Program type 0 Programmable (default), 1 Non-programmable

Disabling the program keeps current setpoints until changed via protocol or UI.

3.2 Away Settings

COS Yes
Access R/W
Data length 3 bytes
Byte Field Values
0 Away fan 1 On, 2 Auto, 3 Circ
1 Away heat index 0→15.5 °C … 5→18.5 °C (see table)
2 Away cool index 0→26.5 °C … 5→29.5 °C

Heat index map

Index °C approx °F
0 15.5 60
1 16 61
2 16.5 62
3 17 63
4 17.5 64
5 18.5 65

Cool index map

Index °C approx °F
0 26.5 80
1 27 81
2 27.5 82
3 28.5 83
4 29 84
5 29.5 85

Defaults (guide bold): Fan 2 Auto, Heat index 2 (62 °F), Cool index 5 (85 °F).

Guide oddity: the heat index map jumps from 4 → 17.5 °C to 5 → 18.5 °C, skipping 18.0 °C. This matches the conversion table (64 °F → 17.5 °C, 65 °F → 18.5 °C by the first-entry rule) but means 18.0 °C is not representable here. See Guide Errata.

3.3 Schedule Day

COS Yes
Access R/W
Data length 21 bytes
Read selector Required — day index as Read Request data: 0–6 = Sunday–Saturday

Programs the four daily events (Wake, Leave, Return, Sleep). Events are ordered by start time, not event name. Deadband violations on write are rejected with a NACK (out of range) when the thermostat is in Auto — unlike Setpoint & Mode 2.1, which auto-corrects.

Payload

Field Byte Values
Day Byte 0 0: Sunday 1: Monday 2: Tuesday 3: Wednesday 4: Thursday 5: Friday 6: Saturday 7: Week days (value is not valid during a read request) 8: Weekend days (value is not valid during a read request) 9: All Days (7) (value is not valid during a read request) 10-255: Reserved
Wake Start Minute Byte 1 0 – 59: Minute60-255: Reserved
Wake Start Hour Byte 2 0-23: Hour24-255: Reserved
Wake Fan Byte 3 0: Reserved 1: On 2: Auto 3: Circ 4-255: Reserved
Wake Heat Setpoint Byte 4 bits 7: Heat Setpoint Sign 0: Positive 1: Negative bits 6: Heat Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Heat Setpoint in Celsius (refer to appendix on for C / F conversion) 0-3: Reserved (out of range)4-32: Heat Setpoint 32-63: Reserved (out of range)
Wake Cool Setpoint Byte 5 bits 7: Cool Setpoint Sign 0: Positive 1: Negative bits 6: Cool Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Cool Setpoint in Celsius (refer to appendix on for C / F conversion) 0-9: Reserved (out of range)10-37: Cool Setpoint 38-63: Reserved (out of range)
Leave Start Minute Byte 6 0 – 59: Minute 60-255: Reserved
Leave Start Hour Byte 7 0-23: Hour24-255: Reserved
Leave Fan Byte 8 0: Reserved 1: On 2: Auto 3: Circ 4-255: Reserved
Leave Heat Setpoint Byte 9 bits 7: Heat Setpoint Sign 0: Positive 1: Negative bits 6: Heat Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Heat Setpoint in Celsius (refer to appendix on for C / F conversion) 0-3: Reserved (out of range)4-32: Heat Setpoint 32-63: Reserved (out of range)
Leave Cool Setpoint Byte 10 bits 7: Cool Setpoint Sign 0: Positive 1: Negative bits 6: Cool Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Cool Setpoint in Celsius (refer to appendix on for C / F conversion) 0-9: Reserved (out of range)10-37: Cool Setpoint 38-63: Reserved (out of range)
Return Start Minute Byte 11 0 – 59: Minute 60-255: Reserved
Return Start Hour Byte 12 0-23: Hour24-255: Reserved
Return Fan Byte 13 0: Reserved 1: On 2: Auto 3: Circ 4-255: Reserved
Return Heat Setpoint Byte 14 bits 7: Heat Setpoint Sign 0: Positive 1: Negative bits 6: Heat Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Heat Setpoint in Celsius (refer to appendix on for C / F conversion) 0-3: Reserved (out of range)4-32: Heat Setpoint 32-63: Reserved (out of range)
Return Cool Setpoint Byte 15 bits 7: Cool Setpoint Sign 0: Positive 1: Negative bits 6: Cool Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Cool Setpoint in Celsius (refer to appendix on for C / F conversion) 0-9: Reserved (out of range)10-37: Cool Setpoint 38-63: Reserved (out of range)
Sleep Start Minute Byte 16 0 – 59: Minute 60-255: Reserved
Sleep Start Hour Byte 17 0-23: Hour24-255: Reserved
Sleep Fan Byte 18 0: Reserved 1: On 2: Auto 3: Circ 4-255: Reserved
Sleep Heat Setpoint Byte 19 bits 7: Heat Setpoint Sign 0: Positive 1: Negative bits 6: Heat Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Heat Setpoint in Celsius (refer to appendix on for C / F conversion) 0-3: Reserved (out of range)4-32: Heat Setpoint 32-63: Reserved (out of range)
Sleep Cool Setpoint Byte 20 bits 7: Cool Setpoint Sign 0: Positive 1: Negative bits 6: Cool Setpoint ½ Celsius Indicator 0: “.0” Celsius 1: “.5” Celsius bits 5-0: Cool Setpoint in Celsius (refer to appendix on for C / F conversion) 0-9: Reserved (out of range)10-37: Cool Setpoint 38-63: Reserved (out of range)

Day selector (Byte 0)

Value Meaning
0–6 Sunday–Saturday
7 Weekdays (write only; not valid on read)
8 Weekend (write only; not valid on read)
9 All days (write only; not valid on read)

Event pattern

Each of Wake / Leave / Return / Sleep uses five bytes:

  1. Start minute (0–59)
  2. Start hour (0–23)
  3. Fan (1 On, 2 Auto, 3 Circ)
  4. Heat setpoint (packed temperature byte)
  5. Cool setpoint (packed temperature byte)

See Temperature Encoding for setpoint bits.

Guide typo: heat setpoint ranges read "4-32: Heat Setpoint 32-63: Reserved" — overlapping at 32; presumed intent is 33–63 reserved. See Guide Errata.

3.4 Schedule Hold

COS Yes
Access R/W
Data length 10 bytes
Byte Field Values
0 Hold 0 Disabled, 1 Temporary, 2 Permanent, 3 Away, 4 Vacation
1 Fan 1 On, 2 Auto, 3 Circ
2 Heat SP Packed temp (or Null when disabled)
3 Cool SP Packed temp
4 DEH vacation 0 Off; 50–70 %RH when used
5 End minute 0–59
6 End hour 0–23
7 End date 1–31 (day of month)
8 End month 1–12
9 End year Year − 2000 (0 = 2000)

Cancel hold: Hold = Disabled; all other fields Null.

COS causes: hold expire; timed lockout; user hold change; incremental SP; setpoint/mode write; lockout change cancelling hold.

NACK if DEH written when dehumidification not installed / wrong vacation config, or deadband violation.

3.5 Heat Blast™

COS Yes
Access R/W
Data length 1 byte
Byte Field
0 0 Off, 1 On

Raises room temperature by installer offset (default 3 °), then returns to normal setpoint. NACK if room already too warm (over 85 °F). Cancel via Heat Blast off, cancel hold, or new hold.

Clone this wiki locally