Summary
4K/UHD four-input HDMI switcher with auto-switching and optical audio return. ASCII command protocol over Telnet (TCP/IP port 23) and RS-232, terminated with carriage return (0x0d); feedback terminated with CR+LF (0x0a 0x0d). Web GUI also accessible on HTTP port 80. Source covers both AT-JUNO-451 and AT-JUNO-451-HDBT (HDBT variant discontinued, replaced by AT-OPUS-RX41).
Transport
protocols:
- tcp
- serial
- http
addressing:
port: 23
base_url: http://<ip>/
serial:
baud_rate: 9600 # default per Atlona convention; CSpara may change at runtime. UNRESOLVED: explicit default not stated in source.
data_bits: 8 # UNRESOLVED: default not stated in source
parity: none # UNRESOLVED: default not stated in source
stop_bits: 1 # UNRESOLVED: default not stated in source
flow_control: none
auth:
type: password # UNRESOLVED: IPLogin command toggles Telnet login on/off; default state not stated. Set per IPDelUser/IPAddUser credentials.
Traits
- powerable # inferred from PWON / PWOFF / PWSTA commands
- routable # inferred from xYAVx1 routing command
- queryable # inferred from IPCFG, Status, PWSTA, Version, Type, System, RAtlMac queries
- levelable # inferred from HDMIAud, Toslink, AudioSRC audio control
Actions
- id: audio_src_set
label: Set Optical Audio Source
kind: action
command: "AudioSRC {source}"
params:
- name: source
type: enum
values: [SPDIF, ARC]
notes: Use argument "sta" to query current setting.
- id: audio_src_query
label: Get Optical Audio Source
kind: query
command: "AudioSRC sta"
params: []
- id: autosw_set
label: Set Auto-Switching Mode
kind: action
command: "AutoSW {state}"
params:
- name: state
type: enum
values: [on, off]
- id: autosw_query
label: Get Auto-Switching Mode
kind: query
command: "AutoSW sta"
params: []
- id: blink_set
label: Set POWER LED Blink
kind: action
command: "Blink {state}"
params:
- name: state
type: enum
values: [on, off]
notes: POWER LED alternates blue/red while on.
- id: blink_query
label: Get POWER LED Blink State
kind: query
command: "Blink sta"
params: []
- id: broadcast_set
label: Set Broadcast Mode
kind: action
command: "Broadcast {state}"
params:
- name: state
type: enum
values: [on, off]
notes: Default ON per source.
- id: broadcast_query
label: Get Broadcast Mode
kind: query
command: "Broadcast sta"
params: []
- id: cspara_set
label: Set Serial Port Parameters
kind: action
command: "CSpara[{baud},{data},{parity},{stop}]"
params:
- name: baud
type: integer
enum: [2400, 4800, 9600, 19200, 38400, 57600, 115200]
- name: data
type: integer
enum: [7, 8]
- name: parity
type: integer
enum: [0, 1, 2] # UNRESOLVED: source text maps to None/Odd/Even names; numeric encoding 0/1/2 inferred from CSpara[115200,8,0,1] example.
- name: stop
type: integer
enum: [1, 2]
notes: Brackets required; no spaces between comma-separated args.
- id: cspara_query
label: Get Serial Port Parameters
kind: query
command: "CSpara[sta]"
params: []
- id: edid_copy
label: Save Downstream EDID to Memory
kind: action
command: "EDIDCopy{input} {memory}"
params:
- name: input
type: integer
range: [1, 4]
- name: memory
type: integer
range: [1, 8]
notes: No space between EDIDCopy and first argument.
- id: edid_mset
label: Assign EDID to Input
kind: action
command: "EDIDMSet{input} {preset} {memory}"
params:
- name: input
type: integer
range: [1, 2] # UNRESOLVED: source table row reads "1 ... 2" but device has 4 inputs (xYAVx1) and EDIDCopy uses 1-4; likely OCR error.
- name: preset
type: integer
range: [1, 24]
- name: memory
type: integer
range: [1, 8]
required: false
notes: Use "EDIDMSet{input} sta" to query current EDID. Preset table in source.
- id: edid_mset_query
label: Get EDID Assigned to Input
kind: query
command: "EDIDMSet{input} sta"
params:
- name: input
type: integer
range: [1, 2] # UNRESOLVED: see edid_mset
- id: hdcp_set
label: Set HDCP Reporting Mode
kind: action
command: "HDCPSet{input} {state}"
params:
- name: input
type: integer
range: [1, 4]
- name: state
type: enum
values: [on, off]
notes: No space between HDCPSet and first argument.
- id: hdcp_query
label: Get HDCP Reporting Mode
kind: query
command: "HDCPSet{input} sta"
params:
- name: input
type: integer
range: [1, 4]
- id: hdmi_aud_set
label: Set HDMI Audio Output
kind: action
command: "HDMIAud {state}"
params:
- name: state
type: enum
values: [on, off]
- id: hdmi_aud_query
label: Get HDMI Audio Output State
kind: query
command: "HDMIAud sta"
params: []
- id: help
label: List Available Commands
kind: query
command: "help"
params: []
- id: help_command
label: Get Help on Specific Command
kind: query
command: "help {command}"
params:
- name: command
type: string
- id: input_broadcast_set
label: Set Input Broadcast
kind: action
command: "InputBroadcast {state}"
params:
- name: state
type: enum
values: [on, off]
notes: When on, InputStatus fires on source connect and on auto-switch events.
- id: input_broadcast_query
label: Get Input Broadcast State
kind: query
command: "InputBroadcast sta"
params: []
- id: input_status
label: Get All Input States
kind: query
command: "InputStatus"
params: []
notes: Returns 4-digit string e.g. "InputStatus 0100" - one digit per input (1=connected, 0=empty).
- id: input_status_one
label: Get Single Input State
kind: query
command: "InputStatus{input}"
params:
- name: input
type: integer
range: [1, 4]
notes: No space between InputStatus and argument.
- id: ip_add_user
label: Add Telnet/Web User
kind: action
command: "IPAddUser {username} {password}"
params:
- name: username
type: string
max_length: 20
- name: password
type: string
max_length: 20
- id: ip_cfg
label: Get Network Settings
kind: query
command: "IPCFG"
params: []
notes: Returns MAC, IP, netmask, gateway, Telnet port, HTTP port.
- id: ip_del_user
label: Delete Telnet/Web User
kind: action
command: "IPDelUser {username}"
params:
- name: username
type: string
- id: ip_dhcp_set
label: Set DHCP Mode
kind: action
command: "IPDHCP {state}"
params:
- name: state
type: enum
values: [on, off]
- id: ip_dhcp_query
label: Get DHCP Mode
kind: query
command: "IPDHCP sta"
params: []
- id: ip_login_set
label: Set Telnet Login Required
kind: action
command: "IPLogin {state}"
params:
- name: state
type: enum
values: [on, off]
notes: "on" = credentials required, "off" = no login. Same credentials as web GUI.
- id: ip_port_set
label: Set Telnet Listening Port
kind: action
command: "IPPort {port}"
params:
- name: port
type: integer
range: [0, 65535]
- id: ip_port_query
label: Get Telnet Listening Port
kind: query
command: "IPPort sta"
params: []
- id: ip_quit
label: Close Current Telnet Session
kind: action
command: "IPQuit"
params: []
- id: ip_static
label: Set Static IP Address
kind: action
command: "IPStatic {ip} {netmask} {gateway}"
params:
- name: ip
type: string
- name: netmask
type: string
- name: gateway
type: string
notes: Each byte 0-255, dot-decimal, space-separated. DHCP must be off first. Default static IP 192.168.1.254.
- id: ip_timeout
label: Set Telnet Inactivity Timeout
kind: action
command: "IPTimeout {seconds}"
params:
- name: seconds
type: integer
range: [1, 60000]
- id: ir_off
label: Disable IR Receiver
kind: action
command: "IROFF"
params: []
- id: ir_on
label: Enable IR Receiver
kind: action
command: "IRON"
params: []
- id: lock
label: Lock Front Panel Buttons
kind: action
command: "Lock"
params: []
- id: mreset
label: Factory Reset
kind: action
command: "Mreset"
params: []
- id: power_off
label: Power Off
kind: action
command: "PWOFF"
params: []
- id: power_on
label: Power On
kind: action
command: "PWON"
params: []
- id: power_status
label: Get Power State
kind: query
command: "PWSTA"
params: []
- id: mac_query
label: Get MAC Address
kind: query
command: "RAtlMac"
params: []
- id: status
label: Get Routing State
kind: query
command: "Status"
params: []
notes: Returns "xYAVx1" - Y is the active input.
- id: system
label: Get System Configuration
kind: query
command: "System sta"
params: []
notes: Returns model, MAC, address type, IP, netmask, gateway, HTTP port, Telnet port, firmware, uptime, power status.
- id: toslink_set
label: Set OPTICAL Port
kind: action
command: "Toslink {state}"
params:
- name: state
type: enum
values: [on, off]
- id: toslink_query
label: Get OPTICAL Port State
kind: query
command: "Toslink sta"
params: []
- id: type
label: Get Model
kind: query
command: "Type"
params: []
- id: unlock
label: Unlock Front Panel Buttons
kind: action
command: "Unlock"
params: []
- id: version
label: Get Firmware Version
kind: query
command: "Version"
params: []
- id: route_input
label: Route Input to Output
kind: action
command: "x{input}AVx1"
params:
- name: input
type: integer
range: [1, 4]
notes: Routes specified input to the single HDMI output.
Feedbacks
- id: power_state
type: enum
values: [PWON, PWOFF]
description: Returned by PWSTA command.
- id: input_states
type: string
description: Returned by InputStatus. 4-digit string, one digit per input 1-4. 1=source connected, 0=empty.
- id: routing_state
type: string
description: Returned by Status. Format "xYAVx1" where Y is the active input (1-4).
- id: network_settings
type: string
description: Returned by IPCFG. Multi-line: MAC, IP, netmask, gateway, Telnet port, HTTP port.
- id: system_config
type: string
description: Returned by System sta. Multi-line: model, MAC, address type, IP, netmask, gateway, HTTP port, Telnet port, firmware, uptime, power status.
- id: firmware_version
type: string
description: Returned by Version. Example "1.2.10".
- id: model
type: string
description: Returned by Type. Example "AT-JUNO-451".
- id: mac_address
type: string
description: Returned by RAtlMac. Format "b8-98-b0-00-56-c9".
- id: command_failed
type: enum
values: ["Command FAILED"]
description: Returned when a command fails or is entered incorrectly.
- id: serial_params
type: string
description: Returned by CSpara[sta]. Format "CSpara[baud,data,parity,stop]".
Variables
# UNRESOLVED: source does not document persistent settable variables distinct from action parameters; section omitted.
Events
- id: input_state_change
description: InputStatus payload broadcast when InputBroadcast is on and a source is connected/disconnected or auto-switching occurs.
payload_format: "InputStatus {states}" # 4-digit string
- id: system_change_broadcast
description: System state changes broadcast to web GUI and TCP/IP control when Broadcast is on.
Macros
# UNRESOLVED: source does not document multi-step macro sequences; section omitted.
Safety
confirmation_required_for:
- Mreset # factory reset - destructive
interlocks: []
# UNRESOLVED: source contains no explicit safety warnings, interlocks, or power-on sequencing requirements beyond the destructive nature of Mreset and the PWOFF/PWON power cycle.
Notes
- All commands and feedback are ASCII, case-sensitive. Commands terminated with carriage return (0x0d). Feedback terminated with carriage return + line feed (0x0a 0x0d).
- "sta" argument is the universal query suffix used by most settable commands (e.g.
AutoSW sta,IPPort sta,Toslink sta). - Source PDF title page references both AT-JUNO-451 and AT-JUNO-451-HDBT. The HDBT variant is discontinued per source (recommended replacement AT-OPUS-RX41).
- CSpara argument parity is encoded numerically in examples (0=None, 1=Odd, 2=Even per
CSpara[115200,8,0,1]); the source's parameter table also lists symbolic names "None, Odd, Even" — devices may accept either form. - For TCP/IP, the unit uses Telnet-style ASCII on port 23 (default, configurable via IPPort). HTTP port 80 hosts the web GUI for the same control surface.
- WebFetch of refined source confirmed: PDF was AT-JUNO-451_HDBT_API.pdf v3 (Jul 2023). API protocol is identical for both 451 and 451-HDBT.
Provenance
source_domains:
- atlona.com
source_urls:
- https://atlona.com/pdf/AT-JUNO-451_HDBT_API.pdf
retrieved_at: 2026-05-14T10:37:36.393Z
last_checked_at: 2026-06-02T21:40:01.066Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:40:01.066Z
matched_actions: 50
action_count: 50
confidence: medium
summary: "All 50 spec actions matched literal commands in source; full bidirectional coverage with transport parameters verified. (10 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "source documents firmware 1.2.10 in examples but does not state a supported range. AT-JUNO-451-HDBT is discontinued per source."
- "explicit default not stated in source."
- "default not stated in source"
- "IPLogin command toggles Telnet login on/off; default state not stated. Set per IPDelUser/IPAddUser credentials."
- "source text maps to None/Odd/Even names; numeric encoding 0/1/2 inferred from CSpara[115200,8,0,1] example."
- "source table row reads \"1 ... 2\" but device has 4 inputs (xYAVx1) and EDIDCopy uses 1-4; likely OCR error."
- "see edid_mset"
- "source does not document persistent settable variables distinct from action parameters; section omitted."
- "source does not document multi-step macro sequences; section omitted."
- "source contains no explicit safety warnings, interlocks, or power-on sequencing requirements beyond the destructive nature of Mreset and the PWOFF/PWON power cycle."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0