Summary

LG consumer LED LCD TV supporting RS-232C ASCII protocol for external control. Commands transmitted as ASCII strings over serial UART at 9600 baud. Supports power, input selection, picture adjustment, audio control, tiling modes, and queryable status feedback.

Transport

protocols:
  - serial
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

- powerable       # power on/off commands documented
- routable        # input selection commands documented
- queryable       # read queries documented (FF data)
- levelable       # volume, contrast, brightness, etc. documented

Actions

- id: power
  label: Power
  kind: action
  params:
    - name: state
      type: integer
      description: "0 = Power Off, 1 = Power On"
  command: "ka {set_id} {state}"
  feedback: "a {set_id} OK {data}"

- id: input_select
  label: Input Select
  kind: action
  params:
    - name: input
      type: integer
      description: "2=AV, 4=Component1, 5=Component2, 6=RGB-DTV, 7=RGB-PC, 8=HDMI-DTV, 9=HDMI-PC"
  command: "kb {set_id} {input}"
  feedback: "b {set_id} OK {data}"

- id: aspect_ratio
  label: Aspect Ratio
  kind: action
  params:
    - name: mode
      type: integer
      description: "1=4:3, 2=16:9, 3=Horizon, 4=Zoom1, 5=Zoom2, 6=Original, 7=14:9, 8=Full, 9=1:1(PC)"
  command: "kc {set_id} {mode}"
  feedback: "c {set_id} OK {data}"

- id: screen_mute
  label: Screen Mute
  kind: action
  params:
    - name: state
      type: integer
      description: "0 = Off (Picture on), 1 = On (Picture off)"
  command: "kd {set_id} {state}"
  feedback: "d {set_id} OK {data}"

- id: volume_mute
  label: Volume Mute
  kind: action
  params:
    - name: state
      type: integer
      description: "0 = Mute On, 1 = Mute Off (Volume On)"
  command: "ke {set_id} {state}"
  feedback: "e {set_id} OK {data}"

- id: volume_control
  label: Volume Control
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64 (0-100). Real data: 0=Step0, A=Step10, F=Step15, 10=Step16, 64=Step100"
  command: "kf {set_id} {level}"
  feedback: "f {set_id} OK {data}"

- id: contrast
  label: Contrast
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64. Real data mapping same as volume."
  command: "kg {set_id} {level}"
  feedback: "g {set_id} OK {data}"

- id: brightness
  label: Brightness
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64. Real data mapping same as volume."
  command: "kh {set_id} {level}"
  feedback: "h {set_id} OK {data}"

- id: color
  label: Color
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64 (Video only). Real data mapping same as volume."
  command: "ki {set_id} {level}"
  feedback: "i {set_id} OK {data}"

- id: tint
  label: Tint
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64 (Video only). 0=Red-50, 64=Green+50."
  command: "kj {set_id} {level}"
  feedback: "j {set_id} OK {data}"

- id: sharpness
  label: Sharpness
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64 (Video only). Real data mapping same as volume."
  command: "kk {set_id} {level}"
  feedback: "k {set_id} OK {data}"

- id: osd_select
  label: OSD Select
  kind: action
  params:
    - name: state
      type: integer
      description: "0 = OSD Off, 1 = OSD On"
  command: "kl {set_id} {state}"
  feedback: "l {set_id} OK {data}"

- id: remote_lock
  label: Remote Lock / Key Lock
  kind: action
  params:
    - name: state
      type: integer
      description: "0 = Off, 1 = On. Locks remote and local keys when using RS-232C."
  command: "km {set_id} {state}"
  feedback: "m {set_id} OK {data}"

- id: balance
  label: Balance
  kind: action
  params:
    - name: level
      type: integer
      description: "Range 00-64 (L50 ~ R50). 00=Left50, 32=Center, 64=Right50."
  command: "kt {set_id} {level}"
  feedback: "t {set_id} OK {data}"

- id: color_temperature
  label: Color Temperature
  kind: action
  params:
    - name: mode
      type: integer
      description: "0=Normal, 1=Cool, 2=Warm, 3=User"
  command: "ku {set_id} {mode}"
  feedback: "u {set_id} OK {data}"

- id: ism_mode
  label: ISM Mode
  kind: action
  params:
    - name: mode
      type: integer
      description: "1=Inversion, 2=Orbiter, 4=White Wash, 8=Normal"
  command: "jp {set_id} {mode}"
  feedback: "p {set_id} OK {data}"

- id: auto_configure
  label: Auto Configure
  kind: action
  params:
    - name: action
      type: integer
      description: "1 = Execute. Works only in RGB(PC) mode."
  command: "ju {set_id} {action}"
  feedback: "u {set_id} OK {data}"

