Summary
The Lightware UCX-4x2-HC30D is a Taurus UCX-series HDMI/USB-C matrix switcher with built-in LARA (Lightware Advanced Room Automation) for room control. This spec covers the LARA Taurus UCX/MMX2 Driver Module control surface (section 4.3 of the LARA reference), the CEC-over-REST sink-control surface (section 4.4), and the occupancy-sensor / serial-message scripting surface (section 4.6). The underlying device control protocol is LW3 over TCP / WebSocket; the LARA web UI is exposed on HTTPS.
Transport
protocols:
- tcp # LW3 protocol - Raw TCP, Websocket, or Secure Websocket per section 4.3
- http # REST API used by CEC module (section 4.4) and Generic REST client (section 4.5)
addressing:
port: null # UNRESOLVED: LW3 wire port not stated in source (6107 is the Lightware LW3 convention but is not asserted here)
base_url: "https://<IP>/lara" # LARA web UI; port 443 must be enabled
serial:
baud_rate: 9600 # example value stated in section 4.6 parameter list
data_bits: null # UNRESOLVED: section 4.6 lists baudRate/stopBits/parity only; data bits not stated
parity: none
stop_bits: 1
flow_control: null # UNRESOLVED: no flow-control parameter documented in section 4.6
auth:
type: basic # inferred: section 4.3 lists "Raw TCP - basic authentication" and LARA web UI uses admin + password login on port 443
Traits
- routable # inferred: switchCrosspoint method + sourceInputChanged event across AUDIO/VIDEO/USB layers
- queryable # inferred: get / open / callMethod primitives and LW3-property-changed subscription events
- levelable # inferred: changeAnalogAudioVolumeDB and changeAnalogAudioVolumePercent methods
Actions
# LARA Taurus UCX/MMX2 Driver Module (section 4.3).
# Commands are LARA module method names (script-level surface).
# LW3 wire-level commands are reached via the callMethod action (e.g. callMethod on /V1/MEDIA/GPIO/P4 with method toggle()).
- id: get_lw3_property
label: Get LW3 Property
kind: query
command: "get"
params:
- name: path
type: string
description: LW3 node path (e.g. /V1/MEDIA/VIDEO/...)
- name: property
type: string
description: Property name under path
- id: set_lw3_property
label: Set LW3 Property
kind: action
command: "set"
params:
- name: path
type: string
- name: property
type: string
- name: value
type: string
- id: open_lw3_node
label: Subscribe to LW3 Node
kind: action
command: "open"
params:
- name: path
type: string
description: LW3 node path to subscribe
- id: close_lw3_node
label: Unsubscribe from LW3 Node
kind: action
command: "close"
params:
- name: path
type: string
- id: call_lw3_method
label: Call LW3 Method
kind: action
command: "callMethod"
params:
- name: path
type: string
- name: method
type: string
- name: parameters
type: string
description: Optional method parameters; wildcard (*) is not allowed in path
- id: switch_crosspoint
label: Switch Crosspoint
kind: action
command: "switchCrosspoint"
params:
- name: layer
type: string
description: AUDIO | VIDEO | USB (USB only on specific models)
- name: outputPort
type: integer
- name: sourcePort
type: integer
- id: set_gpio_direction
label: Set GPIO Direction
kind: action
command: "setGpioDirection"
params:
- name: port
type: string
description: GPIO port identifier (e.g. P4)
- name: direction
type: string
description: Input | Output
- id: set_gpio_state
label: Set GPIO State
kind: action
command: "setGpioState"
params:
- name: port
type: string
- name: state
type: string
description: low | high
- id: emulate_edid
label: Emulate EDID
kind: action
command: "emulateEdid"
params:
- name: source
type: string
description: factory | dynamic | user
- name: destination
type: string
description: emulated
- id: upload_edid
label: Upload User EDID
kind: action
command: "uploadEdid"
params:
- name: target
type: string
- name: data
type: string
description: HEX-format EDID blob
- id: set_analog_audio_volume_db
label: Set Analog Audio Volume (dB)
kind: action
command: "changeAnalogAudioVolumeDB"
params:
- name: port
type: string
- name: value
type: number
description: dB value
- id: set_analog_audio_volume_percent
label: Set Analog Audio Volume (%)
kind: action
command: "changeAnalogAudioVolumePercent"
params:
- name: port
type: string
- name: value
type: number
description: 0-100 percentage
# CEC module (section 4.4) - sent over REST to the sink on a UCX HDMI output
- id: cec_power_on
label: CEC Power On
kind: action
command: "powerOn"
- id: cec_image_view_on
label: CEC Image View On
kind: action
command: "imageViewOn"
notes: "Fallback when powerOn does not work."
- id: cec_power_off
label: CEC Power Off
kind: action
command: "powerOff"
- id: cec_standby
label: CEC Standby
kind: action
command: "standby"
notes: "Fallback when powerOff does not work."
- id: cec_mute
label: CEC Mute
kind: action
command: "mute"
- id: cec_unmute
label: CEC Unmute
kind: action
command: "unmute"
- id: cec_volume_up
label: CEC Volume Up
kind: action
command: "volumeUp"
- id: cec_volume_down
label: CEC Volume Down
kind: action
command: "volumeDown"
- id: cec_custom_command
label: CEC Custom Command
kind: action
command: "customCommand"
params:
- name: command
type: string
description: HEX string (hex chars only; spaces permitted as delimiters)
- id: cec_idle_polling_frequency
label: CEC Idle Polling Frequency
kind: action
command: "idlePollingFrequency"
params:
- name: seconds
type: integer
description: Polling interval; 0 disables idle polling
# GPIO toggle via LW3 callMethod (GPIO Control section)
- id: gpio_toggle_lw3
label: GPIO Toggle (LW3 callMethod)
kind: action
command: "callMethod"
notes: "Example: path /V1/MEDIA/GPIO/P4, method toggle()"
params:
- name: path
type: string
description: e.g. /V1/MEDIA/GPIO/P4
- name: method
type: string
description: e.g. toggle()
Feedbacks
- id: connection_state
type: enum
values: [connected, disconnected]
notes: "Taurus UCX/MMX2 driver connected/disconnected events."
- id: overall_health
type: string
notes: "Mirrors /V1/MANAGEMENT/HEALTH/OverallHealthState (overallHealthChanged event)."
- id: source_input_changed
type: object
notes: "Fires when another source is switched to a specified output. Carries outputPort, sourcePort."
- id: output_connected_status
type: boolean
notes: "Sink device connection state per outputPort (outputConnectedStatusChanged event)."
- id: output_signal_present
type: boolean
notes: "Signal presence per outputPort (outputSignalPresentStatusChanged event)."
- id: usb_host
type: string
notes: "Currently selected USB host sourcePort (usbHostChanged event)."
- id: lw3_property_changed
type: object
notes: "Any subscribed LW3 property changed. Carries path, property, value."
- id: cec_availability
type: enum
values: [available, unavailable]
notes: "Sink responds to CEC REST requests (availableOnCEC / unavailableOnCEC)."
- id: cec_error
type: string
notes: "CEC command send was not successful (CEC error event)."
- id: gpio_state_changed
type: object
notes: "GPIO input state changed. Carries port, value (low | high)."
- id: health_alert
type: object
notes: "Specific /V1/MANAGEMENT/HEALTH property changed. Carries property, value."
- id: ocs_status
type: enum
values: [low, high]
notes: "Occupancy sensor state (section 4.6 ocsStatusChanged event)."
Variables
# UNRESOLVED: the full set of settable LW3 properties (the LW3 node tree) is not
# enumerated in this LARA module reference; populate from the device's LW3 Programmer
# Guide if/when it is ingested.
Events
# Observable state changes are captured in the Feedbacks section above.
# UNRESOLVED: the source does not document unsolicited out-of-band notifications
# beyond the LARA event channels listed there.
Macros
# UNRESOLVED: no multi-step sequences or named routines are documented in this source.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings, interlocks, or power-on sequencing procedures
# are described in this LARA module reference.
Notes
- Source document is the Lightware Advanced Room Automation (LARA) Protocol Reference; the UCX-specific surface is section 4.3 (Taurus UCX/MMX2 Driver Module). UCX-4x2-HC30D is in the explicit model list at line 80.
- LARA web UI:
https://<IP>/lara; port 443 must be enabled (Settings/Services tab). Login is useradmin+ password. Session timeout 25 min (prompt to continue), 2 h auto-logout. - LARA module connection types to the UCX device: Raw TCP, Websocket, Secure Websocket. Auth options: none or basic authentication.
- NTP must be set (Settings/System tab) for time-sensitive LARA Rules.
- CEC commands (section 4.4) are sent to the downstream sink over the UCX REST API; port 80 (HTTP) or 443 (HTTPS), with optional basic authentication.
- Section 4.6 (Occupancy Sensor / Serial Message Module) documents serial-port configuration on the UCX: port identifier (e.g. P1), baud rate (example 9600), stop bits (example 1), parity (example None). Message types: string (unicode allowed, e.g.
\u000dfor CR) or HEX (A0B1,A0 B1,0xA0 0xB1,\xA0 \xB1formats all accepted). - The full LW3 wire-level command catalogue (path/method/parameter grammar) is NOT in this source; this spec represents the LARA module surface that wraps LW3, plus the explicit CEC command set. The LW3 Programmer Guide is the authoritative source for wire-level commands and was not available for this draft.
Provenance
source_domains:
- archive.lightware.com
- ivojo.co.uk
- aveosystems.com
- lightware.com
source_urls:
- https://archive.lightware.com/pub/media/lightware/filedownloader/file/User-Manual/LARA_UsersManual_for_v120b37.pdf
- https://www.ivojo.co.uk/instruction-books/lightware/lightware-ucx-4x2-hc40d.pdf
- https://aveosystems.com/wp-content/uploads/product_pdfs/Lightware_Mira_Connect.pdf
- https://www.ivojo.co.uk/instruction-books/lightware/lightware-ucx-4x2-hc30d.pdf
- https://www.lightware.com/en/support/online-user-manuals
retrieved_at: 2026-05-13T05:56:11.478Z
last_checked_at: 2026-06-02T17:23:12.879Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T17:23:12.879Z
matched_actions: 23
action_count: 23
confidence: medium
summary: "All 23 spec actions matched verbatim to source §4.3/§4.4 method names; transport values base_url/baud_rate/parity/stop_bits/auth all confirmed in source; UNRESOLVED nulls correctly skipped. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "LW3 wire port number not stated in this source (6107 is the Lightware convention but is NOT asserted here)"
- "LW3 wire port not stated in source (6107 is the Lightware LW3 convention but is not asserted here)"
- "section 4.6 lists baudRate/stopBits/parity only; data bits not stated"
- "no flow-control parameter documented in section 4.6"
- "the full set of settable LW3 properties (the LW3 node tree) is not"
- "the source does not document unsolicited out-of-band notifications"
- "no multi-step sequences or named routines are documented in this source."
- "no safety warnings, interlocks, or power-on sequencing procedures"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0