Skip to main content

Command 0xA7 - Thermostat Hello

This packet is occasionally sent by the MHK2 thermostat, but only appears to receive a response when the Kumo Cloud is connected. When the MHK2 is attached to a Kumo Cloud, a (0x61) Set Response packet will be sent in return.

BytePurposePossible ValuesSupported by mUARTNotes
0Command ID0xA7No
1-3Thermostat Model NumberVaries
4-12Thermostat Serial NumberVariesMissing the preceding 2, same as Kumo's API
13-15Thermostat Firmware VersionVariesMajor/Minor/Revision

The Model Number and Serial Number fields are packaged in six-bit fields that need to be specifically extracted. Sample code for this is as follows:

def decode_serial(encoded_serial, word_size = 6):
length = math.ceil(encoded_serial.bit_length() / word_size)
result = ""

for i in reversed(range(0, length)):
byte = (encoded_serial >> (word_size * i)) & ((2 ** word_size) - 1)

result += chr(byte) if byte > 0x1F else chr(byte + 0x40)

return result

The serial number and version fields may be missing (returning all zeroes), though reasons for this are currently not well understood.