Summary
LG 55UM7300PUA SmartTV external control spec covering both RS-232C serial (DE9/USB-to-serial) and wired/wireless TCP/IP (telnet) interfaces. Source is the LG Owner's Manual "External Control Device Setup" section, which documents the full ASCII command set for power, picture, audio, channel, input, 3D, and IR-key passthrough. IP control is "For USA only" per the source; serial control is universal across the model series.
Transport
# Both serial and TCP are documented. IP is documented as USA-only.
protocols:
- serial
- tcp
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
communication_code: ascii
cable: crossed_reverse # UNRESOLVED beyond "Use a crossed (reverse) cable"
addressing:
port: 9761 # TCP port stated for IP control; telnet service
auth:
type: none # inferred: no wire-level auth in source (IP menu has default PIN 828, but that gates UI access, not the socket)
Traits
# - powerable (ka / POWER)
# - levelable (volume, bass, treble, balance, brightness, contrast, color, tint, sharpness, backlight, colour temperature)
# - routable (xb / INPUT_SELECT, channel ma / CHANNEL_SETTING)
# - queryable (FF data byte returns current state via ACK)
Actions
# Serial framing (RS-232C and USB-to-serial):
# [Command1][Command2][ ][Set ID][ ][Data][Cr]
# e.g. "ka 00 01\r" (Power On, Set ID 0 = all TVs, ASCII 0x0D terminator)
# IP framing (telnet, port 9761):
# COMMAND_NAME arg1 arg2 ...\n
# e.g. "POWER on\n" (terminated by Enter; server replies "OK" or "NG")
# Set ID range 0-99 (0x00-0x63); 0 = broadcast to all connected sets.
# Default Set ID in templates below is 00.
# =========================================================================
# IP CONTROL (TCP, port 9761) - primary action set
# =========================================================================
- id: ip_power
label: IP Power
kind: action
command: "POWER {state}\n"
params:
- name: state
type: string
description: on | off
- id: ip_power_query
label: IP Power Query
kind: query
command: "POWER ?\n"
- id: ip_aspect_ratio
label: IP Aspect Ratio
kind: action
command: "ASPECT_RATIO {mode}\n"
params:
- name: mode
type: string
description: 4by3 | 16by9 | setbyoriginal
- id: ip_screen_mute
label: IP Screen Mute
kind: action
command: "SCREEN_MUTE {mode}\n"
params:
- name: mode
type: string
description: screenmuteon | videomuteon | allmuteoff
- id: ip_volume_mute
label: IP Volume Mute
kind: action
command: "VOLUME_MUTE {state}\n"
params:
- name: state
type: string
description: on | off
- id: ip_volume_control
label: IP Volume Control
kind: action
command: "VOLUME_CONTROL {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_picture_contrast
label: IP Picture Contrast
kind: action
command: "PICTURE_CONTRAST {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_picture_brightness
label: IP Picture Brightness
kind: action
command: "PICTURE_BRIGHTNESS {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_picture_colour
label: IP Picture Colour
kind: action
command: "PICTURE_COLOUR {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_picture_tint
label: IP Picture Tint
kind: action
command: "PICTURE_TINT {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_picture_sharpness
label: IP Picture Sharpness
kind: action
command: "PICTURE_SHARPNESS {level}\n"
params:
- name: level
type: integer
description: 0-50 (decimal)
- id: ip_osd_select
label: IP OSD Select
kind: action
command: "OSD_SELECT {state}\n"
params:
- name: state
type: string
description: on | off
- id: ip_remotecontroler_lock
label: IP Remote Control Lock
kind: action
command: "REMOTECONTROLER_LOCK {state}\n"
params:
- name: state
type: string
description: on | off
- id: ip_audio_balance
label: IP Audio Balance
kind: action
command: "AUDIO_BALANCE {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_picture_colour_temperature
label: IP Picture Colour Temperature
kind: action
command: "PICTURE_COLOUR_TEMPERATURE {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal)
- id: ip_audio_equalizer
label: IP Audio Equalizer
kind: action
command: "AUDIO_EQUALIZER {band} {step}\n"
params:
- name: band
type: integer
description: 1-5 (frequency band; precondition: Sound Mode = Equalizer adjustable)
- name: step
type: integer
description: 0-20 (decimal step)
- id: ip_energy_saving
label: IP Energy Saving
kind: action
command: "ENERGY_SAVING {mode}\n"
params:
- name: mode
type: string
description: screenoff | maximum | medium | minimum | off
- id: ip_channel_setting_atsc_atv
label: IP Channel Tune (ATSC ATV)
kind: action
command: "CHANNEL_SETTING_ATSC_ATV {channel} {source}\n"
params:
- name: channel
type: integer
description: Channel number
- name: source
type: string
description: antenna | cable
- id: ip_channel_setting_atsc_dtv_phy
label: IP Channel Tune (ATSC DTV, physical)
kind: action
command: "CHANNEL_SETTING_ATSC_DTV {channel} cablenotphy\n"
params:
- name: channel
type: integer
description: Channel number
- id: ip_channel_setting_atsc_dtv_major_minor
label: IP Channel Tune (ATSC DTV, major/minor)
kind: action
command: "CHANNEL_SETTING_ATSC_DTV {major} {minor} {source}notphy\n"
params:
- name: major
type: integer
description: Major channel number
- name: minor
type: integer
description: Minor channel number
- name: source
type: string
description: antenna | cable
- id: ip_channel_add_delete
label: IP Channel Add/Delete
kind: action
command: "CHANNEL_ADD_DELETE {op}\n"
params:
- name: op
type: string
description: add | delete
- id: ip_key_action
label: IP Key Action (IR passthrough)
kind: action
command: "KEY_ACTION {key}\n"
params:
- name: key
type: string
description: exit | channelup | channeldown | volumeup | volumedown | arrowright | arrowleft | volumemute | deviceinput | sleepreserve | livetv | previouschannel | favoritechannel | teletext | teletextoption | returnback | avmode | captionsubtitle | arrowup | arrowdown | myapp | settingmenu | ok | quickmenu | videomode | audiomode | channellist | bluebutton | yellowbutton | greenbutton | redbutton | aspectratio | audiodescription | programmorder | userguide | smarthome | simplelink | fastforward | rewind | programminfo | programguide | play | slowplay | soccerscreen | record | 3d | autoconfig | app | screenbright | number0 | number1 | number2 | number3 | number4 | number5 | number6 | number7 | number8 | number9
- id: ip_picture_backlight
label: IP Picture Backlight
kind: action
command: "PICTURE_BACKLIGHT {level}\n"
params:
- name: level
type: integer
description: 0-100 (decimal; precondition: Energy Saving = off)
- id: ip_input_select
label: IP Input Select
kind: action
command: "INPUT_SELECT {source}\n"
params:
- name: source
type: string
description: dtv | atv | cadtv | catv | avav1 | component1 | hdmi1 | hdmi2 | hdmi3
- id: ip_picture_3d
label: IP Picture 3D
kind: action
command: "PICTURE_3D {args}\n"
params:
- name: args
type: string
description: "Three documented forms: (a) PICTURE_3D {off|3dto2d}; (b) PICTURE_3D 2dto3d {righttoleft|lefttoright} {0-20}; (c) PICTURE_3D on {topandbottom|sidebyside|checkboard|framesequential|columninterleaving|rowinterleaving} {righttoleft|lefttoright} {0-20}. Only 3D models; (Depending on model)."
- id: ip_picture_3d_extension
label: IP Picture 3D Extension
kind: action
command: "PICTURE_3D_EXTENSION {args}\n"
params:
- name: args
type: string
description: "Five documented forms: (a) PICTURE_3D_EXTENSION picturecorrection {0|1}; (b) PICTURE_3D_EXTENSION {colorcorrection|sound} {0|1}; (c) PICTURE_3D_EXTENSION normal {0|1}; (d) PICTURE_3D_EXTENSION {depth|viewpoint} {0-20}; (e) PICTURE_3D_EXTENSION genre {0-5} (0=Standard,1=Sport,2=Cinema,3=Extreme,4=Manual,5=Auto). Preconditions apply per source. Only 3D models."
# =========================================================================
# SERIAL CONTROL (RS-232C 9600/8N1 + USB-to-serial PL2303)
# =========================================================================
- id: serial_power
label: Power
kind: action
command: "ka {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99 (0=broadcast, 1-99=target Set ID, hex)
- name: data
type: string
description: 00 = Power Off, 01 = Power On
- id: serial_power_query
label: Power Query
kind: query
command: "ka {set_id} FF\r"
params:
- name: set_id
type: integer
description: 0-99
- id: serial_aspect_ratio
label: Aspect Ratio
kind: action
command: "kc {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 01=Normal(4:3) 02=Wide(16:9) 04=Zoom 05=Zoom2 06=Set by Program/Original 07=14:9 09=Just Scan 0B=Full Wide 0C=21:9 10-1F=Cinema Zoom 1-16
- id: serial_screen_mute
label: Screen Mute
kind: action
command: "kd {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=Screen mute off 01=Screen mute on 10=Video mute on
- id: serial_volume_mute
label: Volume Mute
kind: action
command: "ke {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=Mute on 01=Mute off
- id: serial_volume_control
label: Volume Control
kind: action
command: "kf {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64
- id: serial_contrast
label: Contrast
kind: action
command: "kg {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64
- id: serial_brightness
label: Brightness
kind: action
command: "kh {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64
- id: serial_colour
label: Colour
kind: action
command: "ki {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64
- id: serial_tint
label: Tint
kind: action
command: "kj {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64 (00=Red, 64=Green; "Depending on model")
- id: serial_sharpness
label: Sharpness
kind: action
command: "kk {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-32 ("Depending on model")
- id: serial_osd_select
label: OSD Select
kind: action
command: "kl {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=OSD off 01=OSD on
- id: serial_remote_lock
label: Remote Control Lock
kind: action
command: "km {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=Lock off 01=Lock on
- id: serial_treble
label: Treble
kind: action
command: "kr {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64 (serial-only command; no IP equivalent documented)
- id: serial_bass
label: Bass
kind: action
command: "ks {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64 (serial-only command; no IP equivalent documented)
- id: serial_balance
label: Balance
kind: action
command: "kt {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64
- id: serial_colour_temperature
label: Colour Temperature
kind: action
command: "xu {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64
- id: serial_ism_method
label: ISM Method
kind: action
command: "jp {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: "02=Orbiter 08=Normal 20=Colour Wash. Plasma TV only."
- id: serial_equalizer
label: Equalizer
kind: action
command: "jv {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: "1-byte encoded: bits 7-5 = frequency band (000=1st, 001=2nd, 010=3rd, 011=4th, 100=5th), bits 4-0 = step (0-20 decimal). E.g. band 1 step 0 = 0x00, band 2 step 1 = 0x21, band 5 step 20 = 0x95. Precondition: Sound Mode = EQ adjustable."
- id: serial_energy_saving
label: Energy Saving
kind: action
command: "jq {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=Off 01=Minimum 02=Medium 03=Maximum 04=Auto(Intelligent sensor for PDP) 05=Screen off ("Depending on model")
- id: serial_tune
label: Tune Channel
kind: action
command: "ma {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0 (broadcast only; tune ignores other Set IDs per source)
- name: data
type: string
description: "Region-dependent. EU/ME/CO/Asia (excl. KR/JP): 'ma 00 00 [Hi] [Lo] [Src]' where [Src]=00(ATV)/80(CATV) and channel 00 00-00 C7 (0-199). JP: 5-byte [Data 00-05] with [Data 05]=02(DTV)/07(BS)/08(CS1)/09(CS2). KR/NA/LATAM (excl. CO): 6-byte [Data 00-05] for ATSC physical/major/minor + input source. See source p.9 for full examples; command behavior varies by model and signal."
- id: serial_channel_add_del
label: Channel Add/Del
kind: action
command: "mb {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=Del(ATSC/ISDB)/Skip(DVB) 01=Add
- id: serial_key
label: Key (IR passthrough)
kind: action
command: "mc {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: "Hex IR key code per source 'KEY CODES' table (e.g. 0x08=Power, 0x44=OK, 0x40=Up, 0x07=Left, 0x10-0x19=Number 0-9, 0xDC=3D, etc.)."
- id: serial_backlight
label: Control Backlight
kind: action
command: "mg {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: integer
description: 00-64. Same opcode (mg) used for both Control Backlight (LCD/LED) and Control Panel Light (Plasma) per source.
- id: serial_input_select
label: Input Select (Main)
kind: action
command: "xb {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: 00=DTV 01=CADTV 02=Satellite DTV 03=ISDB-CS1 04=ISDB-CS2 10=ATV 11=CATV 20=AV/AV1 21=AV2 40=Component1 41=Component2 60=RGB 90=HDMI1 91=HDMI2 92=HDMI3 93=HDMI4 (Japan ISDB-BS uses 30; depends on model and signal)
- id: serial_3d
label: 3D
kind: action
command: "xt {set_id} {d0} {d1} {d2} {d3}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: d0
type: string
description: "00=3D On 01=3D Off 02=3D to 2D 03=2D to 3D"
- name: d1
type: string
description: "00=Top/Bottom 01=Side by Side 02=Check Board 03=Frame Sequential 04=Column interleaving 05=Row interleaving"
- name: d2
type: string
description: "00=Right to Left 01=Left to Right (Plasma only; don't care for LCD/LED)"
- name: d3
type: string
description: "3D Effect/Depth: 00-14 (hex). Don't care when d0=01 or 02. Only meaningful in 3D On (d0=00) or 2D-to-3D (d0=03) when 3D Mode = Manual."
- id: serial_extended_3d
label: Extended 3D
kind: action
command: "xv {set_id} {d0} {d1}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: d0
type: string
description: "00=Picture Correction 01=Depth 02=Viewpoint 06=Color Correction 07=Sound Zooming 08=Normal Image View 09=Mode (Genre)"
- name: d1
type: string
description: "Range depends on d0: d0=00: 0=Right→Left, 1=Left→Right; d0=01/02: 0-14 hex (transmits hex; viewpoint -10..+10 maps 0..20); d0=06/07: 0=Off, 1=On; d0=08: 0=Revert 3D-to-2D, 1=Force 3D→2D; d0=09: 0=Standard 1=Sport 2=Cinema 3=Extreme 4=Manual 5=Auto. Preconditions per source."
- id: serial_auto_configure
label: Auto Configure
kind: action
command: "ju {set_id} {data}\r"
params:
- name: set_id
type: integer
description: 0-99
- name: data
type: string
description: "01 = To set Auto Configure. RGB (PC) input only. (Serial-only command; no IP equivalent documented.)"
Feedbacks
# All queryable commands return state via the same Ack pattern:
# [Command2][ ][Set ID][ ][OK][Data][x] (on success)
# [Command2][ ][Set ID][ ][NG][Data][x] (on error; Data 00 = Illegal Code)
# On the IP transport, OK/NG is a single-line text reply.
- id: power_state
type: enum
values: [on, off]
- id: volume_mute_state
type: enum
values: [on, off]
- id: volume_level
type: integer
description: 0-100
- id: input_source
type: enum
values: [dtv, cadtv, satellite_dtv, isdb_cs1, isdb_cs2, atv, catv, av1, av2, component1, component2, rgb, hdmi1, hdmi2, hdmi3, hdmi4]
- id: aspect_ratio
type: string
description: One of the data codes listed for the Aspect Ratio action.
- id: osd_state
type: enum
values: [on, off]
Variables
# No continuous variables. Settable values (volume, bass, treble, balance,
# brightness, contrast, colour, tint, sharpness, backlight, colour temperature)
# are all addressed via discrete commands with explicit data bytes.
Events
# Source documents no unsolicited notifications. TCP/IP replies are solicited
# OK/NG only; serial replies are solicited ACK only.
Macros
# Source documents no multi-step sequences.
Safety
confirmation_required_for: []
interlocks:
- description: >
Remote Control Lock Mode (km 01 / REMOTECONTROLER_LOCK on) disables
IR and local-key power-on. In standby with key lock on, the TV will
not turn on via IR or local key. External control lock is released
on a full power cycle (unplug 20-30s).
# No additional safety warnings, interlocks, or power-on sequencing are
# documented in the source beyond the lock-mode note above.
Notes
- Set ID: 0 broadcasts to all connected sets; 1-99 targets a specific TV. Set on the TV via SETTINGS → General/OPTION → SET ID.
- IP control scope: documented "(For USA only)". Set ID, port (9761), and the IP command set may not be present on non-US firmware.
- IP control enable: must be turned on per-TV via the IP Control Setup menu (default PIN 828, changeable). TV reboots when toggled.
- Wake-on-LAN: supported separately via the "Mobile TV On" submenu and a WOL app on iOS/Android. WOL packet format is not in this source.
- Connection types: RS-232C supports both DE9 (D-Sub 9) and 3.5mm phone-jack variants; USB-to-serial requires a PL2303-chip cable (VID 0x0557, PID 0x2008). "Cable is not provided."
- Power-on state (serial): with RS-232C cable the
kacommand works in both power-on and power-off states; with USB-to-serial cable it only works when the TV is on.kaandmc(Power and Key) are the only commands accepted during media playback/recording — all others are treated as NG. - Terminators: serial uses CR (0x0D); IP uses LF (newline) entered by the user. ACK format includes a final
x(0x78) byte. - Equalizer encoding: serial
jvdata byte packs frequency-band (3 MSBs) and step (5 LSBs) into one byte. Use the table in source p.8 to compute the byte. - 3D commands: only meaningful on 3D-capable models and "Depending on model".
Provenance
source_domains:
- proaudioinc.com
source_urls:
- https://www.proaudioinc.com/Dealer_Area/RS232C_EN_160526.pdf
retrieved_at: 2026-06-02T04:13:07.316Z
last_checked_at: 2026-06-02T17:23:08.049Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T17:23:08.049Z
matched_actions: 54
action_count: 54
confidence: medium
summary: "All 54 spec actions matched literally to source commands with correct shapes and parameters; transport fully verified. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "IP control is documented as USA-only; behavior on non-USA firmware is not stated."
- "firmware version compatibility across model years not stated in source."
- "WOL magic-packet format not stated in source."
- "whether non-USA firmwares expose the IP control telnet interface is not stated."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0