Summary
ASCII-based control protocol for Lightware AV devices (matrix switchers, signal extenders, distribution amplifiers) since 2012. Tree-structured with GET/SET/CALL primitives over Ethernet (TCP port 6107), RS-232, and USB. No authentication required.
Transport
protocols:
- tcp
- serial
addressing:
port: 6107 # LW3 over Ethernet; LW2 uses port 10001 per source
serial:
baud_rate: 9600 # default per source (SET /MEDIA/UART/P1.Baudrate=2)
data_bits: 8
parity: none
stop_bits: 1
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred: /SYS:reset() present
- routable # inferred: crosspoint switch commands present
- queryable # inferred: GET commands returning state present
- levelable # inferred: /MEDIA/AUDIO/O2.VolumedB SET present
Actions
- id: get_property
label: GET property
kind: action
params:
- name: path
type: string
description: LW3 node path (e.g. /MEDIA/VIDEO/XP.DestinationConnectionList)
- id: set_property
label: SET property
kind: action
params:
- name: path
type: string
description: LW3 node path (e.g. /MANAGEMENT/NETWORK.StaticIpAddress)
- name: value
type: string
description: New value for the property
- id: call_method
label: CALL method
kind: action
params:
- name: path
type: string
description: LW3 node path with method name (e.g. /MEDIA/VIDEO/XP:switch)
- name: args
type: string
description: Arguments in parentheses (e.g. I4:O1)
- id: switch_crosspoint
label: Switch crosspoint
kind: action
params:
- name: mapping
type: string
description: Input to output mapping (e.g. I4:O1 or I1;I3:O1:O2)
- id: mute_source
label: Mute source ports
kind: action
params:
- name: inputs
type: string
description: Semicolon-separated input port list (e.g. I1;I4)
- id: set_autoselect
label: Set video input autoselection
kind: action
params:
- name: output
type: string
description: Output port (e.g. O1)
- name: mode
type: string
description: Mode letters (E=enabled, L=last detect, P=priority)
- id: set_volume
label: Set audio output volume
kind: action
params:
- name: output
type: string
description: Output port (e.g. O2)
- name: level
type: string
description: Volume in dB (e.g. -15) or percent
- id: set_static_ip
label: Set static IP address
kind: action
params:
- name: ip
type: string
description: IPv4 address (e.g. 192.168.0.85)
- id: set_baudrate
label: Set RS-232 baud rate
kind: action
params:
- name: rate_code
type: integer
description: Baud rate code (0-7); 2 = 9600 per source
- id: send_serial_message
label: Send serial message
kind: action
params:
- name: port
type: string
description: Serial port node (e.g. P1)
- name: message
type: string
description: Message text with /r/n terminator
- id: toggle_gpio
label: Toggle GPIO pin
kind: action
params:
- name: pin
type: integer
description: GPIO pin number
- id: send_tcp_text
label: Send TCP message over Ethernet
kind: action
params:
- name: target
type: string
description: IP:port target (e.g. 192.168.0.11:9715)
- name: message
type: string
description: Message text
- id: reset_device
label: Reset device
kind: action
params: []
Feedbacks
- id: method_ok
label: Method OK
description: Command executed successfully
prefix: "mO"
- id: method_error
label: Method Error
description: Command failed; error code follows
prefix: "mE"
- id: property_read
label: Property Read response
description: Read-only property value
prefix: "pr"
- id: property_write
label: Property Write response
description: Property value after SET
prefix: "pw"
- id: change_notification
label: Change notification
description: Asynchronous property change (subscribed node)
prefix: "CHG"
Variables
# Read/write properties discovered in source:
- id: DestinationConnectionList
path: /MEDIA/VIDEO/XP.DestinationConnectionList
type: string
description: Semicolon-separated input-per-output mapping (e.g. I1;I3;I1;I3)
- id: DestinationPortAutoselect
path: /MEDIA/VIDEO/XP.DestinationPortAutoselect
type: string
description: Autoselect mode letters (E/L/P)
- id: VolumedB
path: /MEDIA/AUDIO/O{N}.VolumedB
type: number
description: Volume level in dB
- id: DhcpEnabled
path: /MANAGEMENT/NETWORK.DhcpEnabled
type: boolean
description: DHCP enable state
- id: StaticIpAddress
path: /MANAGEMENT/NETWORK.StaticIpAddress
type: string
description: Static IPv4 address
- id: Baudrate
path: /MEDIA/UART/P1.Baudrate
type: integer
description: Serial baud rate code (0-7); 2 = 9600
# Read-only properties discovered in source:
- id: SignalPresent
path: /MEDIA/VIDEO/I{N}.SignalPresent
type: boolean
description: Video signal presence (1=present, 0=absent)
- id: HdcpState
path: /MEDIA/VIDEO/I{N}.HdcpState
type: integer
description: HDCP state (1=enabled, 0=disabled)
- id: SourcePortStatus
path: /MEDIA/VIDEO/XP.SourcePortStatus
type: string
description: Port status codes (T/M/L/U + hex flags per port, semicolon-separated)
- id: CpuTemperature
path: /MANAGEMENT/STATUS.CpuTemperature
type: string
description: CPU temperature in Celsius
- id: 5VMain
path: /MANAGEMENT/STATUS.5VMain
type: string
description: 5V rail voltage reading
- id: HdbtStat
path: /REMOTE/S{N}.HdbtStat
type: string
description: HDBT cable error rates in dB (4 values, comma-separated)
- id: TxBer
path: /REMOTE/S{N}.TxBer
type: string
description: Transmitter bit error ratio (scientific notation)
- id: ProductName
path: /.ProductName
type: string
description: Device product name (read-only)
Events
# Subscribed property changes (asynchronous):
# Format: CHG <path>=<value>
# Example: CHG /MEDIA/VIDEO/QUALITY.QualityMode=video
# Subscription: OPEN /MEDIA/VIDEO/*
Macros
- id: batch_switch
label: Batch switching
description: Multiple switch commands arriving within 10ms are collected and executed atomically as a single crosspoint change
steps:
- Multiple {<input>@<output>} commands sent within 10ms
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
LW3 commands over Ethernet use TCP port 6107. LW2 uses TCP port 10001 (per source). LW3 is case-sensitive, tree-structured with slash-separated node paths. Response prefixes: mO = method OK, mE = method error, pr = property read, pw = property write. Commands terminated with CR+LF. Subscription model via OPEN <node>/* pattern enables asynchronous change notifications prefixed with CHG. EDID management commands partially documented ({e5:f10} syntax in LW2; full LW3 EDID node paths not shown in source).
Provenance
source_domains:
- archive.lightware.com
- go.lightware.com
- academy.lightware.com
source_urls:
- https://archive.lightware.com/pub/media/lightware/filedownloader/file/Lightware_s_Open_API_Environment_v1.pdf
- https://go.lightware.com/ucx-s-hum
- https://go.lightware.com/ucx-s-pum
- https://academy.lightware.com/courses/device-control-methods-protocols-level-3
- https://go.lightware.com/open-api-environment
retrieved_at: 2026-04-30T00:07:53.976Z
last_checked_at: 2026-06-02T22:09:20.588Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:09:20.588Z
matched_actions: 13
action_count: 13
confidence: medium
summary: "All 13 spec actions traced to source (dip-safe re-verify). (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "specific model numbers not enumerated in source — \"LW3 compatible devices\" per source language"
- "no safety warnings or interlock procedures in source"
- "full LW3 node tree not documented in source — device-specific; source recommends per-device User Manual Chapter 5-8 for LW3 Programmer's Reference"
- "GPIO pin count and capabilities not stated in source"
- "USB control command syntax not detailed in source"
- "DHCH state query (GET /MANAGEMENT/NETWORK.DhcpEnabled) shown but DHCP setting via SET not documented with example"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0