Summary
The Lightware GVN-HDMI-RX110AP is an HDMI receiver (RX) endpoint in the Lightware Gemini Video Network (GVN) series of HDMI/USB-C AV-over-IP extenders. It is controlled through the Lightware Protocol #3 (LW3), an ASCII, CrLf-terminated, tree-structured command set carried over TCP (port 6107), WebSocket (WS/WSS over HTTP 80/HTTPS 443), or serial-over-IP (TCP 6752). The RX110AP is managed by the GVN-MMU-X100 matrix management unit; most LW3 commands are addressed to the MMU and target endpoints by device-map ID.
Transport
protocols:
- tcp
- http
addressing:
port: 6107 # LW3 protocol over TCP (raw connection type)
# Additional documented TCP service ports (not the primary control channel):
# 6752 Serial over IP (RS-232 command injection)
# 80 HTTP (LW3 over WebSocket; firmware update; log download; built-in web GUI)
# 443 HTTPS (LW3 over WSS; secure built-in web GUI)
# 8080 Built-in web snapshot/substream JPEG/MJPEG endpoints
auth:
type: none # inferred: no password is set by default; optional HTTP Basic Auth (username "admin", password >=10 chars) is configurable via LDC or LW3 (/MANAGEMENT/SERVICES/{HTTP,HTTPS}.AuthenticationEnabled)
Traits
traits:
- routable # inferred: video/audio/USB crosspoint switch + switchAll + disconnect commands
- queryable # inferred: extensive GET queries (signal presence, resolution, refresh rate, connection, EDID validity, etc.)
- levelable # inferred: analog audio VolumePercent (0-100) and stepVolumePercent commands
Actions
# LW3 commands are ASCII, terminated with CrLf. Max line length 800 bytes.
# Paths/params are case-sensitive. Escape control chars (\ { } # % ( ) \r \n \t) with backslash.
# <endpoint> / <device_map_id> = endpoint order ID (e.g. X1, X4). RX devices are destinations for video/audio/USB.
# --- System Commands - MMU ---
- id: mmu_get_product_name
label: Get MMU Product Name
kind: query
command: "GET /.ProductName"
params: []
- id: mmu_set_device_label
label: Set MMU Device Label
kind: action
command: "SET /MANAGEMENT/DEVICE.DeviceLabel={label}"
params:
- name: label
type: string
description: "ASCII device label, max 63 chars. Default format LW_<product>_<serial>"
- id: mmu_get_serial_number
label: Get MMU Serial Number
kind: query
command: "GET /.SerialNumber"
params: []
- id: mmu_get_package_version
label: Get MMU Package Version
kind: query
command: "GET /.PackageVersion"
params: []
- id: mmu_get_current_time
label: Get MMU Current Date/Time
kind: query
command: "GET /MANAGEMENT/DATETIME.CurrentTime"
params: []
- id: mmu_set_time
label: Set MMU Date/Time
kind: action
command: "CALL /MANAGEMENT/DATETIME:setTime={datetime}"
params:
- name: datetime
type: string
description: "ISO 8601, YYYY-MM-DDTHH:MM:SS"
- id: mmu_reboot
label: Reboot MMU
kind: action
command: "CALL /SYS:reboot()"
params: []
- id: mmu_factory_defaults
label: Restore MMU Factory Defaults
kind: action
command: "CALL /SYS:factoryDefaults()"
params: []
- id: mmu_get_device_count
label: Get Discovered Device Count
kind: query
command: "GET /ENDPOINTS/DISCOVERY/ALL.DeviceCount"
params: []
# --- System Commands - Endpoints ---
- id: ep_get_product_name
label: Get Endpoint Product Name
kind: query
command: "GET /ENDPOINTS/DEVICEMAP/{endpoint}.ProductName"
params:
- name: endpoint
type: string
description: Device map ID, e.g. X1
- id: ep_set_device_label
label: Set Endpoint Device Label
kind: action
command: "SET /ENDPOINTS/DEVICEMAP/{endpoint}/MANAGEMENT.DeviceLabel={label}"
params:
- name: endpoint
type: string
description: Device map ID, e.g. X1
- name: label
type: string
description: "ASCII label (avoid accents/spaces in FW v1.0)"
- id: ep_get_serial_number
label: Get Endpoint Serial Number
kind: query
command: "GET /ENDPOINTS/DEVICEMAP/{endpoint}.SerialNumber"
params:
- name: endpoint
type: string
description: Device map ID
- id: ep_get_mac_address
label: Get Endpoint MAC Address
kind: query
command: "GET /ENDPOINTS/DEVICEMAP/{endpoint}.MacAddress"
params:
- name: endpoint
type: string
description: Device map ID
- id: ep_get_package_version
label: Get Endpoint Package Version
kind: query
command: "GET /ENDPOINTS/DEVICEMAP/{endpoint}.PackageVersion"
params:
- name: endpoint
type: string
description: Device map ID
- id: ep_get_discovery_id
label: Get Endpoint Discovery ID
kind: query
command: "GET /ENDPOINTS/DEVICEMAP/{device_map_id}.DiscoveryId"
params:
- name: device_map_id
type: string
description: Device map ID, e.g. X1. Returns <TX|RX>-<MAC>
- id: ep_get_device_map_id
label: Get Device Map ID by Discovery ID
kind: query
command: "GET /ENDPOINTS/DISCOVERY/ALL/{discovery_id}.DeviceMapId"
params:
- name: discovery_id
type: string
description: "<TX|RX>-<MAC>, e.g. RX-A8D2360298B1"
- id: ep_add_to_device_map
label: Add Device to Device Map
kind: action
command: "CALL /ENDPOINTS/DISCOVERY/ALL/{discovery_id}:addToDeviceMap()"
params:
- name: discovery_id
type: string
description: "<TX|RX>-<MAC>"
- id: ep_remove_from_device_map
label: Remove Device from Device Map
kind: action
command: "CALL /ENDPOINTS/DEVICEMAP/{device_map_id}:removeFromDeviceMap()"
params:
- name: device_map_id
type: string
description: Device map ID, e.g. X1
- id: ep_reboot
label: Reboot Endpoint
kind: action
command: "CALL /ENDPOINTS/DEVICEMAP/{device_map_id}/SYS:reboot()"
params:
- name: device_map_id
type: string
description: Device map ID
- id: ep_factory_defaults
label: Restore Endpoint Factory Defaults
kind: action
command: "CALL /ENDPOINTS/DEVICEMAP/{device_map_id}/SYS:factoryDefaults()"
params:
- name: device_map_id
type: string
description: Device map ID
# --- Video Crosspoint ---
- id: video_switch
label: Switch Video Stream to Destination
kind: action
command: "CALL /MEDIA/VIDEO/XP:switch({source}:{destination})"
params:
- name: source
type: string
description: "<dev_map_id>_NATIVE_OUT (e.g. X6_NATIVE_OUT)"
- name: destination
type: string
description: "<dev_map_id>_NATIVE_IN (e.g. X4_NATIVE_IN). Multiple pairs separated by ;"
- id: video_switch_all
label: Switch Video Stream to All Destinations
kind: action
command: "CALL /MEDIA/VIDEO/XP:switchAll({source})"
params:
- name: source
type: string
description: "<dev_map_id>_NATIVE_OUT. Use 0 to disconnect all destinations"
- id: video_disconnect
label: Disconnect Video Stream from Destination
kind: action
command: "CALL /MEDIA/VIDEO/XP:switch(0:{destination})"
params:
- name: destination
type: string
description: "<dev_map_id>_NATIVE_IN"
- id: video_set_autoselect_policy
label: Set Video Auto-Select Policy (TX)
kind: action
command: "SET /MEDIA/VIDEO/{destination}/AUTOSELECT.Policy={policy}"
params:
- name: destination
type: string
description: "<dev_map_id>_NATIVE_OUT"
- name: policy
type: enum
description: "[Off, Last detect, Priority]"
- id: video_set_autoselect_priority
label: Set Video Auto-Select Priority (TX)
kind: action
command: "SET /MEDIA/VIDEO/{destination}/AUTOSELECT.Priority={input1}:{input2}"
params:
- name: destination
type: string
description: "<dev_map_id>_NATIVE_OUT"
- name: input1
type: enum
description: "[HDMI_IN, USBC_MAIN_IN] (priority input)"
- name: input2
type: enum
description: "[HDMI_IN, USBC_MAIN_IN] (secondary input)"
- id: video_manual_input_select
label: Manual Video Input Selection (TX)
kind: action
command: "SET /MEDIA/VIDEO/{destination}.ConnectedSourceByName={source}"
params:
- name: destination
type: string
description: "<dev_map_id>_NATIVE_OUT"
- name: source
type: enum
description: "[HDMI_IN, USBC_MAIN_IN]"
# --- Video Stream Queries ---
- id: video_get_signal_present
label: Query Video Signal Presence
kind: query
command: "GET /MEDIA/VIDEO/{stream_name}.SignalPresent"
params:
- name: stream_name
type: string
description: "Source or destination stream ID"
- id: video_get_active_resolution
label: Query Active Resolution
kind: query
command: "GET /MEDIA/VIDEO/{stream_name}.ActiveResolution"
params:
- name: stream_name
type: string
description: Stream ID. Returns <pixels>x<lines>
- id: video_get_total_resolution
label: Query Total Resolution (with blanking)
kind: query
command: "GET /MEDIA/VIDEO/{stream_name}.TotalResolution"
params:
- name: stream_name
type: string
description: Stream ID. Returns <pixels>x<lines>
- id: video_get_refresh_rate
label: Query Refresh Rate
kind: query
command: "GET /MEDIA/VIDEO/{stream_name}.RefreshRate"
params:
- name: stream_name
type: string
description: Stream ID. Returns Hz value
- id: video_get_signal_type
label: Query Signal Type
kind: query
command: "GET /MEDIA/VIDEO/{stream_name}.SignalType"
params:
- name: stream_name
type: string
description: "Stream ID. Returns [N/A, DVI, HDMI, DP]"
- id: video_get_connected
label: Query Connection Status
kind: query
command: "GET /MEDIA/VIDEO/{stream_name}.Connected"
params:
- name: stream_name
type: string
description: "Stream ID (not available on NATIVE ports). Returns [true, false]"
# --- No Signal Screen (RX only) ---
- id: video_set_signal_loss_handling
label: Set No-Signal Screen Handling (RX)
kind: action
command: "SET /MEDIA/VIDEO/{destination}/SCREEN.SignalLossHandling={option}"
params:
- name: destination
type: string
description: RX destination stream ID
- name: option
type: enum
description: "[DefaultLogo, BlackScreen, DisableHDMIOut]"
- id: video_set_osd
label: Enable/Disable On-Screen Display (RX)
kind: action
command: "SET /MEDIA/VIDEO/{destination}/SCREEN.ShowOSD={status}"
params:
- name: destination
type: string
description: RX destination stream ID
- name: status
type: enum
description: "[true, false]"
- id: video_set_signal_loss_timeout
label: Set Signal-Loss Screen Timeout (RX)
kind: action
command: "SET /MEDIA/VIDEO/{destination}/SCREEN.SignalLossTimeout={value}"
params:
- name: destination
type: string
description: RX destination stream ID
- name: value
type: integer
description: "100-60000 ms"
# --- Audio Crosspoint ---
- id: audio_set_follow_policy
label: Set Audio Follow-Video Policy
kind: action
command: "SET /MEDIA/AUDIO/XP.DefaultFollowPolicy={follow_policy}"
params:
- name: follow_policy
type: enum
description: "[Off, Forced follow video]"
- id: audio_switch
label: Switch Audio Stream to Destination
kind: action
command: "CALL /MEDIA/AUDIO/XP:switch({source}:{destination})"
params:
- name: source
type: string
description: "<dev_map_id>_NATIVE_OUT"
- name: destination
type: string
description: "<dev_map_id>_NATIVE_IN. Multiple pairs separated by ;"
- id: audio_switch_all
label: Switch Audio Stream to All Destinations
kind: action
command: "CALL /MEDIA/AUDIO/XP:switchAll({source})"
params:
- name: source
type: string
description: "<dev_map_id>_NATIVE_OUT. Use 0 to disconnect all"
- id: audio_disconnect
label: Disconnect Audio Stream from Destination
kind: action
command: "CALL /MEDIA/AUDIO/XP:switch(0:{destination})"
params:
- name: destination
type: string
description: "<dev_map_id>_NATIVE_IN"
- id: audio_set_connected_source
label: Set Audio Input Source (single endpoint)
kind: action
command: "SET /MEDIA/AUDIO/{output}.ConnectedSourceByName={source}"
params:
- name: output
type: string
description: "<dev_map_id>_[NATIVE_OUT|DANTE_OUT|ANALOG_OUT|UAC_OUT]"
- name: source
type: enum
description: "[UAC_IN, ANALOG_IN, ACTIVE_EMBEDDED_IN, DANTE_IN]"
# --- Analog Audio Port ---
- id: audio_set_volume_percent
label: Set Analog Volume (percent)
kind: action
command: "SET /MEDIA/AUDIO/{audio_out}/VOLUME.VolumePercent={volume}"
params:
- name: audio_out
type: string
description: "<dev_map_id>_ANALOG_OUT"
- name: volume
type: integer
description: "0-100"
- id: audio_step_volume_percent
label: Step Analog Volume (percent)
kind: action
command: "CALL /MEDIA/AUDIO/{audio_out}/VOLUME:stepVolumePercent({step_value})"
params:
- name: audio_out
type: string
description: "<dev_map_id>_ANALOG_OUT"
- name: step_value
type: integer
description: "-100 to 100"
- id: audio_set_mute
label: Mute/Unmute Analog Output
kind: action
command: "SET /MEDIA/AUDIO/{audio_out}/VOLUME.Mute={state}"
params:
- name: audio_out
type: string
description: "<dev_map_id>_ANALOG_OUT"
- name: state
type: enum
description: "[true, false]"
- id: audio_set_port_direction
label: Set Analog Port Direction (TX)
kind: action
command: "SET /MEDIA/AUDIO/{audio_port}.Enabled={status}"
params:
- name: audio_port
type: string
description: "<dev_map_id>_ANALOG_OUT or <dev_map_id>_ANALOG_IN (input/output toggle)"
- name: status
type: enum
description: "[true, false]"
# --- USB Crosspoint ---
- id: usb_set_follow_policy
label: Set USB Follow-Video Policy
kind: action
command: "SET /MEDIA/USB/XP.DefaultFollowPolicy={follow_policy}"
params:
- name: follow_policy
type: enum
description: "[Off, Forced follow video]"
- id: usb_switch
label: Switch USB Device (RX) to USB Host (TX)
kind: action
command: "CALL /MEDIA/USB/XP:switch({usb_host}:{usb_dev})"
params:
- name: usb_host
type: string
description: "<dev_map_id>_NATIVE_DOWNSTR (TX host). Only one RX per TX."
- name: usb_dev
type: string
description: "<dev_map_id>_NATIVE_UPSTR (RX device side)"
- id: usb_switch_all
label: Switch All USB Devices (RX) to USB Host (TX)
kind: action
command: "CALL /MEDIA/USB/XP:switchAll({usb_host})"
params:
- name: usb_host
type: string
description: "<dev_map_id>_NATIVE_DOWNSTR"
- id: usb_disconnect
label: Disconnect USB Device (RX) from Host
kind: action
command: "CALL /MEDIA/USB/XP:switch(0:{usb_dev})"
params:
- name: usb_dev
type: string
description: "<dev_map_id>_NATIVE_UPSTR"
- id: usb_set_uac_source
label: Connect USB-C Port to UAC
kind: action
command: "SET /MEDIA/USB/{uac}.ConnectedSourceByName={input}"
params:
- name: uac
type: string
description: "<dev_map_id>_UAC_SOUNDCARD"
- name: input
type: enum
description: "[USBC_MAIN_HOST, USB_DATA_ONLY_HOST]"
# --- USB Port Settings (RX) ---
- id: usb_set_port_data_enabled
label: Enable/Disable USB-A Port (RX)
kind: action
command: "SET /MEDIA/USB/{hub}/{usb_port}.DataEnabled={status}"
params:
- name: hub
type: string
description: "<dev_map_id>_VIRTUAL_HUB"
- name: usb_port
type: enum
description: "[USB_DOWNSTR_1, USB_DOWNSTR_2 (USB 1.1), USB_DOWNSTR_3, USB_DOWNSTR_4 (USB 2.0)] (switched in pairs)"
- name: status
type: enum
description: "[true, false]"
- id: usb_set_uac_enabled
label: Enable/Disable USB Audio Converter (UAC, TX)
kind: action
command: "SET /MEDIA/USB/{hub}.Enabled={status}"
params:
- name: hub
type: string
description: "<dev_map_id>_UAC_SOUNDCARD"
- name: status
type: enum
description: "[true, false] (default false)"
- id: usb_set_uec_enabled
label: Enable/Disable USB Ethernet Converter (UEC, TX)
kind: action
command: "SET /MEDIA/USB/{hub}.Enabled={status}"
params:
- name: hub
type: string
description: "<dev_map_id>_ETHERNET_ADAPTER"
- name: status
type: enum
description: "[true, false] (default false)"
# --- Network Configuration ---
- id: net_get_ip_address
label: Query IP Address
kind: query
command: "GET /MANAGEMENT/NETWORKINTERFACES/{netw_int}/IPV4/{IP_mode}.IpAddress"
params:
- name: netw_int
type: enum
description: "[CONTROLLAN, GVNNETWORK]"
- name: IP_mode
type: enum
description: "[STATIC, DHCP]"
- id: net_set_static_enabled
label: Enable/Disable Static IP
kind: action
command: "SET /MANAGEMENT/NETWORKINTERFACES/{netw_int}/IPV4/STATIC.Enabled={status}"
params:
- name: netw_int
type: enum
description: "[CONTROLLAN, GVNNETWORK]"
- name: status
type: enum
description: "[true, false]"
- id: net_set_static_ip
label: Set Static IP Address
kind: action
command: "SET /MANAGEMENT/NETWORKINTERFACES/{netw_int}/IPV4/STATIC.ConfiguredIpAddress={ip_add}/{mask}"
params:
- name: netw_int
type: enum
description: "[CONTROLLAN, GVNNETWORK]"
- name: ip_add
type: string
description: IPv4 address
- name: mask
type: integer
description: "Subnet mask prefix 1-29"
- id: net_get_gateway
label: Query Gateway Address
kind: query
command: "GET /MANAGEMENT/NETWORKINTERFACES/{netw_int}/IPV4/{IP_mode}.GatewayAddress"
params:
- name: netw_int
type: enum
description: "[CONTROLLAN, GVNNETWORK]"
- name: IP_mode
type: enum
description: "[STATIC, DHCP]"
- id: net_set_gateway
label: Set Static Gateway Address
kind: action
command: "SET /MANAGEMENT/NETWORKINTERFACES/{netw_int}/IPV4/STATIC.ConfiguredGatewayAddress={gw_add}"
params:
- name: netw_int
type: enum
description: "[CONTROLLAN, GVNNETWORK]"
- name: gw_add
type: string
description: Gateway IPv4 address (static mode only)
- id: net_set_hostname
label: Set Hostname
kind: action
command: "SET /MANAGEMENT/DEVICE.HostName={hostname}"
params:
- name: hostname
type: string
description: "[A-Za-z0-9-] only"
# --- Network Security ---
- id: sec_set_http_enabled
label: Enable/Disable HTTP Port (80)
kind: action
command: "SET /MANAGEMENT/SERVICES/HTTP.Enabled={state}"
params:
- name: state
type: enum
description: "[true, false]"
- id: sec_set_http_auth
label: Enable/Disable HTTP Auth
kind: action
command: "SET /MANAGEMENT/SERVICES/HTTP.AuthenticationEnabled={authentication}"
params:
- name: authentication
type: enum
description: "[true, false] (requires password set first)"
- id: sec_set_https_enabled
label: Enable/Disable HTTPS Port (443)
kind: action
command: "SET /MANAGEMENT/SERVICES/HTTPS.Enabled={state}"
params:
- name: state
type: enum
description: "[true, false]"
- id: sec_set_https_auth
label: Enable/Disable HTTPS Auth
kind: action
command: "SET /MANAGEMENT/SERVICES/HTTPS.AuthenticationEnabled={authentication}"
params:
- name: authentication
type: enum
description: "[true, false] (requires password set first)"
- id: sec_set_lw3_enabled
label: Enable/Disable LW3 Port (6107)
kind: action
command: "SET /MANAGEMENT/SERVICES/LW3.Enabled={state}"
params:
- name: state
type: enum
description: "[true, false]"
# --- Serial Port Settings ---
- id: serial_set_baudrate
label: Set RS-232 Baud Rate
kind: action
command: "SET /MEDIA/SERIAL/{port}.Baudrate={baudrate}"
params:
- name: port
type: string
description: "e.g. X7_RS232"
- name: baudrate
type: enum
description: "[9600, 19200, 38400, 57600, 115200]"
- id: serial_set_data_bits
label: Set RS-232 Data Bits
kind: action
command: "SET /MEDIA/SERIAL/{port}.DataBits={data_bits}"
params:
- name: port
type: string
description: "e.g. X7_RS232"
- name: data_bits
type: enum
description: "[8]"
- id: serial_set_stop_bits
label: Set RS-232 Stop Bits
kind: action
command: "SET /MEDIA/SERIAL/{port}.StopBits={stop_bits}"
params:
- name: port
type: string
description: "e.g. X7_RS232"
- name: stop_bits
type: enum
description: "[1, 2]"
- id: serial_set_parity
label: Set RS-232 Parity
kind: action
command: "SET /MEDIA/SERIAL/{port}.Parity={parity}"
params:
- name: port
type: string
description: "e.g. X7_RS232"
- name: parity
type: enum
description: "[None, Odd, Even]"
- id: serial_set_operation_mode
label: Set RS-232 Operation Mode
kind: action
command: "SET /MEDIA/SERIAL/{port}.OperationMode={operation_mode}"
params:
- name: port
type: string
description: "e.g. X7_RS232"
- name: operation_mode
type: enum
description: "[Transparent, AvNetworkInjection, None]"
- id: serial_set_transparent_enabled
label: Enable/Disable Transparent RS-232 Mode
kind: action
command: "SET /MEDIA/SERIAL/{port}/TRANSPARENT.Enabled={status}"
params:
- name: port
type: string
description: "e.g. X7_RS232"
- name: status
type: enum
description: "[true, false]"
- id: serial_set_avnetworkinjection_enabled
label: Enable/Disable Serial-over-IP (command injection)
kind: action
command: "SET /MEDIA/SERIAL/{port_id}/AVNETWORKINJECTION.Enabled={status}"
params:
- name: port_id
type: string
description: "P<map_id>01, e.g. P201"
- name: status
type: enum
description: "[true, false]. Connect to TCP 6752 for injection."
# --- EDID Management ---
- id: edid_get_validity
label: Query EDID Validity
kind: query
command: "GET /EDID/{edid_category}/{edid_type}.Validity"
params:
- name: edid_category
type: enum
description: "[E (Emulated), D (Dynamic), U (User), F (Factory)]"
- name: edid_type
type: string
description: "e.g. D1001, E1, U1, F1"
- id: edid_get_preferred_resolution
label: Query EDID Preferred Resolution
kind: query
command: "GET /EDID/{edid_category}/{edid_type}.PreferredResolution"
params:
- name: edid_category
type: enum
description: "[E, D, U, F]"
- name: edid_type
type: string
description: e.g. F5
- id: edid_switch
label: Emulate EDID to Input Port
kind: action
command: "CALL /EDID:switch({source}:{destination})"
params:
- name: source
type: string
description: "F1-F148, U1-U100, or D<map_id>01"
- name: destination
type: string
description: "E<map_id>01 (Emulated)"
- id: edid_switch_all
label: Emulate EDID to All Input Ports
kind: action
command: "CALL /EDID:switchAll({source})"
params:
- name: source
type: string
description: "F1-F148, U1-U100, or D<map_id>01"
- id: edid_copy
label: Copy EDID to User Memory
kind: action
command: "CALL /EDID:copy({source}:{destination})"
params:
- name: source
type: string
description: "F1-F148, U1-U100, or D<map_id>01"
- name: destination
type: string
description: "U1-U100"
- id: edid_delete
label: Delete EDID from User Memory
kind: action
command: "CALL /EDID:delete({user_edid})"
params:
- name: user_edid
type: string
description: "U1-U100"
- id: edid_reset
label: Reset All Emulated EDIDs to Factory Default
kind: action
command: "CALL /EDID:reset()"
params: []
# --- LW3 Subscription primitives ---
- id: lw3_subscribe_node
label: Subscribe to Node
kind: action
command: "OPEN {node_path}"
params:
- name: node_path
type: string
description: "e.g. /MEDIA/VIDEO"
- id: lw3_subscribe_multi
label: Subscribe to Multiple Nodes (wildcard)
kind: action
command: "OPEN {node_path}/*"
params:
- name: node_path
type: string
description: "e.g. /MEDIA/VIDEO"
- id: lw3_unsubscribe_node
label: Unsubscribe from Node
kind: action
command: "CLOSE {node_path}"
params:
- name: node_path
type: string
description: Node path
- id: lw3_unsubscribe_multi
label: Unsubscribe from Multiple Nodes
kind: action
command: "CLOSE {node_path}/*"
params:
- name: node_path
type: string
description: Node path
- id: lw3_get_subscriptions
label: Get Active Subscriptions
kind: query
command: "OPEN"
params: []
# --- Built-in Web HTTP endpoints (snapshot/substream) ---
- id: web_snapshot
label: Get Stream Snapshot (HTTP)
kind: query
command: "GET http://{endpoint_ip}:8080/?action=snapshot&w={width}&h={height}&q={quality}&as={aspect_ratio}"
params:
- name: endpoint_ip
type: string
description: Endpoint IP address
- name: width
type: integer
description: "Pixels, max 1280 (default 1024)"
- name: height
type: integer
description: "Pixels, max 720 (default 576)"
- name: quality
type: integer
description: "10-100 in steps of 10 (default 60)"
- name: aspect_ratio
type: enum
description: "[0 (stretch), 1 (keep ratio, center)]"
- id: web_substream
label: Get Stream Substream Video (HTTP)
kind: query
command: "GET http://{endpoint_ip}:8080/stream&w={width}&h={height}&fps={frame_rate}&bw={bandwidth}&as={aspect_ratio}&mq={min_quality}"
params:
- name: endpoint_ip
type: string
description: Endpoint IP address
- name: width
type: integer
description: "Pixels, max 1280 (default 960)"
- name: height
type: integer
description: "Pixels, max 720 (default 540)"
- name: frame_rate
type: integer
description: "Frames per second (default 15)"
- name: bandwidth
type: integer
description: "Max bandwidth kb/s (default 8000)"
- name: aspect_ratio
type: enum
description: "[0 (stretch), 1 (keep ratio)]"
- name: min_quality
type: integer
description: "10-100 in steps of 10 (default 10)"
Feedbacks
# LW3 responses use 2-char prefixes:
# pr = read-only property value, pw = read-write property value,
# mO = method success, mF = method failure, mE = method error,
# nE / pE = node/property error. CHG = async change notification (when subscribed).
- id: product_name_response
type: string
values: [] # e.g. "GVN-MMU-X100" (MMU), "GVN-HDMI-TX210AP" (endpoint)
- id: serial_number_response
type: string
values: []
- id: package_version_response
type: string
values: [] # e.g. "v1.1.0"
- id: mac_address_response
type: string
values: [] # colon-separated MAC
- id: signal_present
type: enum
values: ["true", "false"]
- id: active_resolution
type: string
values: [] # <pixels>x<lines>
- id: total_resolution
type: string
values: [] # <pixels>x<lines> including blanking
- id: refresh_rate
type: string
values: [] # Hz, e.g. "60.00"
- id: signal_type
type: enum
values: ["N/A", "DVI", "HDMI", "DP"]
- id: connected_status
type: enum
values: ["true", "false"]
- id: edid_validity
type: enum
values: ["true", "false"]
- id: edid_preferred_resolution
type: string
values: [] # e.g. "1280x768p50.00Hz"
- id: device_count
type: integer
values: []
- id: ip_address
type: string
values: [] # CIDR, e.g. "192.168.0.135/24"
- id: gateway_address
type: string
values: []
- id: discovery_id
type: string
values: [] # <TX|RX>-<MAC>
- id: device_map_id
type: string
values: [] # e.g. "X1"
- id: async_change_notification
type: string
values: [] # CHG /<path>.<prop>=<value>, emitted to subscribed connections on property change
# UNRESOLVED: full enumeration of every device-specific property change notification not exhaustively tabulated in source
Variables
- id: device_label
type: string
description: "MMU (/MANAGEMENT/DEVICE.DeviceLabel) or endpoint (/ENDPOINTS/DEVICEMAP/<id>/MANAGEMENT.DeviceLabel). ASCII, max 63 chars."
- id: hostname
type: string
description: "/MANAGEMENT/DEVICE.HostName. [A-Za-z0-9-] only."
- id: audio_volume_percent
type: integer
description: "/MEDIA/AUDIO/<audio_out>/VOLUME.VolumePercent, 0-100."
- id: audio_mute
type: enum
description: "/MEDIA/AUDIO/<audio_out>/VOLUME.Mute [true, false]."
- id: signal_loss_timeout
type: integer
description: "/MEDIA/VIDEO/<destination>/SCREEN.SignalLossTimeout, 100-60000 ms."
- id: show_osd
type: enum
description: "/MEDIA/VIDEO/<destination>/SCREEN.ShowOSD [true, false]."
- id: signal_loss_handling
type: enum
description: "/MEDIA/VIDEO/<destination>/SCREEN.SignalLossHandling [DefaultLogo, BlackScreen, DisableHDMIOut]."
- id: autoselect_policy
type: enum
description: "/MEDIA/VIDEO/<destination>/AUTOSELECT.Policy [Off, Last detect, Priority]."
- id: serial_baudrate
type: enum
description: "/MEDIA/SERIAL/<port>.Baudrate [9600, 19200, 38400, 57600, 115200]."
- id: serial_parity
type: enum
description: "/MEDIA/SERIAL/<port>.Parity [None, Odd, Even]."
- id: serial_stop_bits
type: enum
description: "/MEDIA/SERIAL/<port>.StopBits [1, 2]."
- id: serial_operation_mode
type: enum
description: "/MEDIA/SERIAL/<port>.OperationMode [Transparent, AvNetworkInjection, None]."
Events
# LW3 asynchronous "change" notifications: when a subscribed node's property changes,
# the device emits an unsolicited message on the subscribing connection:
# CHG /<node_path>.<Property>=<value>
# Example: CHG /EDID.EdidStatus=F48:E201
# Subscriptions are per-connection and cleared when the connection closes.
# UNRESOLVED: full list of notifiable properties per endpoint not exhaustively tabulated in source.
Macros
# No explicit multi-step command sequences documented as named macros in source.
# UNRESOLVED: none defined.
Safety
confirmation_required_for:
- mmu_factory_defaults # restores factory defaults for MMU AND all connected endpoints; terminates connections
- ep_factory_defaults # per-endpoint factory reset; terminates connections
- mmu_reboot # terminates all current connections (RS-232, USB, TCP)
- ep_reboot # terminates endpoint connections
- sec_set_http_enabled # disabling all service ports (HTTP+HTTPS+LW3) can lock out remote access
- sec_set_https_enabled
- sec_set_lw3_enabled
interlocks:
- "Disabling both HTTP (80) and HTTPS (443) makes backup download, time/date setting, and support package download unavailable."
- "If all service ports (HTTP, HTTPS, LW3) are disabled, connection can only be restored by calling factory defaults physically."
- "Authentication (HTTP/HTTPS) cannot be enabled until a password is set (>= 10 chars, <= 100 chars, UTF-8)."
- "Basic auth password is NOT encrypted when used over plain HTTP; use HTTPS/WSS for confidentiality."
- "Changing USB-A port DataEnabled requires re-switching the crosspoint, otherwise USB devices may not appear on the network."
- "Audio Follow Video and USB Follow Video, when re-enabled, realign audio/USB crosspoints to match video."
# UNRESOLVED: no power-on sequencing or electrical interlock procedures stated in source.
Notes
- The RX110AP is a GVN series receiver (RX) endpoint; it is normally controlled via the GVN-MMU-X100 matrix management unit. Most LW3 commands are sent to the MMU and target endpoints by device-map ID (
X1,X2, ...). Source/destination stream tokens use the form<dev_map_id>_<port_type>(e.g.X4_NATIVE_IN,X6_NATIVE_OUT). - LW3 is ASCII, case-sensitive, CrLf-terminated; max line length 800 bytes; max 10 concurrent LW3 clients (includes the LDC GUI); max 512 subscriptions; max 128 crosspoint updates per
switchAll. - An optional 4-hex-digit signature may prefix a command (
<sig>#<cmd>) to group a multi-line response between{<sig> ... }braces. - Escape characters
\ { } # % ( ) \r \n \twith a backslash when used inside property values or method parameters. - Default IP address of an endpoint:
192.168.0.100. Default LW3 port:6107, raw TCP connection. - No-signal-screen, OSD, and signal-loss-timeout settings are RX-specific and require an endpoint reboot to take effect.
- Snapshot/substream HTTP endpoints revert to defaults on reboot (configuration via built-in web is not persisted).
- Stream-name default format (FW v1.8.0b9+):
<MAC_address>.<endpoint_type> <dev_map_ID>(e.g.A8:D2:36:02:9E:5D.S1-X3); endpoint typeS1= transmitter,D1= receiver.
Provenance
source_domains:
- assets.prod.pim.lightware.com
- go.lightware.com
source_urls:
- https://assets.prod.pim.lightware.com/assets/File-Downloads/Guides-and-Manuals/User-Manual/GVN_series_UserManual.pdf
- "https://assets.prod.pim.lightware.com/assets/File-Downloads/Guides-and-Manuals/Application-Note/Lightware's_Open_API_Environment.pdf"
- https://assets.prod.pim.lightware.com/assets/File-Downloads/Guides-and-Manuals/Application-Note/Installation_and_Network_Setup_Guide_for_GVN_Extenders.pdf
- https://go.lightware.com/open-api-environment
retrieved_at: 2026-08-10T21:13:54.622Z
last_checked_at: 2026-08-19T09:30:10.851Z
Verification Summary
verdict: verified
checked_at: 2026-08-19T09:30:10.851Z
matched_actions: 84
action_count: 84
confidence: medium
summary: "All 84 spec actions match LW3 command tokens in the refined source; transport ports 6107/6752/80/443/8080 and admin auth are documented. (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source is the GVN series user manual and covers the whole family (MMU + TX + RX endpoints); RX110AP-specific command subset, port counts, and electrical specs are not isolated. Voltage/power specs not stated."
- "full enumeration of every device-specific property change notification not exhaustively tabulated in source"
- "full list of notifiable properties per endpoint not exhaustively tabulated in source."
- "none defined."
- "no power-on sequencing or electrical interlock procedures stated in source."
- "RX110AP-specific port count (number of HDMI outputs, USB-A ports, analog audio ports) not isolated from family-level description."
- "electrical specs (power consumption, voltage, current) not stated in source."
- "firmware version compatibility for RX110AP not stated; doc references features by various FW thresholds (v1.0, v1.1.0, v1.5.0, v1.7.0, v1.8.0b9)."
- "HW variant differences (e.g. GVN-HC-TX220AP-DNT Dante products) called out in source do not clearly map to RX110AP capabilities."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0