Skip to main content

Command 0xA9 - Thermostat State Download

This command appears to be used by the MHK2 to request a "download" of a new state from the Kumo Cloud. The request is sent on a regular cadence by an MHK2.

For the packet used by the MHK to submit its state to the Kumo, see 0x41 0xA8 - Thermostat State Upload.

note

Byte offsets below are confirmed directly from firmware (it_host::ProcessPacketMaybe's AG_A9 GetResponse assembly). Field identities for bytes 11-12 are still open — see notes column.

BytePurposePossible ValuesSupported by mUARTNotes
0CommandType0xA9
1-4Adapter TimestampTimestamp
5MHK Controls Scheduling (?)0x00, 0x01
6Auto Mode Status0x00, 0x01, 0x02
7Heat SetpointEnhanced TemperatureNo
8Cool SetpointEnhanced TemperatureNo
9Demand Response EventDR Values
10???0x00, 0x07
11???0x00

A blank timestamp (all zeroes) will cause a MHK2 unit to fail to successfully boot, perpetually showing a WAIT screen.

If a heat or cool setpoint are unset (value 0x00), the MHK appears to assume that its settings are correct.

Demand Response Values

The Kumo implements OpenADR status, with the following enum values:

ValueMeaning
0Demand Response inactive or disabled
1Demand Response active at basic level
2Demand Response active at critical level
3Demand Response active at emergency level
4Error/uninitialized state

These values are reported via upstream APIs and are sent to the MHK for processing. The Kumo firmware doesn't appear to do anything with ADR values by itself (?).

Sample Packets

[FC 62 01 30 10] A9 1C E0 AB 71 00 00 AD B3 00 00 00 00 00 00 00 [3C]
[FC 62 01 30 10] A9 1C E0 AB 80 00 00 AD B3 00 07 00 00 00 00 00 [26]
[FC 62 01 30 10] A9 1C E0 AB 8A 00 00 AD B3 00 07 00 00 00 00 00 [1C]
[FC 62 01 30 10] A9 1C E0 AB 94 00 00 AD B3 00 07 00 00 00 00 00 [12]
[FC 62 01 30 10] A9 1C E0 AB 9E 00 00 AD B3 00 07 00 00 00 00 00 [08]
[FC 62 01 30 10] A9 1C E0 AB A7 00 00 AD B3 00 07 00 00 00 00 00 [FF]
[FC 62 01 30 10] A9 1C E0 AB B1 00 00 AD B3 00 07 00 00 00 00 00 [F5]
[FC 62 01 30 10] A9 1C E0 AB BA 00 00 AD B3 00 07 00 00 00 00 00 [EC]
[FC 62 01 30 10] A9 1C E0 AB CA 00 00 AD B3 00 07 00 00 00 00 00 [DC]
[FC 62 01 30 10] A9 1C E0 AB D3 00 00 AD B3 00 07 00 00 00 00 00 [D3]
[FC 62 01 30 10] A9 1C E0 AB DC 00 00 AD B3 00 07 00 00 00 00 00 [CA]
[FC 62 01 30 10] A9 1C E0 AB E5 00 00 AD B3 00 07 00 00 00 00 00 [C1]
[FC 62 01 30 10] A9 1C E0 AB EF 00 00 AD B3 00 07 00 00 00 00 00 [B7]
[FC 62 01 30 10] A9 1C E0 AB F8 00 00 AD B3 00 07 00 00 00 00 00 [AE]
[FC 62 01 30 10] A9 1C E0 AC 06 00 00 AD B3 00 07 00 00 00 00 00 [9F]
[FC 62 01 30 10] A9 1C E0 AC 0F 00 00 AD B3 00 07 00 00 00 00 00 [96]
[FC 62 01 30 10] A9 1C E0 AC 19 00 00 AD B3 00 07 00 00 00 00 00 [8C]

[FC 62 01 30 10] a9 1c e1 1b ad 00 01 a4 ad 00 07 00 00 00 00 00 [96]