Skip to content

Latest commit

 

History

History
299 lines (287 loc) · 6.08 KB

protocol.md

File metadata and controls

299 lines (287 loc) · 6.08 KB

Protocol

The SAC9010QC/SAC12010QC uses a 36 bit code. Below you'll find a specification of what each of the bits do. The bits marked X are constant as far as I could figure out.

Bit 333333222222222211111111110000000000
543210987654321098765432109876543210
Function XXXXXXXXXXQQPNMLKKKKJHHGFFFFEDCCBAAA

Functions

Function Bits Description Values
A 0, 1 and 2 Mode
Value Description
000 Auto
001 Cool
010 Dehumidify
011 Fan
100 Heat
B 3 Power
Value Description
0 Off
1 On
C 4, 5 Fan speed
Value Description
00 Auto
01 1
10 2
11 3
D 6 Swing
Value Description
0 Off
1 On
E 7 Sleep
Value Description
0 Off
1 On
F 8 to 11 Temperature Offset from 16°C, ranging from
16°C (0000) to 30°C (1110)
G, H, J, K 12 to 19 Timer See Timer
L 20 Humid
Value Description
0 Off
1 On
M 21 Light
Value Description
0 Off
1 On
N 22 Air ionizer
Value Description
0 Off
1 On
P 23 Save
Value Description
0 Off
1 On
Q 24, 25 Air
Value Description
00 -
01 Air 1
10 Air 2

Timer

The timer on/off state is indicated by address bit 15 (J). Bit 12 (G) is the half hour indicator. Bits 13 and 14 (H) of the address are the tens position of the 24 hour clock and bits 16 to 19 of the command (K) are the ones position of the 24 hour clock (essentially BCD encoding the time). The time is calculated by composing the HHKKKKG bits where H is the 'tens' part, K is the 'ones' part and G is the half-hour indicator (0 being 0, 1 being ½ an hour).

Let's take the following example:

        000000000000000001111011010001001001 
Meaning XXXXXXXXXXQQPNMLKKKKJHHGFFFFEDCCBAAA

Let's mask out the bits we're not interested in:

        ................01111011............ 
Meaning ................KKKKJHHG............ 

This gives us:

J HH KKKK G
1 01 0111 1
| |/ \  / |
| |   \/  |
| 1   7   ½
|
Timer on (1)

Or: 17.5 hours.