Summary
Atlona 4×4 HDMI matrix switcher with TCP/IP and RS-232 control. Supports Telnet on port 23, HTTP on port 80, configurable serial RS-232, audio volume control, preset routing, and user authentication. Command terminator is carriage-return (0x0d); feedback terminates with CR+LF (0x0a).
Transport
protocols:
- tcp
- serial
addressing:
port: 23 # Telnet default port
base_url: http://{device_ip}
serial:
baud_rate: 9600 # UNRESOLVED: default baud rate not stated; CSpara sets 115200 max
data_bits: 8
parity: none
stop_bits: 1
auth:
type: login # IPLogin defaults to on; credentials required for Telnet
credentials: user/password # configured via IPAddUser
Traits
- powerable # PWON, PWOFF present
- routable # x?AVx? routing commands present
- queryable # PWSTA, Status, IPCFG, Version present
- levelable # VOUT volume control present
Actions
- id: power_on
label: Power On
kind: action
command: "PWON"
params: []
- id: power_off
label: Power Off
kind: action
command: "PWOFF"
params: []
- id: power_status
label: Power Status
kind: query
command: "PWSTA"
params: []
- id: route_input_to_output
label: Route Input to Output(s)
kind: action
command: "x{input}AVx{outputs}"
params:
- name: input
type: integer
description: Input number (1-4)
- name: outputs
type: string
description: Output(s) separated by commas, no spaces (1-5). Source example x3AVx2,x3,x4
- id: route_input_to_all
label: Route Input to All Outputs
kind: action
command: "x{input}All"
params:
- name: input
type: integer
description: Input number (1-4)
- id: enable_output
label: Enable Output Channel
kind: action
command: "x{channel}${state}"
params:
- name: channel
type: integer
description: Output channel (1-4)
- name: state
type: string
enum: [on, off, sta]
- id: save_preset
label: Save Preset
kind: action
command: "Save{preset}"
params:
- name: preset
type: integer
description: Preset number (1-50)
- id: recall_preset
label: Recall Preset
kind: action
command: "Recall{preset}"
params:
- name: preset
type: integer
description: Preset number (1-50)
- id: clear_preset
label: Clear Preset
kind: action
command: "Clear{preset}"
params:
- name: preset
type: integer
description: Preset number (1-50)
- id: reset_factory_default
label: Reset to Factory Default
kind: action
command: "Mreset"
params: []
- id: reset_matrix
label: Reset Matrix (One-to-One Routing)
kind: action
command: "All#"
params: []
- id: volume_out
label: Set Output Volume
kind: action
command: "VOUT{output} {level}"
params:
- name: output
type: integer
description: Output number (1-5, 7)
- name: level
type: number
description: Volume in dB (-79 to +15) or increment/decrement (+/-)
- id: volume_mute
label: Set Volume Mute
kind: action
command: "VOUTMute{zone} {state}"
params:
- name: zone
type: integer
description: Zone number (1-4)
- name: state
type: string
enum: [on, off, sta]
- id: set_edid
label: Set EDID for Input
kind: action
command: "EDIDMSet{input} {edid}"
params:
- name: input
type: integer
description: Input number (1-4)
- name: edid
type: string
description: EDID selection (default, save1-save10, int1-int23, sta)
- id: mirror_hdmi
label: Mirror HDMI Output
kind: action
command: "MirrorHdmi{hdmi_output} {video_output}"
params:
- name: hdmi_output
type: integer
description: HDMI output port (5)
- name: video_output
type: string
description: Video output (Out1-Out4)
- id: unmirror_hdmi
label: Unmirror HDMI Output
kind: action
command: "UnMirror{hdmi_output}"
params:
- name: hdmi_output
type: integer
description: HDMI output port (5)
- id: set_baud_rate
label: Set RS-232 Master Port Parameters
kind: action
command: "CSpara[{baud_rate},{data_bits},{parity},{stop_bits}]"
params:
- name: baud_rate
type: integer
enum: [2400, 4800, 9600, 19200, 38400, 57600, 115200]
- name: data_bits
type: integer
enum: [7, 8]
- name: parity
type: integer
enum: [0, 1, 2] # 0=None, 1=Odd, 2=Even
- name: stop_bits
type: integer
enum: [1, 2]
notes: "CSpara sets the MASTER serial port. Use sta (no brackets, with space) to query."
- id: rs232para_zone
label: Set RS-232 HDBaseT Zone Port Parameters
kind: action
command: "RS232para[{baud_rate},{data_bits},{parity},{stop_bits}]"
params:
- name: baud_rate
type: integer
enum: [2400, 9600, 19200, 38400, 56000, 57600, 115200]
- name: data_bits
type: integer
enum: [7, 8]
- name: parity
type: integer
enum: [0, 1, 2] # 0=None, 1=Odd, 2=Even
- name: stop_bits
type: integer
enum: [1, 2]
notes: "RS232para sets RS-232 over the HDBaseT (ZONE OUT) ports - distinct from CSpara (master port). Use 'RS232para sta' (no brackets, with space) to query."
- id: rs232_zone_command
label: RS-232 Zone Command
kind: action
command: "RS232zone{zone}[{command}]"
params:
- name: zone
type: integer
description: Output port zone (1-4)
- name: command
type: string
description: Command string (no spaces)
- id: lock_front_panel
label: Lock Front Panel
kind: action
command: "Lock"
params: []
- id: unlock_front_panel
label: Unlock Front Panel
kind: action
command: "Unlock"
params: []
- id: enable_ir
label: Enable IR Window
kind: action
command: "IRON"
params: []
- id: disable_ir
label: Disable IR Window
kind: action
command: "IROFF"
params: []
- id: enable_syslock
label: Enable SSH Lock
kind: action
command: "syslock {state}"
params:
- name: state
type: string
enum: [on, off, sta]
- id: set_static_ip
label: Set Static IP Configuration
kind: action
command: "IPStatic {ip_address} {subnet_mask} {gateway}"
params:
- name: ip_address
type: string
description: IP address (dot-decimal)
- name: subnet_mask
type: string
description: Subnet mask (dot-decimal)
- name: gateway
type: string
description: Gateway address (dot-decimal)
- id: enable_dhcp
label: Enable DHCP
kind: action
command: "IPDHCP {state}"
params:
- name: state
type: string
enum: [on, off, sta]
- id: add_ip_user
label: Add IP User
kind: action
command: "IPAddUser {username} {password}"
params:
- name: username
type: string
description: User name (max 20 chars)
- name: password
type: string
description: Password (max 20 chars)
- id: delete_ip_user
label: Delete IP User
kind: action
command: "IPDelUser {username}"
params:
- name: username
type: string
- id: change_ip_password
label: Change IP Password
kind: action
command: "IPChangePass {username} {old_password} {new_password} {confirm_password}"
params:
- name: username
type: string
- name: old_password
type: string
- name: new_password
type: string
- name: confirm_password
type: string
- id: enable_login
label: Enable Login Requirement
kind: action
command: "IPLogin {state}"
params:
- name: state
type: string
enum: [on, off, sta]
- id: set_telnet_port
label: Set Telnet Port
kind: action
command: "IPPort {port}"
params:
- name: port
type: integer
description: Port number (0-65535)
- id: set_http_port
label: Set HTTP Port
kind: action
command: "HTTPPort {port}"
params:
- name: port
type: integer
description: Port number (0-65535)
- id: set_timeout
label: Set Telnet Timeout
kind: action
command: "IPTimeout {seconds}"
params:
- name: seconds
type: integer
description: Timeout in seconds (1-60000)
- id: set_host_name
label: Set Host Name
kind: action
command: "set_host_name {name}"
params:
- name: name
type: string
description: Host name string (max 40 chars, no spaces)
- id: show_host_name
label: Show Host Name
kind: query
command: "show_host_name"
params: []
- id: enable_broadcast
label: Enable Broadcast Mode
kind: action
command: "Broadcast {state}"
params:
- name: state
type: string
enum: [on, off, sta]
- id: blink_power
label: Blink Power LED
kind: action
command: "Blink {state}"
params:
- name: state
type: string
enum: [on, off, sta]
- id: save_edid
label: Save EDID to Memory
kind: action
command: "EDIDOut{output} {memory}"
params:
- name: output
type: integer
description: Output number (1-4)
- name: memory
type: string
description: Memory location (save1-save10)
- id: sddp_announce
label: Send SDDP Announcement
kind: action
command: "sddp_announce"
params: []
- id: telnet_quit
label: Close Telnet Session
kind: action
command: "IPQuit"
params: []
- id: get_type
label: Get Model Type
kind: query
command: "Type {detail}"
params:
- name: detail
type: string
enum: [full]
description: Optional full argument (omit for model only)
- id: get_version
label: Get Firmware Version
kind: query
command: "Version"
params: []
- id: get_network_config
label: Get Network Configuration
kind: query
command: "IPCFG"
params: []
- id: get_status
label: Get Routing Status
kind: query
command: "Status"
params: []
- id: get_output_status
label: Get Output Routing Status
kind: query
command: "Statusx {output}"
params:
- name: output
type: integer
description: Output number (1-5)
- id: help
label: Display Available Commands
kind: query
command: "help {command_name}"
params:
- name: command_name
type: string
description: Optional command name to get specific help (omit to list all commands)
Feedbacks
- id: power_state
type: enum
values: [PWON, PWOFF]
- id: routing_status
type: string
description: Format x1AVx1,x2AVx2,x3AVx3,x4AVx4 for each output
- id: network_config
type: string
description: "MAC addr, IP addr, Netmask, Gateway, Web Port, IP Port"
- id: serial_params
type: string
description: "Format: baud_rate,data_bits,parity,stop_bits"
- id: volume_level
type: string
description: "Format: VOUTn value"
- id: mute_state
type: enum
values: [on, off]
- id: output_state
type: enum
values: [on, off]
- id: edid_setting
type: string
description: "EDID assignment confirmation"
- id: login_state
type: enum
values: [on, off]
- id: dhcp_state
type: enum
values: [on, off]
- id: broadcast_state
type: enum
values: [on, off]
- id: blink_state
type: enum
values: [on, off]
- id: telnet_connection_lost
type: string
value: "Connection lost..."
description: Sent when Telnet session closes
- id: model_type
type: string
- id: firmware_version
type: string
description: "Format: Firmware x.x.xx"
- id: host_name
type: string
- id: sddp_processed
type: string
value: "SDDP Announcement processed!"
- id: preset_saved
type: string
- id: preset_cleared
type: string
- id: factory_reset
type: string
- id: matrix_reset
type: string
value: "All#"
- id: help_list
type: string
description: "Available command list"
- id: command_failed
type: string
value: "Command FAILED"
description: Returned when a command fails or is entered incorrectly
Variables
# UNRESOLVED: no standalone settable parameter variables beyond action params
Events
# UNRESOLVED: no unsolicited event notifications described in source
Macros
# UNRESOLVED: no explicit multi-step macro sequences in source
Safety
confirmation_required_for: []
interlocks:
- id: syslock_ssh
description: "When syslock is enabled, web server shuts down and all ports close except SSH (TCP 22). Local RS-232 master port remains active."
- id: static_ip_before_manual
description: "Setting static IP requires DHCP to be disabled first via IPDHCP command."
Notes
Command terminator: carriage-return (0x0d). Feedback terminator: carriage-return + line-feed (0x0a). All commands are case-sensitive and must be entered as documented. If a command fails or is entered incorrectly, the feedback is "Command FAILED". Telnet default port 23, HTTP default port 80. Default IPLogin is on (login required). Default DHCP is on. Default Telnet timeout is 300 seconds. Default static IP is 192.168.1.254. Blink command causes POWER LED to flash blue for physical identification. syslock enables SSH on TCP 22 and shuts down web server. CSpara configures the MASTER RS-232 port; RS232para configures the HDBaseT (ZONE OUT) RS-232 ports — these are distinct commands. RS232zone passes commands through to connected display devices.
Changes: +3 actions (`rs232para_zone`, `show_host_name`, `help`), added verbatim `command:` payload to all 44 actions, added `sta` to output/mute enums (source lists it), +1 feedback (`command_failed`), CSpara label clarified as master port, notes updated re: CSpara vs RS232para distinction + case-sensitivity + default static IP.
## Provenance
```yaml
source_domains:
- atlona.com
source_urls:
- https://atlona.com/pdf/AT-UHD-PRO3-44M_API.pdf
- https://atlona.com/pdf/AT-UHD-PRO3-66M_API.pdf
- https://atlona.com/pdf/AT-UHD-PRO3-88M_API.pdf
- https://atlona.com/pdf/AT-UHD-PRO3-1616M_API.pdf
- https://atlona.com/pdf/manuals/AT-UHD-PRO3-44M.pdf
retrieved_at: 2026-04-29T11:04:01.368Z
last_checked_at: 2026-07-12T08:45:04.868Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-07-12T08:45:04.868Z
matched_actions: 46
action_count: 46
confidence: medium
summary: "All 46 spec actions matched literally in source; transport parameters verified; bidirectional coverage. (8 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "RS-232 baud rate defaults not stated for local control port; CSpara sets it"
- "default baud rate not stated; CSpara sets 115200 max"
- "no standalone settable parameter variables beyond action params"
- "no unsolicited event notifications described in source"
- "no explicit multi-step macro sequences in source"
- "local RS-232 master port default baud rate not stated in source"
- "EDID custom memory save/load details not fully specified"
- "SDDP protocol details not documented in this spec excerpt"
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0