- id: tile_mode
  label: Tile Mode
  kind: action
  params:
    - name: mode
      type: integer
      description: "0=Off, 12=1x2, 13=1x3, 14=1x4, ... 44=4x4. Cannot be 0X or X0 except 00."
  command: "dd {set_id} {mode}"
  feedback: "d {set_id} OK {data}"

- id: tile_h_size
  label: Tile H Size
  kind: action
  params:
    - name: size
      type: integer
      description: "Horizontal size, range 00-64"
  command: "dg {set_id} {size}"
  feedback: "g {set_id} OK {data}"

- id: tile_v_size
  label: Tile V Size
  kind: action
  params:
    - name: size
      type: integer
      description: "Vertical size, range 00-64"
  command: "dh {set_id} {size}"
  feedback: "h {set_id} OK {data}"

- id: tile_id_set
  label: Tile ID Set
  kind: action
  params:
    - name: id
      type: integer
      description: "Tile ID, range 00-10 (Hex)"
  command: "di {set_id} {id}"
  feedback: "i {set_id} OK {data}"

Feedbacks

- id: power_state
  label: Power State
  type: enum
  values:
    - 0  # Power Off
    - 1  # Power On
  query: "ka {set_id} FF"

- id: input_state
  label: Input State
  type: enum
  values:
    - 2   # AV
    - 4   # Component 1
    - 5   # Component 2
    - 6   # RGB (DTV)
    - 7   # RGB (PC)
    - 8   # HDMI (DTV)
    - 9   # HDMI (PC)
  query: "kb {set_id} FF"

- id: abnormal_state
  label: Abnormal State
  type: enum
  values:
    - 0  # Normal (Power on and signal exist)
    - 1  # No signal (Power on)
    - 2  # Turn the monitor off by remote control
    - 3  # Turn the monitor off by sleep time function
    - 4  # Turn the monitor off by RS-232C function
    - 6  # AC down
    - 8  # Turn the monitor off by off time function
    - 9  # Turn the monitor off by auto off function
  query: "kz {set_id} FF"

- id: elapsed_time
  label: Elapsed Time
  type: integer
  description: "Used hours (Hexadecimal, 1 byte)"
  query: "dl {set_id} FF"

- id: temperature_value
  label: Temperature Value
  type: integer
  description: "Inside temperature in Hexadecimal"
  query: "dn {set_id} FF"

- id: lamp_fault
  label: Lamp Fault
  type: enum
  values:
    - 0  # Lamp Fault
    - 1  # Lamp OK
  query: "dp {set_id} FF"

- id: ack_ok
  label: Acknowledgement OK
  description: "Returned as [Command2][ ][Set ID][ ][OK][Data][x]"

- id: ack_ng
  label: Acknowledgement Error
  description: "Returned as [Command2][ ][Set ID][ ][NG][Data][x]"

Variables

# No discrete settable parameters separate from actions documented.

Events

# No unsolicited event notifications documented; all communication is command-response.

Macros

# No explicit multi-step macros documented.

Safety

confirmation_required_for: []
interlocks:
  - description: "When controlling with Set ID 0 (broadcast), all sets send ACK — checking individual ACK is impossible."
  - description: "Remote Lock/Key Lock (km) locks both remote control and local keys when using RS-232C control."

Notes

Command Format: [Command1][Command2][ ][Set ID][ ][Data][Cr] where Cr = ASCII 0x0D carriage return.

Set ID Range: 1-99. Set ID 0 = broadcast to all devices (no ACK check possible).

Read Mode: Transmit FF as data to read current status.

Data Mapping: Hex values 00-64 map to decimal steps. Volume, Contrast, Brightness, Color, Sharpness: 0=Step0, A=Step10, F=Step15, 10=Step16, 64=Step100. Tint: 0=Step-50, 64=Step+50.

Tiling Restrictions: Tile mode data cannot be 0X or X0 except 00 (tile off).

Provenance

source_domains:
  - justaddpower.com
  - lg.com
source_urls:
  - https://justaddpower.com/docs/manuals/rs232-lg.pdf
  - https://www.lg.com/us/business/commercial-displays/professional-tvs
retrieved_at: 2026-06-02T22:08:52.985Z
last_checked_at: 2026-06-02T22:08:52.985Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T22:08:52.985Z
matched_actions: 21
action_count: 21
confidence: medium
summary: "All 21 spec actions traced to source (dip-safe re-verify). (4 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "TCP/IP control protocol not documented in source; this spec covers RS-232C only"
- "TCP/IP control protocol not covered in source document"
- "exact port number for IP control not stated (source only covers RS-232C)"
- "firmware version compatibility not stated in source"

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0