Summary
The AT-UHD-CLSO-824 is an Atlona 8-input UHD switcher/scaler with HDBaseT and HDMI outputs. This spec covers the RS-232 and TCP/IP control protocol (Telnet-style ASCII commands terminated with CR/LF), including power, routing, EDID, HDCP, audio, and volume commands.
Transport
protocols:
- serial
- tcp
serial:
baud_rate: 115200 # default; switcher also accepts 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400 via CSpara
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
addressing:
# UNRESOLVED: default TCP port number not stated in source; configurable via IPPort X
port: null
auth:
# UNRESOLVED: source describes optional IPLogin mode (default username "root", password "Atlona") but does not state whether login is enabled or disabled by default. Source note: "Login mode should be in off position when the CLSO is used with control systems that do not support passwords."
type: null
Traits
- powerable # inferred from PWX / PWSTA commands
- routable # inferred from x1AVx2 / x1All routing commands
- queryable # inferred from PWSTA, VOUTx sta, IPCFG, System sta, etc.
- levelable # inferred from VOUT / VIN / VMic volume commands
Actions
# Power & System
- id: power
label: Power
kind: action
command: "PW{state}"
params:
- name: state
type: enum
values: [ON, OFF, STA]
description: Power state to set, or STA to query
- id: power_status
label: Power Status Query
kind: query
command: "PWSTA"
params: []
- id: system_status
label: System Status
kind: query
command: "System sta"
params: []
- id: hdvs_status
label: HDVS Status
kind: query
command: "HDVS sta"
params: []
- id: version
label: Firmware Version
kind: query
command: "Version {target}"
params:
- name: target
type: enum
values: [MCU, FPGA, OSD, DSP]
- id: type
label: Model Number
kind: query
command: "Type"
params: []
- id: lock
label: Lock Front Panel
kind: action
command: "Lock"
params: []
- id: unlock
label: Unlock Front Panel
kind: action
command: "Unlock"
params: []
# Route Commands
- id: route_all
label: Reset All Inputs To Outputs
kind: action
command: "All# {pair_spec}"
params:
- name: pair_spec
type: string
description: 'e.g. "x1AVx1, x2AVx2" - input/output pairs'
- id: output_video
label: Output Video On/Off/Status
kind: action
command: "x{output}$ {state}" # source: x2$ off — literal '$' delimiter between output and state
params:
- name: output
type: integer
- name: state
type: enum
values: [on, off, sta]
- id: input_to_all_outputs
label: Input To All Outputs
kind: action
command: "x{input}All"
params:
- name: input
type: integer
- id: switch_input_to_output
label: Switch Input To Output
kind: action
command: "x{input}AVx{output}"
params:
- name: input
type: integer
- name: output
type: integer
- id: switch_input_to_outputs
label: Switch Input To Multiple Outputs
kind: action
command: ">x{input}AV{outputs}" # source: >x1AVx1,x2 — leading '>' prefix for multi-output switch
params:
- name: input
type: integer
- name: outputs
type: string
description: 'Comma-separated output list, e.g. "x1,x2"'
- id: vga_mode
label: Set VGA Port Mode
kind: action
command: "VGAMSet {mode}"
params:
- name: mode
type: enum
values: [vga, comp]
- id: ir_on
label: Front Panel IR On
kind: action
command: "IRON"
params: []
- id: ir_off
label: Front Panel IR Off
kind: action
command: "IROFF"
params: []
- id: output_status
label: Output Status (Single)
kind: query
command: "Statusx{output}"
params:
- name: output
type: integer
- id: route_status
label: Current Routes Status
kind: query
command: "Status"
params: []
- id: save_route
label: Save Current Route
kind: action
command: "Save{memory}"
params:
- name: memory
type: integer
description: Memory slot number
- id: recall_route
label: Recall Saved Route
kind: action
command: "Recall{memory}"
params:
- name: memory
type: integer
# EDID Commands
- id: edid_default
label: Set Input EDID To Default
kind: action
command: "EDIDMSet{input} default"
params:
- name: input
type: integer
- id: edid_save
label: Set Input EDID To Saved Memory
kind: action
command: "EDIDMSet{input} save{memory}"
params:
- name: input
type: integer
- name: memory
type: integer
- id: edid_internal
label: Set Input EDID To Internal
kind: action
command: "EDIDMSet{input} int{internal}"
params:
- name: input
type: integer
- name: internal
type: integer
description: 'Internal EDID number (1-19)'
- id: edid_status
label: Input EDID Status
kind: query
command: "EDIDMSet{input} sta"
params:
- name: input
type: integer
- id: edid_copy_output
label: Copy Output EDID To Memory
kind: action
command: "EDIDOut{output} mem{memory}"
params:
- name: output
type: integer
- name: memory
type: integer
# VGA Preferred Timing
- id: vga_preferred_timing
label: Set VGA Preferred Timing
kind: action
command: "PrefTimg8 {timing}"
params:
- name: timing
type: integer
description: 'Timing index 0-7'
- id: vga_preferred_timing_status
label: VGA Preferred Timing Status
kind: query
command: "PrefTimgsta"
params: []
- id: list_pref
label: List Preferred Timings Or EDIDs
kind: query
command: "List {target}"
params:
- name: target
type: enum
values: [Pref, EDID]
# HDCP
- id: hdcp_set
label: Set HDCP Reporting Mode
kind: action
command: "HDCPSet{input} {mode}"
params:
- name: input
type: integer
- name: mode
type: enum
values: [on, off, sta]
# Audio
- id: analog_audio_source
label: Set Analog Output Audio Source
kind: action
command: "AUD{output} {port}"
params:
- name: output
type: integer
description: 'Analog output number (1-2)'
- name: port
type: integer
description: 'HDMI/HDBaseT port to follow'
- id: ducking
label: Set Audio Ducking
kind: action
command: "Ducking{output} {state}"
params:
- name: output
type: integer
- name: state
type: enum
values: [on, off]
- id: mixer_source
label: Set Analog Output Mixer Source
kind: action
command: "Mixer{output} {source}"
params:
- name: output
type: integer
- name: source
type: integer
description: 'Mixer source (0=None, 1=AUX1)'
# Volume
- id: set_mono
label: Set Analog Output Mono/Stereo
kind: action
command: "SetMono{output} {mode}"
params:
- name: output
type: integer
- name: mode
type: enum
values: [on, off]
description: 'on=mono, off=stereo'
- id: vout_up
label: Output Volume Up One Step
kind: action
command: "VOUT{zone} +"
params:
- name: zone
type: integer
- id: vout_down
label: Output Volume Down One Step
kind: action
command: "VOUT{zone} -"
params:
- name: zone
type: integer
- id: vout_set
label: Set Output Volume Level
kind: action
command: "VOUT{zone} {level}"
params:
- name: zone
type: integer
- name: level
type: integer
description: 'Volume in dB, -90 to 30'
- id: vout_status
label: Output Volume Status
kind: query
command: "VOUT{zone} sta"
params:
- name: zone
type: integer
- id: vin_up
label: Input Volume Up One Step
kind: action
command: "VIN{input} +"
params:
- name: input
type: integer
- id: vin_down
label: Input Volume Down One Step
kind: action
command: "VIN{input} -"
params:
- name: input
type: integer
- id: vin_set
label: Set Input Volume Level
kind: action
command: "VIN{input} {level}"
params:
- name: input
type: integer
- name: level
type: integer
description: 'Volume in dB'
- id: vin_status
label: Input Volume Status
kind: query
command: "VIN{input} sta"
params:
- name: input
type: integer
- id: vin_mute
label: Input Audio Mute
kind: action
command: "VINMute{input} {state}"
params:
- name: input
type: integer
description: '1=Cat5 in1, 2=Cat5 in2, 3=Cat5 in3, 4=HDMI4, 5=HDMI5, 6=HDMI6, 7=HDMI7, 8=VGA(LINE3), 9=AUX1-source, 10=AUX2-source'
- name: state
type: enum
values: [on, off, sta]
- id: vout_mute
label: Output Volume Mute
kind: action
command: "VOUTMute{output} {state}"
params:
- name: output
type: integer
- name: state
type: enum
values: [on, off]
- id: vmic_up
label: Mic Input Volume Up
kind: action
command: "VMic{mic} +"
params:
- name: mic
type: integer
- id: vmic_down
label: Mic Input Volume Down
kind: action
command: "VMic{mic} -"
params:
- name: mic
type: integer
- id: vmic_set
label: Set Mic Input Level
kind: action
command: "VMic{mic} {level}"
params:
- name: mic
type: integer
- name: level
type: integer
description: 'Mic level in dB'
- id: vmic_status
label: Mic Input Level Status
kind: query
command: "VMic{mic} sta"
params:
- name: mic
type: integer
# RS-232 Configuration
- id: cs_para
label: Set Switcher Serial Parameters
kind: action
command: "CSpara[{baud},{data},{parity},{stop}]"
params:
- name: baud
type: integer
description: 'Baud rate: 2400, 4800, 9600, 19200, 38400, 57600, 115200, or 230400'
- name: data
type: integer
description: 'Data bits (must be 8)'
- name: parity
type: integer
description: 'Parity (must be 0 = None)'
- name: stop
type: integer
description: 'Stop bits (must be 1)'
- id: rs232_para
label: Output RS-232 Parameters Status
kind: query
command: "RS232para"
params: []
# TCP/IP Commands
- id: ipcfg
label: IP Configuration Status
kind: query
command: "IPCFG"
params: []
- id: ip_timeout
label: Set TCP/IP Inactivity Timeout
kind: action
command: "IPTimeout {seconds}"
params:
- name: seconds
type: integer
description: 'Default 45 seconds'
- id: ip_quit
label: TCP/IP Logout
kind: action
command: "IPQuit"
params: []
- id: ip_add_user
label: List TCP/IP Users
kind: query
command: "IPAddUser"
params: []
- id: ip_add_user_create
label: Add TCP/IP User
kind: action
command: "IPAddUser {user} {password}"
params:
- name: user
type: string
- name: password
type: string
- id: ip_del_user
label: Delete TCP/IP User
kind: action
command: "IPDelUser {user}"
params:
- name: user
type: string
- id: ip_dhcp_status
label: DHCP Status
kind: query
command: "IPDHCP sta"
params: []
- id: ip_dhcp_on
label: DHCP On
kind: action
command: "IPDHCP on"
params: []
- id: ip_dhcp_off
label: DHCP Off
kind: action
command: "IPDHCP off"
params: []
- id: ip_static
label: Set Static IP
kind: action
command: "IPStatic {address} {netmask} {gateway}"
params:
- name: address
type: string
- name: netmask
type: string
- name: gateway
type: string
- id: ip_port
label: Set TCP/IP Port
kind: action
command: "IPPort {port}"
params:
- name: port
type: integer
- id: ip_login_status
label: IP Login Status
kind: query
command: "IPLogin sta"
params: []
- id: ip_login_on
label: Enable IP Login
kind: action
command: "IPLogin on"
params: []
- id: ip_login_off
label: Disable IP Login
kind: action
command: "IPLogin off"
params: []
- id: broadcast_status
label: Broadcast Mode Status
kind: query
command: "Broadcast sta"
params: []
- id: broadcast_on
label: Enable Broadcast Mode
kind: action
command: "Broadcast on"
params: []
- id: broadcast_off
label: Disable Broadcast Mode
kind: action
command: "Broadcast off"
params: []
- id: cli_mode
label: Set Control Device IP Mode
kind: action
command: "CliMode {mode}"
params:
- name: mode
type: enum
values: [sta, login, non-login]
- id: cli_user
label: Set IP Username
kind: action
command: "CliUser {username}"
params:
- name: username
type: string
description: 'Leave blank to display current username'
- id: cli_pass
label: Set IP Password
kind: action
command: "CliPass {password}"
params:
- name: password
type: string
- id: cli_ipaddr
label: Set Controlled Device IP Address
kind: action
command: "CliIPAddr {address}"
params:
- name: address
type: string
- id: cli_port
label: Set Controlled Device TCP/IP Port
kind: action
command: "CliPort {port}"
params:
- name: port
type: integer
- id: cli_netmask
label: Set Controlled Device Netmask
kind: action
command: "CliNetmask {netmask}"
params:
- name: netmask
type: string
- id: cli_gateway
label: Set Controlled Device Gateway
kind: action
command: "CliGateway {gateway}"
params:
- name: gateway
type: string
- id: cli_dns
label: Set Controlled Device DNS
kind: action
command: "CliDNS {dns}"
params:
- name: dns
type: string
- id: cli_dnsaddr
label: Set Controlled Device DNS Address
kind: action
command: "CliDNSAddr {address}"
params:
- name: address
type: string
Feedbacks
- id: power_state
type: enum
values: [PWON, PWOFF]
description: Returned by PWX / PWSTA
- id: command_failed
type: constant
value: "Command FAILED"
description: Returned when a command is incorrect or fails
- id: lock_state
type: enum
values: [Lock, Unlock]
description: Returned by Lock / Unlock commands
- id: hdcp_state
type: enum
values: [on, off, sta]
description: Returned by HDCPSetX Y
- id: vout_level
type: integer
description: Returned by VOUT commands; value in dB (-90 to 30)
- id: vin_level
type: integer
description: Returned by VIN commands; value in dB
- id: vmic_level
type: integer
description: Returned by VMic commands; value in dB
- id: route_pair
type: string
description: 'Returned by routing commands, e.g. "x3AVx2"'
- id: broadcast_state
type: enum
values: [on, off]
description: Returned by Broadcast commands
- id: ip_login_state
type: enum
values: [on, off]
description: Returned by IPLogin commands
- id: dhcp_state
type: enum
values: [on, off]
description: Returned by IPDHCP commands
Variables
# No source-described persistent settable variables beyond the action parameter space.
# UNRESOLVED: none observed beyond commands above
Events
# Source mentions unsolicited display-control strings sent by HDVS devices via RS-232 master port:
# "#*PORTx[WP_Display[Off]$ CR ] CR" and "#*PORTx[WP_Display[On]$ CR ] CR"
# and query "RS232zoneX[WP_Display[?]$ CR ] CR".
# These are HDVS→CLSO events, not CLSO events.
# UNRESOLVED: no device-originated unsolicited notifications documented
Macros
# UNRESOLVED: no multi-step sequences documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings, interlock procedures, or power-on sequencing requirements found in source
Notes
All commands (TCP/IP) must be terminated with carriage return + line feed. Feedback is also terminated with CR/LF. Commands are case-sensitive.
RS-232 default: 115200 bps, 8 data bits, no parity, 1 stop bit, no flow control. Switcher also accepts 2400, 4800, 9600, 19200, 38400, 57600, 230400 via CSpara command. Per source, when changing CSpara the data/parity/stop must remain 8/0/1.
RS-232 DB9 pin convention: pin 2 TX, pin 3 RX, pin 5 ground (some devices reverse pins 2/3).
TCP/IP auth: optional via IPLogin. When enabled, default credentials are username "root" / password "Atlona" (same as webGUI). Source recommends leaving IPLogin off when integrating with control systems that do not support passwords.
Default TCP/IP inactivity timeout: 45 seconds (IPTimeout). Default broadcast mode: on.
There are 15 RS-232 zones on the back of the switcher: zones 1-10 are RS-232 ports, zone 11-13 are HDBaseT input ports 1-3, zones 14-15 are HDBaseT output ports 1-2.
Internal EDID presets numbered 1-19 are listed in the source (e.g. 01 2160P60 Multi CH, 02 2160P60 2CH, ..., 19 800x600 RGB 2CH).
VGA preferred timing indices: 00 Default, 03 1280x800, 06 1280x720.
Analog output mixer source mapping: Analog Out 1 → 1=AFV HDMI/HDBaseT Out 1, 3=AUX1; Analog Out 2 → 1=AFV HDMI/HDBaseT Out 2, 3=AUX1.
Provenance
source_domains:
- atlona.com
source_urls:
- https://atlona.com/pdf/manuals/AT-UHD-CLSO-824_V7.pdf
- https://atlona.com/pdf/manuals/AT-UHD-CLSO-612ED_V2.pdf
- https://atlona.com/pdf/manuals/AT-UHD-CLSO-601_V3.pdf
retrieved_at: 2026-05-22T15:17:53.224Z
last_checked_at: 2026-06-02T21:39:56.445Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:39:56.445Z
matched_actions: 75
action_count: 75
confidence: medium
summary: "All 75 spec actions matched verbatim with correct shapes after drift fixes; both output_video '$' delimiter and switch_input_to_outputs '>' prefix now match source; transport confirmed. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "default TCP/IP port number not stated in source (only that the port is configurable via IPPort X)"
- "default TCP port number not stated in source; configurable via IPPort X"
- "source describes optional IPLogin mode (default username \"root\", password \"Atlona\") but does not state whether login is enabled or disabled by default. Source note: \"Login mode should be in off position when the CLSO is used with control systems that do not support passwords.\""
- "none observed beyond commands above"
- "no device-originated unsolicited notifications documented"
- "no multi-step sequences documented in source"
- "no safety warnings, interlock procedures, or power-on sequencing requirements found in source"
- "default TCP/IP port number (only that IPPort X is configurable); IPLogin default state (on or off); firmware version compatibility range"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0