Skip to content

Appliance:RAC_056905_WW

Andrzej Szombierski edited this page Mar 22, 2026 · 2 revisions

Brand name: LG DualCool Standard Wall-mounted Air Conditioner
ThinQ Model ID: RAC_056905_WW
Wi-Fi module: LCW-007 Platform: Thinq2

This is a simple split-type AC unit. It uses the "TLV" protocol for communications. Below is a list of observed property types and their meaning.

Incoming properties

type(hex) meaning value(dec)
1f7 On/off status off=0, on=1
1f9 Operation mode cool=0, dry=1, fan=2, heat=4, auto=6
1fa Fan speed 2-6 correspond to the number of "bars" on the IR remote, auto=8
1fd Room temperature in half-degrees celsius, so 21.5°C is represented by 43
1fe Target temperature see above
21f Light (display) on/off off=0, on=1
232 cumulative energy consumption? the value is increasing continuously. I haven't determined the unit nor if any wraparound occurs
321 Vertical swing off=0, top=1, in between=2,3,4,5, bottom=6, full range=100
322 Horizontal swing off=0, leftmost=1, in between=2,3,4, rightmost=5, left half=13 (as in 1-3, get it?), right half=35 (as in 3-5), full range=100
... To be continued...

Sending queries

The following UART header should be used when sending "query" messages: 04 00 00 00 65 02 02 01 (with the 2-byte prefix used at the MQTT layer, it would be "01010400000065020201").

type=0x1f5

This is the only known "query" type. This message is sent to the device to request a set of properties. If value is set to 1, one group of properties is returned, if set to 2, a different one. My current guess is that the first set represents some "static" attributes of the device, while the second contains the "interesting" variable bits.

This is the set returned for v=1 on my AC unit (click to expand)
type(hex) value(dec)
2c0 1
2c1 87
2c2 380
2c3 1
2c4 3
2cc 6
2cd 15
2d3 7
2d6 2
2d5 1
2d5 3
2da 19841
2db 6882313
2dc 1
2f1 0
2f5 7
2d7 0
2d8 36
2d9 2
2d7 1
2d8 0
2d9 2
2d7 2
2d8 0
2d9 2
2d7 4
2d8 42
2d9 2
2d7 6
2d8 44
2d9 2
This is the set returned for v=2 on my AC unit (click to expand)
type(hex) value(dec)
1f9 4
1f7 1
1fa 2
1fd 45
1fe 42
321 0
322 0
323 0
20d 0
20e 0
20f 0
21a 0
21b 0
21c 0
21f 0
225 0
221 0
228 21
229 87
22a 15
232 1210
233 64
2b3 485
355 0
356 0
324 0
32b 178
32c 73
32d 0
32e 12
32f 15
330 59
331 79
332 77
22d 0
2fd 341
2ff 625
2fe 341
300 625
2f9 176
2fa 178
6c 1
2fb 80
30c 0
30d 0
303 0
30e 0

Sending commands

The following UART header should be used when sending "command" messages: 04 00 00 00 65 02 01 01 (with the 2-byte prefix used at the MQTT layer, it would be "01010400000065020101"). Note that the second-to-last byte differs from the "query" message header.

The same property types are used as when receiving. One notable requirement is that some properties need to be sent as a group in order to be accepted by the device. For example, setting a temperature by sending t=0x1fe v=42 will not work, but sending it along with operation mode and fan speed (t=0x1f9 v=4, t=0x1fa v=2, t=0x1fe v=42) - will.

I haven't determined the exact requirements yet, in general it seems to be safe to send more instead of less. One exception is the turn-off command. If a packet with t=0x1f7 v=0 is sent along with operation mode and other properties, the AC will play the "turning off" melody and continue running. Go figure!

Clone this wiki locally