Skip to main content

Function Settings

Packet command types 0x1F to 0x22 will encode function information in another bit-packed field, where the first bit is ignored, the second five bits are the setting code and the final two bits are the setting value, e.g. X CCCCC VV.

# assumes `data` is an array of bytes
def decode_setting(data):
result = {}

for b in data:
if (b == 0x00) continue

result[(b & 0x7C) >> 2] = b & 0x03

return result

Function codes are constrained between 1 and 31, and values are constrained between 0 and 3. A full list of functions (and what they control) is available in the MHK2 manual as well as the manual(s) for relevant indoor units. Note that some systems will shift their codespace up to 100 to 131, though this does not appear to actually cause any semantic difference.

A value of 0 appears to indicate a special "use default" value, but this has not yet been confirmed.