Summary
The LG 32SR83U-W is a commercial display monitor controllable via RS-232 serial (and reportedly TCP/IP). The source document details an ASCII-based serial command protocol with 26 command categories covering power, input selection, picture adjustments, audio, tiling, and diagnostic queries. Commands follow the format [Command1][Command2][ ][Set ID][ ][Data][Cr] with hex-encoded data and OK/NG acknowledgement.
Transport
protocols:
- tcp
- serial
addressing:
port: null # UNRESOLVED: TCP port not stated in source
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- powerable # power on/off commands present
- routable # input select command present
- queryable # query commands (elapsed time, temperature, lamp fault, abnormal state) present
- levelable # volume, contrast, brightness, color, tint, sharpness, balance controls present
Actions
actions:
- id: power
label: Power On/Off
kind: action
command: "ka {set_id} {data}"
params:
- name: state
type: enum
values:
"00": "Power Off"
"01": "Power On"
ack: "a {set_id} OK{data}"
- id: input_select
label: Select Input
kind: action
command: "kb {set_id} {data}"
params:
- name: input
type: enum
values:
"02": "AV"
"04": "Component 1"
"05": "Component 2"
"06": "RGB (DTV)"
"07": "RGB (PC)"
"08": "HDMI (DTV)"
"09": "HDMI (PC)"
ack: "b {set_id} OK{data}"
- id: aspect_ratio
label: Aspect Ratio
kind: action
command: "kc {set_id} {data}"
params:
- name: ratio
type: enum
values:
"01": "Normal (4:3)"
"02": "Wide (16:9)"
"03": "Horizon (Spectacle)"
"04": "Zoom1"
"05": "Zoom2"
"06": "Original"
"07": "14:9"
"08": "Full (Europe only)"
"09": "1:1 (PC)"
ack: "c {set_id} OK{data}"
- id: screen_mute
label: Screen Mute
kind: action
command: "kd {set_id} {data}"
params:
- name: state
type: enum
values:
"00": "Screen Mute Off (Picture On)"
"01": "Screen Mute On (Picture Off)"
ack: "d {set_id} OK{data}"
- id: volume_mute
label: Volume Mute
kind: action
command: "ke {set_id} {data}"
params:
- name: state
type: enum
values:
"00": "Volume Mute On (Volume Off)"
"01": "Volume Mute Off (Volume On)"
ack: "e {set_id} OK{data}"
- id: volume_control
label: Volume Control
kind: action
command: "kf {set_id} {data}"
params:
- name: level
type: integer
min: 0
max: 100
description: "Volume level (hex 00H-64H, mapped 0-100)"
ack: "f {set_id} OK{data}"
- id: contrast
label: Contrast
kind: action
command: "kg {set_id} {data}"
params:
- name: level
type: integer
min: 0
max: 100
description: "Contrast level (hex 00H-64H, mapped 0-100)"
ack: "g {set_id} OK{data}"
- id: brightness
label: Brightness
kind: action
command: "kh {set_id} {data}"
params:
- name: level
type: integer
min: 0
max: 100
description: "Brightness level (hex 00H-64H, mapped 0-100)"
ack: "h {set_id} OK{data}"
- id: color
label: Color
kind: action
command: "ki {set_id} {data}"
params:
- name: level
type: integer
min: 0
max: 100
description: "Color level, video only (hex 00H-64H, mapped 0-100)"
ack: "i {set_id} OK{data}"
- id: tint
label: Tint
kind: action
command: "kj {set_id} {data}"
params:
- name: level
type: integer
min: -50
max: 50
description: "Tint, video only (hex 00H=Red to 64H=Green, mapped -50 to +50)"
ack: "j {set_id} OK{data}"
- id: sharpness
label: Sharpness
kind: action
command: "kk {set_id} {data}"
params:
- name: level
type: integer
min: 0
max: 100
description: "Sharpness level, video only (hex 00H-64H, mapped 0-100)"
ack: "k {set_id} OK{data}"
- id: osd_select
label: OSD On/Off
kind: action
command: "kl {set_id} {data}"
params:
- name: state
type: enum
values:
"00": "OSD Off"
"01": "OSD On"
ack: "l {set_id} OK{data}"
- id: key_lock
label: Remote Lock / Key Lock
kind: action
command: "km {set_id} {data}"
params:
- name: state
type: enum
values:
"00": "Lock Off"
"01": "Lock On"
ack: "m {set_id} OK{data}"
- id: balance
label: Balance
kind: action
command: "kt {set_id} {data}"
params:
- name: level
type: integer
min: 0
max: 100
description: "Audio balance (hex 00H-64H, mapped L50-R50)"
ack: "t {set_id} OK{data}"
- id: color_temperature
label: Color Temperature
kind: action
command: "ku {set_id} {data}"
params:
- name: preset
type: enum
values:
"00": "Normal"
"01": "Cool"
"02": "Warm"
"03": "User"
ack: "u {set_id} OK{data}"
- id: ism_mode
label: ISM Mode
kind: action
command: "jp {set_id} {data}"
params:
- name: mode
type: enum
values:
"01": "Inversion"
"02": "Orbiter"
"04": "White Wash"
"08": "Normal"
ack: "p {set_id} OK{data}"
- id: auto_configure
label: Auto Configure
kind: action
command: "ju {set_id} 01"
params: []
notes: "Works only in RGB(PC) mode"
ack: "u {set_id} OK01"
- id: send_key
label: Send IR Key Code
kind: action
command: "mc {set_id} {data}"
params:
- name: key_code
type: string
description: "IR remote key code in hex (see IR code table)"
ack: "c {set_id} OK{data}"
- id: tile_mode
label: Tile Mode
kind: action
command: "dd {set_id} {data}"
params:
- name: mode
type: enum
values:
"00": "Tile Off"
"12": "1x2"
"13": "1x3"
"14": "1x4"
"21": "2x1"
"22": "2x2"
"23": "2x3"
"24": "2x4"
"31": "3x1"
"32": "3x2"
"33": "3x3"
"34": "3x4"
"41": "4x1"
"42": "4x2"
"43": "4x3"
"44": "4x4"
ack: "d 00 OK/NG{data}"
- id: tile_h_size
label: Tile H Size
kind: action
command: "dg {set_id} {data}"
params:
- name: size
type: integer
min: 0
max: 100
description: "Horizontal tile size (hex 00H-64H)"
ack: "g {set_id} OK/NG{data}"
- id: tile_v_size
label: Tile V Size
kind: action
command: "dh {set_id} {data}"
params:
- name: size
type: integer
min: 0
max: 100
description: "Vertical tile size (hex 00H-64H)"
ack: "h {set_id} OK/NG{data}"
- id: tile_id_set
label: Tile ID Set
kind: action
command: "di {set_id} {data}"
params:
- name: tile_id
type: integer
min: 0
max: 16
description: "Tile ID (hex 00H-10H)"
ack: "i {set_id} OK/NG{data}"
Feedbacks
feedbacks:
- id: power_state
label: Power State
command: "ka {set_id} FF"
type: enum
values:
"00": "Power Off"
"01": "Power On"
ack: "a {set_id} OK{data}"
- id: input_source
label: Current Input Source
command: "kb {set_id} FF"
type: enum
values:
"02": "AV"
"04": "Component 1"
"05": "Component 2"
"06": "RGB (DTV)"
"07": "RGB (PC)"
"08": "HDMI (DTV)"
"09": "HDMI (PC)"
ack: "b {set_id} OK{data}"
- id: aspect_ratio
label: Aspect Ratio
command: "kc {set_id} FF"
type: enum
values:
"01": "Normal (4:3)"
"02": "Wide (16:9)"
"03": "Horizon"
"04": "Zoom1"
"05": "Zoom2"
"06": "Original"
"07": "14:9"
"08": "Full"
"09": "1:1 (PC)"
ack: "c {set_id} OK{data}"
- id: screen_mute_state
label: Screen Mute State
command: "kd {set_id} FF"
type: enum
values:
"00": "Off"
"01": "On"
ack: "d {set_id} OK{data}"
- id: volume_mute_state
label: Volume Mute State
command: "ke {set_id} FF"
type: enum
values:
"00": "Mute On"
"01": "Mute Off"
ack: "e {set_id} OK{data}"
- id: volume_level
label: Volume Level
command: "kf {set_id} FF"
type: integer
min: 0
max: 100
ack: "f {set_id} OK{data}"
- id: contrast_level
label: Contrast Level
command: "kg {set_id} FF"
type: integer
min: 0
max: 100
ack: "g {set_id} OK{data}"
- id: brightness_level
label: Brightness Level
command: "kh {set_id} FF"
type: integer
min: 0
max: 100
ack: "h {set_id} OK{data}"
- id: color_level
label: Color Level
command: "ki {set_id} FF"
type: integer
min: 0
max: 100
ack: "i {set_id} OK{data}"
- id: tint_level
label: Tint Level
command: "kj {set_id} FF"
type: integer
min: -50
max: 50
ack: "j {set_id} OK{data}"
- id: sharpness_level
label: Sharpness Level
command: "kk {set_id} FF"
type: integer
min: 0
max: 100
ack: "k {set_id} OK{data}"
- id: osd_state
label: OSD State
command: "kl {set_id} FF"
type: enum
values:
"00": "Off"
"01": "On"
ack: "l {set_id} OK{data}"
- id: key_lock_state
label: Key Lock State
command: "km {set_id} FF"
type: enum
values:
"00": "Off"
"01": "On"
ack: "m {set_id} OK{data}"
- id: balance_level
label: Balance Level
command: "kt {set_id} FF"
type: integer
min: 0
max: 100
ack: "t {set_id} OK{data}"
- id: color_temperature
label: Color Temperature
command: "ku {set_id} FF"
type: enum
values:
"00": "Normal"
"01": "Cool"
"02": "Warm"
"03": "User"
ack: "u {set_id} OK{data}"
- id: abnormal_state
label: Abnormal State
command: "kz {set_id} FF"
type: enum
values:
"00": "Normal (Power On, signal present)"
"01": "No Signal (Power On)"
"02": "Off by remote control"
"03": "Off by sleep timer"
"04": "Off by RS-232C"
"06": "AC power loss"
"08": "Off by off timer"
"09": "Off by auto off"
ack: "z {set_id} OK{data}"
- id: ism_mode
label: ISM Mode
command: "jp {set_id} FF"
type: enum
values:
"01": "Inversion"
"02": "Orbiter"
"04": "White Wash"
"08": "Normal"
ack: "p {set_id} OK{data}"
- id: elapsed_time
label: Elapsed Time (Hours)
command: "dl {set_id} FF"
type: integer
unit: hours
ack: "l {set_id} OK{data}"
- id: temperature
label: Internal Temperature
command: "dn {set_id} FF"
type: integer
ack: "n {set_id} OK{data}"
notes: "1-byte hex value"
- id: lamp_fault
label: Lamp Fault Status
command: "dp {set_id} FF"
type: enum
values:
"00": "Lamp Fault"
"01": "Lamp OK"
ack: "p {set_id} OK{data}"
Variables
variables:
- id: set_id
label: Set ID
type: integer
min: 0
max: 99
default: 1
description: "Device address on the bus. 0 broadcasts to all devices."
Events
# UNRESOLVED: no unsolicited notification events described in source
Macros
# UNRESOLVED: no multi-step sequences described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source does not contain explicit safety warnings or interlock procedures
Notes
- Command format:
[Command1][Command2][ ][Set ID][ ][Data][Cr]where Cr = 0x0D, space = 0x20 - Data values are hex-encoded ASCII (e.g. "00" through "64" for 0-100 range)
- OK acknowledgement:
[Command2][ ][Set ID][ ][OK][Data][x] - Error acknowledgement:
[Command2][ ][Set ID][ ][NG][Data][x] - Sending data
FFto any command queries its current state (read mode) - Set ID 0 broadcasts to all connected displays; acknowledgements from multiple devices may collide
- Tint uses a signed mapping: 00H = -50 (Red), 64H = +50 (Green)
- Auto Configure (ju) only functions in RGB(PC) input mode
- The source describes serial communication parameters explicitly; TCP/IP support is indicated by the device but addressing details are not present in this source document
- IR remote key codes are documented in the source (hex 00-19 for number keys, discrete power/input codes, etc.) and can be sent via the
mccommand
Provenance
source_domains:
- justaddpower.happyfox.com
- justaddpower.com
- files.remotecentral.com
- github.com
- rticontrol.com
source_urls:
- https://justaddpower.happyfox.com/kb/article/36-lg-rs232-control/
- https://www.justaddpower.com/docs/manuals/rs232-lg.pdf
- https://files.remotecentral.com/library/22-1/lg/television/index.html
- https://github.com/WesSouza/lgtv-ip-control
- https://www.rticontrol.com/pub/media/wysiwyg/dealer/technote/LG_Direct-App_Integration_.pdf
retrieved_at: 2026-06-02T22:08:49.971Z
last_checked_at: 2026-06-02T22:08:49.971Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:08:49.971Z
matched_actions: 22
action_count: 22
confidence: medium
summary: "All 22 spec actions traced to source (dip-safe re-verify). (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "TCP/IP addressing (port, connection mode) not documented in source despite device reportedly supporting IP control"
- "firmware version compatibility not stated"
- "TCP port not stated in source"
- "no unsolicited notification events described in source"
- "no multi-step sequences described in source"
- "source does not contain explicit safety warnings or interlock procedures"
- "TCP/IP port and connection mode not documented in source"
- "command timing constraints or inter-command delays not stated"
- "maximum cable length or daisy-chain topology limits not stated"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0