Skip to content

Domain Identification

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

Domain: Identification (0x08)

8.1 Revision & Model

COS Yes (guide: only sent during a Sync)
Access R
Data length 7 bytes
Byte Field
0 Hardware revision (ASCII letter in production; numeric pre-production)
1 Firmware major
2 Firmware minor
3 Protocol major revision
4 Model number (see table)
5 Radio (Gainspan) firmware major
6 Radio firmware minor

Model number

Value Model
0 8476W
1 8810
2 8620W
3 8820
4 8910W
5 8830
6 8920W
7 8840

Field extensions (not in the official guide): 14 → 8840M, 28 → 6003 (used in this codebase / HA).

8.2 MAC Address

COS No
Access R
Data length 8 bytes
Side effect Read also returns an Alerts COS
Byte Field
0–5 MAC octets (notes default OUI-style defaults B4:82:55…)
6 Force connection: 0 none, 1 alerts/reminders, 2 weather update required
7 HVAC vs Automation: 0 HVAC, 1 Automation

Force connection: keep the TCP connection open at least 5 seconds.

8.5 Thermostat Name

COS No
Access R/W
Attribute number 0x05 (section number is 8.5)
Models Guide marks this attribute "Except 8810, 8820, 8830" — i.e. 8840-class only
Region Content
First field Postal / location — up to 7 characters + null padding (US ZIP / Canadian postal examples in guide). Default 00000\0\0\0 (five ASCII zeros + three nulls)
Second field Name — up to 15 characters + null; default Aprilaire_<model> (e.g. Aprilaire_8920W)

Layout used by this project: 7 text + null + 15 text (+ null handling). See unit tests for expected parsing.

Clone this wiki locally