Summary
The Lightware FP-UMX-TPS-TX120 MKS is a wall-plate/floor-box HDBaseT (TPS) video+audio transmitter extender in the UMX-TPS-TX100 series, featuring VGA and HDMI inputs plus analog audio input, all switched to a single TPS output. It is controlled via RS-232 serial or TCP/IP Ethernet using the Lightware LW2 (legacy) or LW3 (modern, ASCII tree-structured) protocols. This spec covers the full LW2/LW3 command catalogue (crosspoint routing, autoselect, HDCP, EDID, RS-232/IR/GPIO, Event Manager, Ethernet messaging).
Transport
protocols:
- serial
- tcp
serial:
baud_rate: null # UNRESOLVED: factory default baud rate not stated in source; supported values: 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200
data_bits: null # UNRESOLVED: factory default data bits not stated; supported values: 8 or 9
parity: null # UNRESOLVED: factory default parity not stated; supported values: None, Odd, Even
stop_bits: null # UNRESOLVED: factory default stop bits not stated; supported values: 1, 1.5, 2
flow_control: null # UNRESOLVED: not stated in source
connector: "3-pole Phoenix (MC 1.5/3-ST-3.5, 3.5mm pitch)"
line_terminator: "\r\n" # inferred from LW3 spec ("closed by Carriage return and Line Feed (CrLf)")
addressing:
default_ip: "192.168.0.100" # stated default
port: 6107 # LW3 protocol TCP port (stated)
ports:
- port: 6107
protocol: LW3
purpose: "LW3 control protocol over Ethernet"
- port: 10001
protocol: LW2
purpose: "LW2 control protocol over Ethernet (raw TCP)"
auth:
type: none # inferred: cleartext login function only available on UMX-TPS-TX140K/TX140-Plus/WP-UMX-TPS-TX130-Plus-US models, not FP-UMX-TPS-TX120 MKS
Traits
traits:
- routable # inferred: video/audio crosspoint switching commands present (CALL /MEDIA/VIDEO/XP:switch, etc.)
- queryable # inferred: many query commands present (GET ...)
- levelable # inferred: analog audio Volume and Balance set commands present
Actions
# LW2 protocol commands (legacy; sent raw over TCP port 10001 or via serial in LW2 mode,
# enclosed in curly braces). Commands are case-insensitive on input.
# LW3 protocol commands (modern; sent over TCP port 6107 or via serial in LW3 mode).
# Both catalogues are documented in the source; both are emitted here.
# ---------- LW2: General commands ----------
- id: lw2_list_commands
label: List all available LW2 commands
kind: query
command: "{lcmd}"
params: []
- id: lw2_view_product_type
label: View product type
kind: query
command: "{i}"
params: []
- id: lw2_query_device_label
label: Query device label
kind: query
command: "{label}"
params: []
- id: lw2_query_control_protocol
label: Query active control protocol
kind: query
command: "{P_?}"
params: []
- id: lw2_view_firmware_version
label: View CPU firmware version
kind: query
command: "{F}"
params: []
- id: lw2_ping
label: Connection test (PING)
kind: query
command: "{PING}"
params: []
- id: lw2_compile_time
label: Query firmware compile time
kind: query
command: "{CT}"
params: []
- id: lw2_view_serial_number
label: View serial number
kind: query
command: "{S}"
params: []
- id: lw2_view_installed_boards
label: View installed boards
kind: query
command: "{IS}"
params: []
- id: lw2_view_all_controller_firmware
label: View firmware for all controllers
kind: query
command: "{FC}"
params: []
- id: lw2_query_health_status
label: Query health status (voltages, temperatures)
kind: query
command: "{ST}"
params: []
- id: lw2_restart_device
label: Restart device
kind: action
command: "{RST}"
params: []
- id: lw2_factory_default_all
label: Restore all factory default settings
kind: action
command: "{FACTORY=ALL}"
params: []
# ---------- LW2: AV port settings ----------
- id: lw2_switch_input_to_output
label: Switch input to output (layered)
kind: action
command: "{<in>@<out> <layer>}"
params:
- name: in
type: string
description: "Input number 1- or 2-digit ASCII (e.g. 01, 5); 0 = disconnect"
- name: out
type: string
description: "Output number (O1)"
- name: layer
type: enum
description: "Signal layer: A=audio, V=video, AV=audio+video"
- id: lw2_mute_output
label: Mute output
kind: action
command: "{#<out> <layer>}"
params:
- name: out
type: string
- name: layer
type: enum
description: "A, V, or AV"
- id: lw2_unmute_output
label: Unmute output
kind: action
command: "{+<out> <layer>}"
params:
- name: out
type: string
- name: layer
type: enum
- id: lw2_lock_output
label: Lock output
kind: action
command: "{#><out> <layer>}"
params:
- name: out
type: string
- name: layer
type: enum
- id: lw2_unlock_output
label: Unlock output
kind: action
command: "{+<<out> <layer>}"
params:
- name: out
type: string
- name: layer
type: enum
- id: lw2_view_connection_state
label: View crosspoint connection state on outputs
kind: query
command: "{VC <layer>}"
params:
- name: layer
type: enum
- id: lw2_view_crosspoint_size
label: View physical crosspoint size
kind: query
command: "{getsize <layer>}"
params:
- name: layer
type: enum
- id: lw2_set_video_autoselect_mode
label: Set video output autoselect mode
kind: action
command: "{AS_V<out>=<state>;<mode>}"
params:
- name: out
type: string
- name: state
type: enum
description: "E=enable, D=disable"
- name: mode
type: enum
description: "F=First detect, L=Last detect, P=Priority detect"
- id: lw2_set_audio_autoselect_mode
label: Set audio output autoselect mode
kind: action
command: "{AS_A<out>=<state>;<mode>}"
params:
- name: out
type: string
- name: state
type: enum
- name: mode
type: enum
- id: lw2_set_video_input_priorities
label: Set video input priority list
kind: action
command: "{PRIO_V<out>=<in1_prio>;<in2_prio>;…;<inn_prio>}"
params:
- name: out
type: string
- name: prios
type: string
description: "Semicolon-separated priority numbers per input (0=highest, 5=lowest, 31=skip)"
- id: lw2_set_audio_input_priorities
label: Set audio input priority list
kind: action
command: "{PRIO_A<out>=<in1_prio>;<in2_prio>;…;<inn_prio>}"
params:
- name: out
type: string
- name: prios
type: string
# ---------- LW2: Network configuration ----------
- id: lw2_query_ip_status
label: Query current IP status
kind: query
command: "{IP_STAT=?}"
params: []
- id: lw2_set_ip_address
label: Set IP address
kind: action
command: "{IP_ADDRESS=<type>;<ip_address>}"
params:
- name: type
type: enum
description: "0=static, 1=DHCP"
- name: ip_address
type: string
- id: lw2_set_subnet_mask
label: Set subnet mask
kind: action
command: "{IP_NETMASK=<subnet_mask>}"
params:
- name: subnet_mask
type: string
- id: lw2_set_gateway
label: Set gateway address
kind: action
command: "{IP_GATEWAY=<gateway_addr>}"
params:
- name: gateway_addr
type: string
- id: lw2_apply_network
label: Apply network settings and restart interface
kind: action
command: "{ip_apply}"
params: []
- id: lw2_enable_ethernet
label: Enable/disable Ethernet port
kind: action
command: "{ETH_ENABLE=<switch>}"
params:
- name: switch
type: enum
description: "0=disable, 1=enable"
# ---------- LW2: RS-232 settings ----------
- id: lw2_set_rs232_mode
label: Set RS-232 operation mode
kind: action
command: "{RS232=<mode>}"
params:
- name: mode
type: enum
description: "CONTROL, CI (command injection), PASS (pass-through)"
- id: lw2_set_rs232_local_format
label: Set local RS-232 format
kind: action
command: "{RS232_LOCAL_FORMAT=<BaudRate>;<DataBit>;<Parity>;<StopBit>}"
params:
- name: BaudRate
type: enum
description: "X (no change), 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200"
- name: DataBit
type: enum
description: "X, 8, 9"
- name: Parity
type: enum
description: "X, N (none), E (even), O (odd)"
- name: StopBit
type: enum
description: "X, 1, 1,5, 2"
- id: lw2_set_rs232_local_protocol
label: Set local RS-232 control protocol
kind: action
command: "{RS232_LOCAL_PROT=<protocol>}"
params:
- name: protocol
type: enum
description: "LW2 or LW3"
- id: lw2_set_rs232_link_format
label: Set TPS-link RS-232 format
kind: action
command: "{RS232_LINK_FORMAT=<baud_rate>;<data_bit>;<parity>;<stop_bit>}"
params:
- name: baud_rate
type: enum
- name: data_bit
type: enum
- name: parity
type: enum
- name: stop_bit
type: enum
- id: lw2_set_rs232_link_protocol
label: Set TPS-link RS-232 protocol
kind: action
command: "{RS232_LINK_PROT=<protocol>}"
params:
- name: protocol
type: enum
# ---------- LW2: GPIO ----------
- id: lw2_set_gpio_pin
label: Set GPIO pin direction and level
kind: action
command: "{GPIO<pin_nr>=<dir>;<level>}"
params:
- name: pin_nr
type: integer
description: "0-6"
- name: dir
type: enum
description: "I=input, O=output"
- name: level
type: enum
description: "L=low, H=high, T=toggle"
# ---------- LW3: System commands ----------
- id: lw3_get_product_name
label: Query product name
kind: query
command: "GET /.ProductName"
params: []
- id: lw3_set_device_label
label: Set device label
kind: action
command: "SET /MANAGEMENT/UID.DeviceLabel=<Custom_name>"
params:
- name: Custom_name
type: string
description: "Max 39 ASCII characters"
- id: lw3_get_serial_number
label: Query serial number
kind: query
command: "GET /.SerialNumber"
params: []
- id: lw3_get_firmware_version
label: Query firmware version
kind: query
command: "GET /SYS/MB.FirmwareVersion"
params: []
- id: lw3_reset_device
label: Reset (reboot) device
kind: action
command: "CALL /SYS:reset()"
params: []
- id: lw3_factory_defaults
label: Restore factory default settings
kind: action
command: "CALL /SYS:factoryDefaults()"
params: []
- id: lw3_set_front_panel_lock
label: Set front panel control lock
kind: action
command: "SET /MANAGEMENT/UI.ControlLock=<lock_status>"
params:
- name: lock_status
type: enum
description: "1=None (enabled), 2=Locked, 3=Force locked"
- id: lw3_set_button_default_function
label: Set default-function enable for a front-panel button
kind: action
command: "SET /MANAGEMENT/UI/BUTTONS/<btn_id>.DefaultFunctionEnable=<btn_status>"
params:
- name: btn_id
type: enum
description: "B1=Video select, B2=Audio select, B3=Show me"
- name: btn_status
type: enum
description: "Enable or Disable"
- id: lw3_set_dark_mode
label: Enable/disable dark mode (front-panel LEDs)
kind: action
command: "SET /MANAGEMENT/UI/DARKMODE.DarkModeEnable=<status>"
params:
- name: status
type: enum
description: "true or false"
- id: lw3_set_dark_mode_delay
label: Set dark mode delay
kind: action
command: "SET /MANAGEMENT/UI/DARKMODE.DarkModeDelay=<delay_time>"
params:
- name: delay_time
type: integer
description: "Seconds"
- id: lw3_run_macro
label: Run a stored macro
kind: action
command: "CALL /CTRL/MACROS:run(<macro_name>)"
params:
- name: macro_name
type: string
# ---------- LW3: Cleartext login (TX140K/TX140-Plus only - listed for completeness) ----------
- id: lw3_login
label: Log into device (cleartext)
kind: action
command: "CALL /LOGIN:login(<password>)"
params:
- name: password
type: string
- id: lw3_logout
label: Log out of device
kind: action
command: "CALL /LOGIN:logout(<password>)"
params:
- name: password
type: string
- id: lw3_set_login_password
label: Set the cleartext login password
kind: action
command: "CALL /LOGIN:setPassword(<password>)"
params:
- name: password
type: string
- id: lw3_enable_login
label: Enable/disable cleartext login function
kind: action
command: "SET /LOGIN.LoginEnable=<login_state>"
params:
- name: login_state
type: enum
description: "true/1 or false/0"
# ---------- LW3: Video port settings ----------
- id: lw3_get_video_source_status
label: Query video source-port status
kind: query
command: "GET /MEDIA/VIDEO/XP.SourcePortStatus"
params: []
- id: lw3_get_video_destination_status
label: Query video destination-port status
kind: query
command: "GET /MEDIA/VIDEO/XP.DestinationPortStatus"
params: []
- id: lw3_video_switch
label: Switch a video input to an output
kind: action
command: "CALL /MEDIA/VIDEO/XP:switch(<in>:<out>)"
params:
- name: in
type: string
description: "Input port (e.g. I1, I2); 0 = disconnect"
- name: out
type: string
description: "Output port (O1)"
- id: lw3_video_disconnect
label: Disconnect video inputs from an output
kind: action
command: "CALL /MEDIA/VIDEO/XP:switch(0:<out>)"
params:
- name: out
type: string
- id: lw3_get_video_crosspoint
label: Query video crosspoint setting (destination connection list)
kind: query
command: "GET /MEDIA/VIDEO/XP.DestinationConnectionList"
params: []
- id: lw3_get_video_connected_source
label: Query the input connected to a video output
kind: query
command: "GET /MEDIA/VIDEO/<out>.ConnectedSource"
params:
- name: out
type: string
- id: lw3_get_video_autoselect
label: Query video autoselect settings
kind: query
command: "GET /MEDIA/VIDEO/XP.DestinationPortAutoselect"
params: []
- id: lw3_set_video_autoselect
label: Change video autoselect mode
kind: action
command: "CALL /MEDIA/VIDEO/XP:setDestinationPortAutoselect(<out1_set>;<out2_set>;…;<out#_set>)"
params:
- name: sets
type: string
description: "Two-letter codes per output, e.g. O1:EP. Letters: E/D (enable/disable), F/P/L (first/priority/last detect)"
- id: lw3_get_video_priority
label: Query video input port priority list
kind: query
command: "GET /MEDIA/VIDEO/XP.PortPriorityList"
params: []
- id: lw3_set_video_priority
label: Change video input port priority
kind: action
command: "CALL /MEDIA/VIDEO/XP:setAutoselectionPriority(<in>\\(<out>\\):<prio>);(<in>\\(<out>\\):<prio>)"
params:
- name: settings
type: string
description: "Semicolon-separated; prio 0-31 (31=skip); escape parentheses with backslash"
- id: lw3_video_mute_source
label: Mute a video input port
kind: action
command: "CALL /MEDIA/VIDEO/XP:muteSource(<in>)"
params:
- name: in
type: string
- id: lw3_video_mute_destination
label: Mute the video output port
kind: action
command: "CALL /MEDIA/VIDEO/XP:muteDestination(<out>)"
params:
- name: out
type: string
- id: lw3_video_unmute_source
label: Unmute a video input port
kind: action
command: "CALL /MEDIA/VIDEO/XP:unmuteSource(<in>)"
params:
- name: in
type: string
- id: lw3_video_unmute_destination
label: Unmute the video output port
kind: action
command: "CALL /MEDIA/VIDEO/XP:unmuteDestination(<out>)"
params:
- name: out
type: string
- id: lw3_video_lock_source
label: Lock a video input port
kind: action
command: "CALL /MEDIA/VIDEO/XP:lockSource(<in>)"
params:
- name: in
type: string
- id: lw3_video_lock_destination
label: Lock the video output port
kind: action
command: "CALL /MEDIA/VIDEO/XP:lockDestination(<out>)"
params:
- name: out
type: string
- id: lw3_video_unlock_source
label: Unlock a video input port
kind: action
command: "CALL /MEDIA/VIDEO/XP:unlockSource(<in>)"
params:
- name: in
type: string
- id: lw3_video_unlock_destination
label: Unlock the video output port
kind: action
command: "CALL /MEDIA/VIDEO/XP:unlockDestination(<out>)"
params:
- name: out
type: string
- id: lw3_set_input_hdcp
label: Set HDCP enable on an input port (digital inputs only)
kind: action
command: "SET /MEDIA/VIDEO/<in>.HdcpEnable=<logical_value>"
params:
- name: in
type: string
- name: logical_value
type: enum
description: "true or false"
- id: lw3_set_test_pattern_mode
label: Set test-pattern generator mode on an input
kind: action
command: "SET /MEDIA/VIDEO/<in>.FreeRunMode=<mode>"
params:
- name: in
type: string
- name: mode
type: enum
description: "0=Always off, 1=Always on, 2=Auto"
- id: lw3_set_test_pattern_color
label: Set test-pattern color
kind: action
command: "SET /MEDIA/VIDEO/<in>.FreeRunColor=<RGB_code>"
params:
- name: in
type: string
- name: RGB_code
type: string
description: "RR;GG;BB (semicolon-separated)"
- id: lw3_set_test_pattern_resolution
label: Set test-pattern resolution
kind: action
command: "SET /MEDIA/VIDEO/<in>.FreeRunResolution=<resolution>"
params:
- name: in
type: string
- name: resolution
type: enum
description: "0=640x480p60 ... 11=1920x1200p60 (see source table §7.6.22)"
- id: lw3_set_output_hdcp_mode
label: Set HDCP mode on the video output
kind: action
command: "SET /MEDIA/VIDEO/<out>.HdcpModeSetting=<HDCP_mode>"
params:
- name: out
type: string
- name: HDCP_mode
type: enum
description: "0=Auto, 1=Always"
- id: lw3_set_output_hdmi_mode
label: Set HDMI mode on the video output
kind: action
command: "SET /MEDIA/VIDEO/<out>.HdmiModeSetting=<mode>"
params:
- name: out
type: string
- name: mode
type: enum
description: "0=Auto, 1=DVI, 2=HDMI 24 bit, 3=HDMI 30 bit, 4=HDMI 36 bit"
- id: lw3_set_output_color_space
label: Set color space on the video output
kind: action
command: "SET /MEDIA/VIDEO/<out>.ColorSpaceSetting=<colorspace>"
params:
- name: out
type: string
- name: colorspace
type: enum
description: "0=Auto, 1=RGB, 2=YCbCr 4:4:4, 3=YCbCr 4:2:2"
- id: lw3_set_tps_mode
label: Set TPS mode on a remote port
kind: action
command: "SET /REMOTE/<port>.tpsModeSetting=<tps_mode>"
params:
- name: port
type: string
description: "e.g. S1"
- name: tps_mode
type: enum
description: "A=Auto, H=HDBaseT, L=Longreach, 1=LPPF1, 2=LPPF2"
# ---------- LW3: Audio port settings ----------
- id: lw3_get_audio_source_status
label: Query audio source-port status
kind: query
command: "GET /MEDIA/AUDIO/XP.SourcePortStatus"
params: []
- id: lw3_get_audio_destination_status
label: Query audio destination-port status
kind: query
command: "GET /MEDIA/AUDIO/XP.DestinationPortStatus"
params: []
- id: lw3_get_audio_crosspoint
label: Query audio crosspoint setting
kind: query
command: "GET /MEDIA/AUDIO/XP.DestinationConnectionList"
params: []
- id: lw3_audio_switch
label: Switch an audio input to an output
kind: action
command: "CALL /MEDIA/AUDIO/XP:switch(<in>:<out>)"
params:
- name: in
type: string
- name: out
type: string
- id: lw3_get_audio_autoselect
label: Query audio autoselect settings
kind: query
command: "GET /MEDIA/AUDIO/XP.DestinationPortAutoselect"
params: []
- id: lw3_set_audio_autoselect
label: Change audio autoselect mode
kind: action
command: "CALL /MEDIA/AUDIO/XP:setDestinationPortAutoselect(<out>:<out_set>)"
params:
- name: out
type: string
- name: out_set
type: string
description: "Two-letter code (E/D + F/P/L/S)"
- id: lw3_get_audio_priority
label: Query audio input port priority list
kind: query
command: "GET /MEDIA/AUDIO/XP.PortPriorityList"
params: []
- id: lw3_set_audio_priority
label: Change audio input port priority
kind: action
command: "CALL /MEDIA/AUDIO/XP:setAutoselectionPriority<(in>\\(<out>\\):<prio>);(<in>\\(<out>\\):<prio>)"
params:
- name: settings
type: string
- id: lw3_audio_mute_source
label: Mute an audio input
kind: action
command: "CALL /MEDIA/AUDIO/XP:muteSource(<in>)"
params:
- name: in
type: string
- id: lw3_audio_mute_destination
label: Mute the audio output
kind: action
command: "CALL /MEDIA/AUDIO/XP:muteDestination(<out>)"
params:
- name: out
type: string
- id: lw3_audio_unmute_source
label: Unmute an audio input
kind: action
command: "CALL /MEDIA/AUDIO/XP:unmuteSource(<in>)"
params:
- name: in
type: string
- id: lw3_audio_unmute_destination
label: Unmute the audio output
kind: action
command: "CALL /MEDIA/AUDIO/XP:unmuteDestination(<out>)"
params:
- name: out
type: string
- id: lw3_audio_lock_source
label: Lock an audio input
kind: action
command: "CALL /MEDIA/AUDIO/XP:lockSource(<in>)"
params:
- name: in
type: string
- id: lw3_audio_lock_destination
label: Lock the audio output
kind: action
command: "CALL /MEDIA/AUDIO/XP:lockDestination(<out>)"
params:
- name: out
type: string
- id: lw3_audio_unlock_source
label: Unlock an audio input
kind: action
command: "CALL /MEDIA/AUDIO/XP:unlockSource(<in>)"
params:
- name: in
type: string
- id: lw3_audio_unlock_destination
label: Unlock the audio output
kind: action
command: "CALL /MEDIA/AUDIO/XP:unlockDestination(<out>)"
params:
- name: out
type: string
# ---------- LW3: Analog audio input level ----------
- id: lw3_set_audio_volume
label: Set analog audio input volume (attenuation)
kind: action
command: "SET /MEDIA/AUDIO/<in>.Volume=<level>"
params:
- name: in
type: string
- name: level
type: number
description: "-95.625 dB to 0 dB in steps of -0.375 dB"
- id: lw3_set_audio_balance
label: Set analog audio input balance
kind: action
command: "SET /MEDIA/AUDIO/<in>.Balance=<level>"
params:
- name: in
type: string
- name: level
type: integer
description: "0=left, 100=right, step 1, default 50"
# ---------- LW3: Event manager ----------
- id: lw3_set_event_condition
label: Set event condition
kind: action
command: "SET /EVENTS/E<loc>.Condition=<expression>"
params:
- name: loc
type: integer
description: "Event location number"
- name: expression
type: string
description: "<node_path>.<property>=<value>"
- id: lw3_set_event_condition_inverted
label: Invert an event condition
kind: action
command: "SET /EVENTS/E<loc>.ConditionInverted=<true/false>"
params:
- name: loc
type: integer
- id: lw3_set_event_condition_link
label: Link an event's condition to another event
kind: action
command: "SET /EVENTS/E<loc>.Condition=<event_nr>"
params:
- name: loc
type: integer
- name: event_nr
type: integer
- id: lw3_set_event_condition_multi_link
label: Link an event condition to multiple (up to 4) events
kind: action
command: "SET /EVENTS/E<loc>.Condition=<event_nr>&<event_nr>&<event_nr>&<event_nr>"
params:
- name: loc
type: integer
- name: event_nrs
type: string
- id: lw3_set_event_action
label: Set event action by direct path
kind: action
command: "SET /EVENTS/E<loc>.Action=<expression>"
params:
- name: loc
type: integer
- name: expression
type: string
- id: lw3_set_event_action_link
label: Link an event's action to another event's
kind: action
command: "SET /EVENTS/E<loc>.Action=<event_nr>"
params:
- name: loc
type: integer
- name: event_nr
type: integer
- id: lw3_set_event_action_macro
label: Link an event's action to a stored macro
kind: action
command: "SET /EVENTS/E<loc>.Action=<macro_name>"
params:
- name: loc
type: integer
- name: macro_name
type: string
- id: lw3_set_event_condition_timeout
label: Set event condition timeout (delay, seconds)
kind: action
command: "SET /EVENTS/E<loc>.ConditionTimeout=<time>"
params:
- name: loc
type: integer
- name: time
type: integer
- id: lw3_set_event_condition_end_check
label: Set event ConditionEndCheck flag
kind: action
command: "SET /EVENTS/E<loc>.ConditionEndCheck=<true/false>"
params:
- name: loc
type: integer
- id: lw3_set_event_condition_continuous
label: Set event ConditionTimeoutContinuous flag
kind: action
command: "SET /EVENTS/E<loc>.ConditionTimeoutContinuous=<true/false>"
params:
- name: loc
type: integer
- id: lw3_set_event_name
label: Set event name
kind: action
command: "SET /EVENTS/E<loc>.Name=<string>"
params:
- name: loc
type: integer
- name: string
type: string
description: "Max 20 chars: A-Z, a-z, 0-9, hyphen, underscore, space"
- id: lw3_set_event_enabled
label: Enable/disable an event
kind: action
command: "SET /EVENTS/E<loc>.Enabled=<true/false>"
params:
- name: loc
type: integer
- id: lw3_event_trigger_condition
label: Manually trigger an event's condition
kind: action
command: "CALL /EVENTS/E<loc>:triggerCondition(1)"
params:
- name: loc
type: integer
- id: lw3_get_event_condition_count
label: Query event condition counter
kind: query
command: "GET /EVENTS/E<loc>.ConditionCount"
params:
- name: loc
type: integer
- id: lw3_get_event_trigger_count
label: Query event external trigger counter
kind: query
command: "GET /EVENTS/E<loc>.ExternalConditionTriggerCount"
params:
- name: loc
type: integer
- id: lw3_event_action_test
label: Test-launch an event's action
kind: action
command: "CALL /EVENTS/E<loc>:ActionTest(1)"
params:
- name: loc
type: integer
# ---------- LW3: Variables ----------
- id: lw3_set_variable_value
label: Assign a variable value
kind: action
command: "SET /CTRL/VARS/V<loc>.Value=<value>"
params:
- name: loc
type: integer
description: "1-30"
- name: value
type: string
description: "Auto-detected numeric or string (max 15 chars; numeric range -2147483648..2147483647)"
- id: lw3_variable_add
label: Add (or subtract) a value with optional min/max clamping
kind: action
command: "CALL /CTRL/VARS/V<loc>:add(<operand>;<min>;<max>)"
params:
- name: loc
type: integer
- name: operand
type: integer
- name: min
type: integer
- name: max
type: integer
- id: lw3_variable_cycle
label: Add (or subtract) with wrap-around at min/max
kind: action
command: "CALL /CTRL/VARS/V<loc>:cycle(<operand>;<min>;<max>)"
params:
- name: loc
type: integer
- name: operand
type: integer
- name: min
type: integer
- name: max
type: integer
- id: lw3_variable_case
label: Case-convert variable value across up to 16 intervals
kind: action
command: "CALL /CTRL/VARS/V<loc>:case(<min> <max> <val>;)"
params:
- name: loc
type: integer
- name: cases
type: string
description: "Semicolon-separated interval groups; each group is '<min> <max> <new_val>'"
- id: lw3_variable_scanf
label: Scan and store an LW3 property into a variable
kind: action
command: "CALL /CTRL/VARS/V<loc>:scanf(<path>.<property>;<pattern>)"
params:
- name: loc
type: integer
- name: path
type: string
- name: property
type: string
- name: pattern
type: string
description: "scanf-style pattern; '%' must be escaped as '\%'"
- id: lw3_variable_printf
label: Reformat a variable by adding prefix/postfix
kind: action
command: "CALL /CTRL/VARS/V<loc>:printf(<prefix>%s<postfix>)"
params:
- name: loc
type: integer
- name: prefix
type: string
- name: postfix
type: string
# ---------- LW3: Ethernet configuration ----------
- id: lw3_set_dhcp_enabled
label: Enable/disable DHCP
kind: action
command: "SET /MANAGEMENT/NETWORK.DhcpEnabled=<dhcp_status>"
params:
- name: dhcp_status
type: enum
description: "true=DHCP, false=static"
- id: lw3_set_static_ip
label: Set static IP address
kind: action
command: "SET /MANAGEMENT/NETWORK.StaticIpAddress=<IP_address>"
params:
- name: IP_address
type: string
- id: lw3_set_static_netmask
label: Set static subnet mask
kind: action
command: "SET /MANAGEMENT/NETWORK.StaticNetworkMask=<netmask>"
params:
- name: netmask
type: string
- id: lw3_set_static_gateway
label: Set static gateway address
kind: action
command: "SET /MANAGEMENT/NETWORK.StaticGatewayAddress=<gw_address>"
params:
- name: gw_address
type: string
- id: lw3_apply_network_settings
label: Apply network settings (reboots interface)
kind: action
command: "CALL /MANAGEMENT/NETWORK:applySettings(1)"
params: []
- id: lw3_set_mac_filter_entry
label: Set a MAC-filter allowlist entry
kind: action
command: "SET /MANAGEMENT/MACFILTER.MACaddress<loc>=<MAC_address>;<receive>;<send>;<name>"
params:
- name: loc
type: integer
description: "1-8"
- name: MAC_address
type: string
- name: receive
type: boolean
- name: send
type: boolean
- name: name
type: string
- id: lw3_enable_mac_filter
label: Enable/disable MAC filtering
kind: action
command: "SET /MANAGEMENT/MACFILTER.FilterEnable=<true/false>"
params: []
- id: lw3_set_lw2_port_enabled
label: Block/enable LW2 control port (10001)
kind: action
command: "SET /MANAGEMENT/SERVICEFILTER.Lw2Enabled=<port_mode>"
params:
- name: port_mode
type: boolean
- id: lw3_set_http_port_enabled
label: Block/enable HTTP port (80)
kind: action
command: "SET /MANAGEMENT/SERVICEFILTER.HttpEnabled=<port_mode>"
params:
- name: port_mode
type: boolean
- id: lw3_wake_on_lan
label: Send Wake-on-LAN magic packet
kind: action
command: "CALL /MEDIA/ETHERNET:wakeOnLan(MAC_address)"
params:
- name: MAC_address
type: string
- id: lw3_set_hostname
label: Set the device hostname
kind: action
command: "SET /MANAGEMENT/NETWORK.HostName=<unique_name>"
params:
- name: unique_name
type: string
description: "1-64 chars; A-Z, a-z, 0-9, hyphen, dot (not as last char)"
# ---------- LW3: Ethernet message sending ----------
- id: lw3_tcp_message
label: Send TCP message (ASCII, with escape support)
kind: action
command: "CALL /MEDIA/ETHERNET:tcpMessage(<IP_address>:<port_no>=<message>)"
params:
- name: IP_address
type: string
- name: port_no
type: integer
- name: message
type: string
- id: lw3_tcp_text
label: Send TCP text (ASCII, no escaping)
kind: action
command: "CALL /MEDIA/ETHERNET:tcpText(<IP_address>:<port_no>=<text>)"
params:
- name: IP_address
type: string
- name: port_no
type: integer
- name: text
type: string
- id: lw3_tcp_binary
label: Send TCP binary message (hex)
kind: action
command: "CALL /MEDIA/ETHERNET.tcpBinary(<IP_address>:<port_no>=<HEX_message>)"
params:
- name: IP_address
type: string
- name: port_no
type: integer
- name: HEX_message
type: string
- id: lw3_udp_message
label: Send UDP message (ASCII, with escape support)
kind: action
command: "CALL /MEDIA/ETHERNET:udpMessage(<IP_address>:<port_no>=<message>)"
params:
- name: IP_address
type: string
- name: port_no
type: integer
- name: message
type: string
- id: lw3_udp_text
label: Send UDP text (ASCII, no escaping)
kind: action
command: "CALL /MEDIA/ETHERNET:udpText(<IP_address>:<port_no>=<text>)"
params:
- name: IP_address
type: string
- name: port_no
type: integer
- name: text
type: string
- id: lw3_udp_binary
label: Send UDP binary message (hex)
kind: action
command: "CALL /MEDIA/ETHERNET:udpBinary(<IP_address>:<port_no>=<HEX_message>)"
params:
- name: IP_address
type: string
- name: port_no
type: integer
- name: HEX_message
type: string
# ---------- LW3: HTTP messaging ----------
- id: lw3_set_http_server_ip
label: Set HTTP client target IP
kind: action
command: "SET /CTRL/HTTP/C1.ServerIP=<IP_address>"
params:
- name: IP_address
type: string
- id: lw3_set_http_server_port
label: Set HTTP client target TCP port
kind: action
command: "SET /CTRL/HTTP/C1.ServerPort=<port_no>"
params:
- name: port_no
type: integer
- id: lw3_set_http_file
label: Set HTTP client target path
kind: action
command: "SET /CTRL/HTTP/C1.File=<path>"
params:
- name: path
type: string
- id: lw3_set_http_header
label: Set HTTP client message header
kind: action
command: "SET /CTRL/HTTP/C1.Header=<header_text>"
params:
- name: header_text
type: string
- id: lw3_http_post
label: Send HTTP POST
kind: action
command: "CALL /CTRL/HTTP/C1:post(<body_text>)"
params:
- name: body_text
type: string
- id: lw3_http_put
label: Send HTTP PUT
kind: action
command: "CALL /CTRL/HTTP/C1:put(<body_text>)"
params:
- name: body_text
type: string
# ---------- LW3: TCP message recognizer ----------
- id: lw3_set_tcp_client_server_ip
label: Set TCP-recognizer client target IP
kind: action
command: "SET /CTRL/TCP/C<loc>.ServerIP=<IP_address>"
params:
- name: loc
type: integer
description: "1, 2, or 3"
- name: IP_address
type: string
- id: lw3_set_tcp_client_server_port
label: Set TCP-recognizer client target port
kind: action
command: "SET /CTRL/TCP/C<loc>.ServerPort=<port_no>"
params:
- name: loc
type: integer
- name: port_no
type: integer
- id: lw3_tcp_client_connect
label: Connect TCP-recognizer client to server
kind: action
command: "CALL /CTRL/TCP/C<loc>:connect()"
params:
- name: loc
type: integer
- id: lw3_tcp_client_disconnect
label: Disconnect TCP-recognizer client
kind: action
command: "CALL /CTRL/TCP/C<loc>:disconnect()"
params:
- name: loc
type: integer
- id: lw3_set_tcp_client_delimiter
label: Set TCP-recognizer delimiter (hex)
kind: action
command: "SET /CTRL/TCP/C<loc>.DelimiterHex=<delimiter>"
params:
- name: loc
type: integer
- name: delimiter
type: string
description: "Up to 16 hex digits"
- id: lw3_set_tcp_client_timeout
label: Set TCP-recognizer timeout (ms)
kind: action
command: "SET /CTRL/TCP/C<loc>.TimeOut=<timeout>"
params:
- name: loc
type: integer
- name: timeout
type: integer
description: "0=disabled; min 10"
- id: lw3_get_tcp_client_rx
label: Query last recognized TCP message (string)
kind: query
command: "GET /CTRL/TCP/C<loc>.Rx"
params:
- name: loc
type: integer
- id: lw3_get_tcp_client_rx_hex
label: Query last recognized TCP message (hex)
kind: query
command: "GET /CTRL/TCP/C<loc>.RxHex"
params:
- name: loc
type: integer
- id: lw3_tcp_client_clear
label: Clear stored TCP recognized messages
kind: action
command: "CALL /CTRL/TCP/C<loc>:clear()"
params:
- name: loc
type: integer
- id: lw3_get_tcp_client_active_rx
label: Query last active TCP message (string)
kind: query
command: "GET /CTRL/TCP/C<loc>.ActiveRx"
params:
- name: loc
type: integer
- id: lw3_get_tcp_client_active_rx_hex
label: Query last active TCP message (hex)
kind: query
command: "GET /CTRL/TCP/C<loc>.ActiveRxHex"
params:
- name: loc
type: integer
- id: lw3_set_tcp_client_active_timeout
label: Set TCP-recognizer active timeout (ms, 0-255)
kind: action
command: "SET /CTRL/TCP/C<loc>.ActivePropertyTimeout=<a_timeout>"
params:
- name: loc
type: integer
- name: a_timeout
type: integer
- id: lw3_set_tcp_client_action_trigger
label: Trigger an event action on TCP message recognition
kind: action
command: "SET /CTRL/TCP/C<loc>.ActionTrigger=<event_nr>"
params:
- name: loc
type: integer
- name: event_nr
type: integer
# ---------- LW3: RS-232 port configuration ----------
- id: lw3_set_serial_control_protocol
label: Set serial port control protocol (LW2/LW3)
kind: action
command: "SET /MEDIA/UART/<port>.ControlProtocol=<protocol>"
params:
- name: port
type: string
description: "P1 (local), P2 (TPS link)"
- name: protocol
type: enum
description: "0=LW2, 1=LW3"
- id: lw3_set_serial_baudrate
label: Set serial port baud rate
kind: action
command: "SET /MEDIA/UART/<port>.Baudrate=<baudrate>"
params:
- name: port
type: string
- name: baudrate
type: enum
description: "0=4800, 1=7200, 2=9600, 3=14400, 4=19200, 5=38400, 6=57600, 7=115200"
- id: lw3_set_serial_databits
label: Set serial port data bits
kind: action
command: "SET /MEDIA/UART/<port>.DataBits=<databits>"
params:
- name: port
type: string
- name: databits
type: enum
description: "8 or 9"
- id: lw3_set_serial_stopbits
label: Set serial port stop bits
kind: action
command: "SET /MEDIA/UART/<port>.StopBits=<stopbits>"
params:
- name: port
type: string
- name: stopbits
type: enum
description: "0=1, 1=1.5, 2=2"
- id: lw3_set_serial_parity
label: Set serial port parity
kind: action
command: "SET /MEDIA/UART/<port>.Parity=<parity>"
params:
- name: port
type: string
- name: parity
type: enum
description: "0=None, 1=Odd, 2=Even"
- id: lw3_set_serial_rs232_mode
label: Set serial port operation mode
kind: action
command: "SET /MEDIA/UART/<port>.Rs232Mode=<mode>"
params:
- name: port
type: string
- name: mode
type: enum
description: "0=Pass-through, 1=Control, 2=Command injection"
- id: lw3_set_serial_command_injection
label: Enable/disable serial command injection
kind: action
command: "SET /MEDIA/UART/<port>.CommandInjectionEnable=<logical_value>"
params:
- name: port
type: string
- name: logical_value
type: boolean
# ---------- LW3: RS-232 message sending ----------
- id: lw3_serial_send_message
label: Send ASCII message via RS-232 (with escaping)
kind: action
command: "CALL /MEDIA/UART/P1:sendMessage(<message>)"
params:
- name: message
type: string
- id: lw3_serial_send_text
label: Send ASCII text via RS-232 (no escaping)
kind: action
command: "CALL /MEDIA/UART/P1:sendText(<message>)"
params:
- name: message
type: string
- id: lw3_serial_send_binary
label: Send binary message via RS-232 (hex)
kind: action
command: "CALL /MEDIA/UART/P1:sendBinaryMessage(<message>)"
params:
- name: message
type: string
description: "Hex-encoded"
# ---------- LW3: RS-232 message recognizer ----------
- id: lw3_set_serial_recognizer_enable
label: Enable/disable RS-232 message recognizer
kind: action
command: "SET /MEDIA/UART/<serial_port>.RecognizerEnable=<recognizer_enable>"
params:
- name: serial_port
type: string
description: "P1 or P2"
- name: recognizer_enable
type: boolean
- id: lw3_set_serial_recognizer_delimiter
label: Set RS-232 recognizer delimiter (hex)
kind: action
command: "SET /MEDIA/UART/RECOGNIZER.DelimiterHex=<delimiter>"
params:
- name: delimiter
type: string
description: "Up to 16 hex digits"
- id: lw3_set_serial_recognizer_timeout
label: Set RS-232 recognizer timeout (ms)
kind: action
command: "SET /MEDIA/UART/RECOGNIZER.TimeOut=<timeout>"
params:
- name: timeout
type: integer
- id: lw3_get_serial_recognizer_rx
label: Query last recognized RS-232 message (string)
kind: query
command: "GET /MEDIA/UART/RECOGNIZER.Rx"
params: []
- id: lw3_get_serial_recognizer_rx_hex
label: Query last recognized RS-232 message (hex)
kind: query
command: "GET /MEDIA/UART/RECOGNIZER.RxHex"
params: []
- id: lw3_serial_recognizer_clear
label: Clear stored RS-232 recognized messages
kind: action
command: "CALL /MEDIA/UART/RECOGNIZER:clear()"
params: []
- id: lw3_get_serial_recognizer_active_rx
label: Query active RS-232 message (string)
kind: query
command: "GET /MEDIA/UART/RECOGNIZER.ActiveRx"
params: []
- id: lw3_get_serial_recognizer_active_rx_hex
label: Query active RS-232 message (hex)
kind: query
command: "GET /MEDIA/UART/RECOGNIZER.ActiveRxHex"
params: []
- id: lw3_set_serial_recognizer_active_timeout
label: Set RS-232 recognizer active timeout (ms, 0-255)
kind: action
command: "SET /MEDIA/UART/RECOGNIZER.ActivePropertyTimeout=<a_timeout>"
params:
- name: a_timeout
type: integer
# ---------- LW3: CEC (TX140K/TX140-Plus / WP-UMX-TPS-TX130-Plus-US only - listed for completeness) ----------
- id: lw3_cec_send_click
label: Send a CEC push-button (press & release) command
kind: action
command: "CALL /MEDIA/CEC/<port>:sendClick(<command>)"
params:
- name: port
type: string
description: "Video input I1-I4 or output O1-O2"
- name: command
type: enum
description: "Named CEC command (ok, back, up, down, left, right, root_menu, setup_menu, contents_menu, favorite_menu, media_top_menu, media_context_menu, number_0-9, dot, enter, clear, channel_up, channel_down, sound_select, input_select, display_info, power_legacy, page_up, page_down, volume_up, volume_down, mute_toggle, mute, unmute, play, stop, pause, record, rewind, fast_forward, skip_forward, skip_backward, eject, power_toggle, power_on, power_off, 3d_mode, stop_record, pause_record, play_forward, play_reverse, stop_function, f1, f2, f3, f4, select_next_media, select_media_1-5)"
- id: lw3_cec_send
label: Send a CEC command
kind: action
command: "CALL /MEDIA/CEC/<port>:send(<command>)"
params:
- name: port
type: string
- name: command
type: enum
description: "image_view_on, standby, text_view_on, active_source, get_cec_version, set_osd, clear_osd, give_power_status"
- id: lw3_set_cec_osd_string
label: Set CEC OSD string (used with send(set_osd))
kind: action
command: "SET /MEDIA/CEC/<port>.OsdString=<text>"
params:
- name: port
type: string
- name: text
type: string
description: "A-Z, a-z, 0-9, hyphen, underscore, dot; max 14 chars"
- id: lw3_cec_send_hex
label: Send raw CEC command in hex
kind: action
command: "CALL /MEDIA/CEC/<port>:sendHex(<hex_code>)"
params:
- name: port
type: string
- name: hex_code
type: string
description: "Max 30 chars (15 bytes) hex"
- id: lw3_get_cec_last_received
label: Query last received CEC message
kind: query
command: "GET /MEDIA/CEC/<port>.LastReceivedMessage"
params:
- name: port
type: string
# ---------- LW3: Infrared port configuration ----------
- id: lw3_set_ir_command_injection
label: Enable/disable IR command injection
kind: action
command: "SET /MEDIA/IR/<port>.CommandInjectionEnable=<true|false>"
params:
- name: port
type: string
- id: lw3_set_ir_modulation
label: Enable/disable IR output signal modulation
kind: action
command: "SET /MEDIA/IR/<port>.EnableModulation=<true|false>"
params:
- name: port
type: string
# ---------- LW3: Infrared message sending (TX140K/TX140-Plus/WP-UMX-TPS-TX130-Plus-US only) ----------
- id: lw3_ir_send_pronto_hex
label: Send Pronto Hex IR code (little-endian)
kind: action
command: "CALL /MEDIA/IR/<output_port>:sendProntoHex(<hex_code>)"
params:
- name: output_port
type: enum
description: "D1=local IR output, D2=TPS IR output"
- name: hex_code
type: string
description: "Up to 765 hex chars (0-9, A-F, a-f)"
- id: lw3_ir_send_pronto_hex_big_endian
label: Send Pronto Hex IR code (big-endian)
kind: action
command: "CALL /MEDIA/IR/<output_port>:sendProntoHexBigEndian(<hex_code>)"
params:
- name: output_port
type: enum
- name: hex_code
type: string
# ---------- LW3: GPIO configuration ----------
- id: lw3_set_gpio_direction
label: Set GPIO pin direction
kind: action
command: "SET /MEDIA/GPIO/<port>.Direction=<direction>"
params:
- name: port
type: string
description: "GPIO port P1..P8"
- name: direction
type: enum
description: "I=input, O=output"
- id: lw3_set_gpio_output
label: Set GPIO output level
kind: action
command: "SET /MEDIA/GPIO/<port>.Output=<value>"
params:
- name: port
type: string
- name: value
type: enum
description: "H=high, L=low"
- id: lw3_gpio_toggle
label: Toggle GPIO level
kind: action
command: "CALL /MEDIA/GPIO/<port>:toggle()"
params:
- name: port
type: string
# ---------- LW3: EDID management ----------
- id: lw3_get_edid_status
label: Query emulated EDIDs
kind: query
command: "GET /EDID.EdidStatus"
params: []
- id: lw3_get_dynamic_edid_validity
label: Query validity of a dynamic EDID
kind: query
command: "GET /EDID/D/<dynamic>.Validity"
params:
- name: dynamic
type: string
description: "Dynamic EDID index, e.g. D1"
- id: lw3_get_user_edid_preferred_resolution
label: Query preferred resolution of a user EDID
kind: query
command: "GET /EDID/U/<user>.PreferredResolution"
params:
- name: user
type: string
description: "User EDID index, e.g. U2"
- id: lw3_edid_switch
label: Emulate an EDID onto an input port
kind: action
command: "CALL /EDID:switch(<dynamic|user|factory>:<emulated>)"
params:
- name: source
type: string
description: "e.g. F49"
- name: emulated
type: string
description: "Emulated memory index, e.g. E2"
- id: lw3_edid_switch_all
label: Emulate an EDID onto all input ports
kind: action
command: "CALL /EDID:switchAll(<dynamic|user|factory>)"
params:
- name: source
type: string
- id: lw3_edid_copy
label: Copy an EDID to user memory
kind: action
command: "CALL /EDID:copy(<dynamic|emulated|factory|user>:<user>)"
params:
- name: source
type: string
- name: user
type: string
- id: lw3_edid_delete
label: Delete an EDID from user memory
kind: action
command: "CALL /EDID:delete(<user>)"
params:
- name: user
type: string
- id: lw3_edid_reset
label: Reset all emulated EDIDs to factory default
kind: action
command: "CALL /EDID:reset()"
params: []
# ---------- LW3: Protocol-level subscription (changes emit CHG notifications) ----------
- id: lw3_open_subscription
label: Subscribe to a node (receive async CHG notifications)
kind: action
command: "OPEN <node>"
params:
- name: node
type: string
- id: lw3_close_subscription
label: Unsubscribe from a node
kind: action
command: "CLOSE <node>"
params:
- name: node
type: string
- id: lw3_get_manual
label: Get manual text for a node, property, or method
kind: query
command: "MAN <node>"
params:
- name: node
type: string
Feedbacks
# Source documents query responses and async CHG notifications for many properties.
# Selected representative feedbacks:
- id: video_source_port_status
type: string
description: "Per-port 5-char status code from GET /MEDIA/VIDEO/XP.SourcePortStatus (mute/lock + 2-byte hex: embedded-audio / HDCP / signal / connection bits)"
- id: video_destination_port_status
type: string
description: "Per-output 5-char status code from GET /MEDIA/VIDEO/XP.DestinationPortStatus"
- id: audio_source_port_status
type: string
description: "Per-port 5-char status code from GET /MEDIA/AUDIO/XP.SourcePortStatus"
- id: video_connected_source
type: string
description: "Input port currently connected to an output (from GET /MEDIA/VIDEO/<out>.ConnectedSource)"
- id: video_crosspoint
type: string
description: "DestinationConnectionList response"
- id: video_autoselect_setting
type: enum
values: ["EF", "EP", "EL", "DF", "DP", "DL", "DS"]
description: "Two-letter autoselect code per output"
- id: event_condition_detect
type: boolean
description: "True when an event's condition is currently detected"
- id: event_condition_count
type: integer
description: "How many times an event's condition has been detected/triggered since boot"
- id: cec_last_received_message
type: string
description: "Last CEC message received on a port"
- id: serial_recognizer_rx
type: string
description: "Last RS-232 message recognized by the recognizer"
- id: tcp_client_rx
type: string
description: "Last TCP-recognizer message"
- id: chg_notification
type: string
description: "Async CHG notifications emitted on subscribed node property changes"
# UNRESOLVED: full exhaustive list of feedback properties not catalogued here; source tree exposes hundreds via LW3 GETALL.
Variables
# LW3 exposes user-defined variables (V1..V30) on this family (TX140K/TX140-Plus/WP-UMX-TPS-TX130-Plus-US only).
# For the FP-UMX-TPS-TX120 MKS, source lists the capability under DIFFERENCE clauses for higher models;
# availability on the MKS variant is UNRESOLVED.
- id: user_variable
type: integer_or_string
description: "User variable V<loc> (loc 1-30). Numeric range -2147483648..2147483647; string max 15 chars."
# UNRESOLVED: variable feature availability on FP-UMX-TPS-TX120 MKS not explicitly stated.
Events
# The Event Manager (E1..E<max>) lets the device react to internal property changes
# by triggering a stored action. Each event has Condition, Action, Enabled, ConditionTimeout, etc.
- id: event_manager_slot
description: "Configurable event slot (Condition + Action + Delay). Conditions reference LW3 property changes; actions invoke LW3 methods/properties/macros."
# UNRESOLVED: maximum event slot count for the FP-UMX-TPS-TX120 MKS variant not stated explicitly in source.
Macros
# Macros are batches of LW3 CALL/SET commands stored in device configuration presets and run by name.
- id: macro_run
description: "Run a stored macro by name (CALL /CTRL/MACROS:run(<macro_name>))"
- id: macro_file_format
description: "Macro file uses ;<preset_name> / ;Begin <name> / <LW3 commands> / ;End <name> structure, uploaded as .LW3 file via Settings/Backup."
# Macros not stored in regular device backup; must be saved separately.
# Available on UMX-TPS-TX140K, TX140-Plus, WP-UMX-TPS-TX130-Plus-US; availability on FP-UMX-TPS-TX120 MKS UNRESOLVED.
Safety
confirmation_required_for: []
interlocks: []
# Source contains no explicit safety warnings, interlock procedures, or power-on sequencing
# requirements that require operator confirmation beyond a generic ATTENTION note that
# restoring factory defaults / network IP changes will drop the connection.
# Front panel lock modes (ControlLock 2=Locked / 3=Force locked) prevent physical tampering
# but are not safety interlocks.
# UNRESOLVED: no device-specific safety interlock procedures documented in this source.
Notes
- Two parallel protocols. LW2 (legacy,
{...}brackets, raw TCP port 10001, case-insensitive input) and LW3 (modern ASCII tree, CrLf-terminated, TCP port 6107, case-sensitive). Either can run over the local RS-232 serial port (P1) or the TPS-link serial port (P2); set viaSET /MEDIA/UART/<port>.ControlProtocolor LW2{RS232_LOCAL_PROT=...}. The default for the FP-UMX-TPS-TX120 MKS serial port is not stated in source. - LW3 escape rule. Control characters
\ { } # % ( ) \r \n \tmust be backslash-escaped inside string parameters (e.g.CALL /MEDIA/UART/P1:sendMessage(Set\(01\))). Hex bytes can also be embedded via\xHH. - LW3 signature grouping. An optional 4-digit hex signature can prefix any command (
<sig>#CMD); responses are wrapped in{<sig> ... }so a client can correlate multi-line responses. - LW3 max line length is 800 bytes including prefix, path, method/property, and parameters.
- Port numbering (FP-UMX-TPS-TX120 series, §11.7.6):
- Video: VGA in = I1, HDMI in = I2, Testpattern = I3, TPS out = O1
- Emulated EDID memory: VGA = E1, HDMI = E2
- Audio: Audio in = I1, HDMI in = I2, TPS out = O1
- Serial: local = P1, TPS link = P2
- IR: local input = S1, TPS input = S2, TPS output = D1
- Subscriptions (LW3 OPEN/CLOSE) are per-connection and cleared when the TCP/socket is closed. Property changes emit async
CHG /<path>.<prop>=<value>lines. - Bulk management / LMDMP multicast protocol can reconfigure many devices at once via CSV file; not in scope of this control spec.
- Firmware update uses Lightware Device Updater V2 (LDU2); CLI available via
LightwareDeviceUpdaterV2_CLI.cmd.
规格已生成。序列号+TCP双协议(LW2+LW3)已全面覆盖。FP-UMX-TPS-TX120 MKS 的端口映射已记录。针对变量/宏/CEC/登录功能的可用性存疑(仅限 TX140 变体;MKS 未验证)。串口默认波特率/认证已标记为未解决(UNRESOLVED)。
## Provenance
```yaml
source_domains:
- assets.prod.pim.lightware.com
- lightware.com
source_urls:
- https://assets.prod.pim.lightware.com/assets/File-Downloads/Guides-and-Manuals/User-Manual/UMX-TPS-TX100_Series_UserManual.pdf
- https://lightware.com
retrieved_at: 2026-08-11T10:04:57.301Z
last_checked_at: 2026-08-19T09:28:37.477Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-08-19T09:28:37.477Z
matched_actions: 195
action_count: 195
confidence: medium
summary: "All 195 spec actions map to documented LW2/LW3 commands in source; transport ports and IP default also match verbatim. (15 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "exact hardware variant (\"MKS\" suffix) not explicitly named in source port-numbering tables; the FP-UMX-TPS-TX120 series table (§11.7.6) was used."
- "factory default baud rate for the serial port not explicitly stated in source (LDC auto-detects)."
- "firmware version compatibility range not stated."
- "factory default baud rate not stated in source; supported values: 4800, 7200, 9600, 14400, 19200, 38400, 57600, 115200"
- "factory default data bits not stated; supported values: 8 or 9"
- "factory default parity not stated; supported values: None, Odd, Even"
- "factory default stop bits not stated; supported values: 1, 1.5, 2"
- "not stated in source"
- "full exhaustive list of feedback properties not catalogued here; source tree exposes hundreds via LW3 GETALL."
- "variable feature availability on FP-UMX-TPS-TX120 MKS not explicitly stated."
- "maximum event slot count for the FP-UMX-TPS-TX120 MKS variant not stated explicitly in source."
- "no device-specific safety interlock procedures documented in this source."
- "\"MKS\" hardware variant (likely an MK-series keypad variant — release notes mention \"FP-UMX-TPS-TX100-MK products are now supported\" in v1.3.0b1) not explicitly enumerated in the port-numbering tables; assumed to match FP-UMX-TPS-TX120 series."
- "factory-default serial port settings (baud/data/parity/stop) not stated in source."
- "availability of TX140K/TX140-Plus-only features (cleartext login, MAC filter, macros, variables, TCP recognizer, HTTP messaging, CEC, sendProntoHex, RS-232 recognizer) on the FP-UMX-TPS-TX120 MKS variant — source marks them as DIFFERENCE features for higher models only; included here for catalogue completeness but must be verified against the actual device."
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0