Skip to content

Domain Control

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

Domain: Control (0x02)

2.1 Thermostat Setpoint & Mode Settings

COS Yes
Access R/W
Data length 4 bytes
Byte Field Values
0 Mode 0 Null, 1 Off, 2 Heat, 3 Cool, 4 Emergency Heat, 5 Auto
1 Fan 0 Null/Reserved, 1 On, 2 Auto, 3 Circulate
2 Heat setpoint Packed temp byte or Null — see Temperature Encoding
3 Cool setpoint Packed temp byte or Null

COS causes: user change at thermostat; schedule/hold; protocol write; deadband-driven opposing SP change; incremental setpoint.

Notes:

  • Setpoints can be written even if current mode would not use them (stored for later use). Exception: on Cool Only or Heat Only installations (installer Control Setup), writes to the unused setpoint are NACKed.
  • Off-mode interplay: if the current system mode is Off and the mode byte is sent as Null, the setpoint bytes are ignored. Likewise, if mode Off is written, setpoints in the same packet are ignored.
  • Auto deadband resolution (differs from Schedule Day / Hold, which NACK):
    • Both setpoints written with a violation → write accepted; active SP used, non-active SP auto-corrected to satisfy deadband, COS sent for the correction.
    • One setpoint written with a violation → opposing SP (even if active) auto-corrected, COS sent.
  • Writing setpoints while the schedule runs creates a Temporary Event Hold; if a hold is active, it just modifies the active hold's setpoint.

2.2 Increment Setpoint

COS No (side effects via other COS)
Access W only
Data length 4 bytes
Byte Field Values
0 Heat 0 Decrement, 1 Increment, 2 Null
1 Cool 0 / 1 / 2 same
2 Humidifier 0 / 1 / 2
3 Dehumidifier 0 / 1 / 2

Behaves like a thermostat button press (except lockouts). System mode Off + heat/cool increment → NACK. Humidity deadband: changing one side may auto-adjust the other; changing both into violation → NACK. On Cool Only / Heat Only installations, increments to the unused setpoint are NACKed.

2.3 Dehumidification Setpoint

COS Yes
Access R/W
Data length 1 byte
Models Except 8810
Byte Field
0 0 = Off; 1–39 reserved; 40–90 = %RH; 91–255 reserved

NACK if dehumidification not installed or value out of range.

2.4 Humidification Setpoint

COS Yes
Access R/W
Data length 1 byte
Models Except 8810
Byte Field
0 0 = Off; 1–7 Auto mode setpoint; 8–9 reserved; 10–50 %RH manual; 51–255 reserved

Range depends on humidification mode (auto vs manual). ODT uninstall can force auto→manual and change setpoint (COS).

2.5 Fresh Air Setting

COS Yes
Access R/W
Data length 2 bytes
Models Except 8810
Byte Field Values
0 Mode (persistent) 0 Off, 1 Automatic
1 Event (temporary) 0 Off/Inactive, 1 reserved, 2 = 3 hour, 3 = 24 hour

When an event ends, last persistent mode resumes. NACK if not installed / OOR.

2.6 Air Cleaning Settings

COS Yes
Access R/W
Data length 2 bytes
Byte Field Values
0 Mode 0 Off, 1 Constant Clean, 2 Automatic
1 Event 0 Off, 1–2 reserved, 3 = Event Clean 3h, 4 = Allergies 24h

8810 note: permanent modes may not display; fan mode changes can force air-cleaning COS (On/Off/Auto mapping).

2.7 Thermostat & IAQ Available (read-only)

COS Yes
Access R
Data length 5 bytes
Byte Field Values
0 Thermostat modes 1 Heat; 2 Cool; 3 Heat+Cool; 4 Heat+EmHeat+Cool; 5 Heat+Cool+Auto; 6 Heat+EmHeat+Cool+Auto
1 Air cleaning 0 No, 1 Yes
2 Fresh air vent 0 No, 1 Yes (except 8810)
3 Dehumidification 0 No, 1 Yes (except 8810)
4 Humidification 0 None, 1 Auto, 2 Manual (except 8810)

Use this (not full installer settings) to build UI mode lists and hide unsupported IAQ.

Clone this wiki locally