Summary
AMX Precis PR-Series HDMI matrix switchers (PR-0402, PR-0404, PR-0602, PR-0808) with RS-232 serial and TCP/Telnet control. RS-232 provides a subset of the API (configuration and switching commands only); Telnet exposes the full command set including system, network, and security management. Commands are ASCII-based with colon-delimited parameters.
Transport
protocols:
- serial
- tcp
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
addressing:
port: 23
auth:
type: UNRESOLVED # source does not state this (was inferred none: default telnet username/password are null (blank))
Traits
- powerable # standby on/off command
- routable # video and audio routing commands (VI/VO/CI/CO switching)
- queryable # extensive get commands for input/output status, resolution, HDCP, etc.
- levelable # audio mute control
Actions
# --- System Commands (Telnet only) ---
- id: help
label: Help
kind: action
params: []
transport: tcp
- id: help_detail
label: Help Detail
kind: action
params:
- name: command
type: string
description: Command name to get details for
transport: tcp
- id: ping
label: Ping
kind: action
params:
- name: ip_address
type: string
description: IP address to ping
transport: tcp
- id: reboot
label: Reboot
kind: action
params: []
transport: tcp
- id: reset_factory
label: Factory Reset
kind: action
params: []
transport: tcp
- id: factoryfwimage
label: Restore Factory Firmware
kind: action
params: []
transport: tcp
- id: set_serial
label: Set Serial Port On/Off
kind: action
params:
- name: state
type: enum
values: [on, off]
transport: tcp
- id: set_baud
label: Set Serial Parameters
kind: action
params:
- name: baud_rate
type: enum
values: [115200, 57600, 38400, 19200, 9600, 4800, 2400]
- name: data_bits
type: enum
values: [7, 8]
- name: parity
type: enum
values: [E, O, N]
- name: stop_bits
type: enum
values: [1, 2]
transport: tcp
- id: set_key_lock
label: Set Front Panel Key Lock
kind: action
params:
- name: level
type: enum
values: [all, menu, off]
transport: tcp
- id: exit
label: Close Session
kind: action
params: []
transport: tcp
# --- Network Commands (Telnet only) ---
- id: set_friendly
label: Set Hostname
kind: action
params:
- name: name
type: string
description: Friendly name / hostname
transport: tcp
- id: set_ip
label: Set IP Configuration
kind: action
params:
- name: hostname
type: string
- name: type
type: enum
values: [dhcp, static]
- name: ip_address
type: string
- name: subnet_mask
type: string
- name: gateway
type: string
transport: tcp
- id: set_dns
label: Set DNS Configuration
kind: action
params:
- name: domain_suffix
type: string
- name: dns_entry_1
type: string
- name: dns_entry_2
type: string
- name: dns_entry_3
type: string
transport: tcp
- id: set_ethernet_mode
label: Set Ethernet Mode
kind: action
params:
- name: mode
type: enum
values: [auto, "100 full", "10 half"]
transport: tcp
- id: renew_dhcp
label: Renew DHCP Lease
kind: action
params: []
transport: tcp
# --- Security Commands (Telnet only) ---
- id: set_telnet_port
label: Set Telnet Port
kind: action
params:
- name: port
type: integer
description: Port number (0 to disable telnet)
transport: tcp
- id: set_telnet_username
label: Set Telnet Username
kind: action
params:
- name: username
type: string
transport: tcp
- id: set_telnet_password
label: Set Telnet Password
kind: action
params:
- name: password
type: string
transport: tcp
- id: set_ssh_port
label: Set SSH Port
kind: action
params:
- name: port
type: integer
description: Port number (0 to disable SSH)
transport: tcp
- id: set_ssh_username
label: Set SSH Username
kind: action
params:
- name: username
type: string
transport: tcp
- id: set_ssh_password
label: Set SSH Password
kind: action
params:
- name: password
type: string
transport: tcp
# --- Configuration Commands - Input (RS-232 + Telnet) ---
- id: set_vidin_portname
label: Set Input Port Name
kind: action
params:
- name: channel
type: integer
description: Input channel (1-8)
- name: name
type: string
description: Port name
- id: set_vidin_hdcp
label: Set Input HDCP Mode
kind: action
params:
- name: channel
type: integer
description: Input channel (1-8)
- name: hdcp
type: enum
values: [on, off]
- id: set_vidin_edidmode
label: Set Input EDID Mode
kind: action
params:
- name: channel
type: integer
description: Input channel (1-8)
- name: mode
type: enum
values: [auto, "all hd resolutions", "hd wide screen", "hd full screen", 4k, 4k60, custom]
- id: set_vidin_prefedid
label: Set Input Preferred EDID
kind: action
params:
- name: channel
type: integer
description: Input channel (1-8)
- name: edid
type: string
description: Preferred resolution (e.g. 1920x1080p,60)
- id: set_vidin_ediddata
label: Set Input Custom EDID Data
kind: action
params:
- name: channel
type: integer
description: Input channel (1-8)
- name: edid_data
type: string
description: 256-byte EDID hex data
# --- Configuration Commands - Output (RS-232 + Telnet) ---
- id: set_vidout_portname
label: Set Output Port Name
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: name
type: string
description: Port name
- id: set_vidout_hdcp
label: Set Output HDCP Mode
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: mode
type: enum
values: [auto, "HDCP2.2", "HDCP1.4", "NO-HDCP"]
- id: set_vidout_osd
label: Set Output OSD State
kind: action
params:
- name: state
type: enum
values: [on, off]
- id: set_vidout_osd_color
label: Set Output OSD Color
kind: action
params:
- name: color
type: enum
values: [black, blue]
- id: set_vidout_osd_pos
label: Set Output OSD Position
kind: action
params:
- name: position
type: enum
values: [TR, TL, BR, BL, C]
- id: set_vidout_cec_power
label: Set Output CEC Power
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: state
type: enum
values: [on, off]
- id: set_vidout_cec_standby
label: Set Output CEC Standby
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- id: set_vidout_cec_makeactive
label: Set Output CEC Make Active
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- id: set_vidout_cec_disp_auto
label: Set Output CEC Display Auto
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: state
type: enum
values: [on, off]
- id: set_vidout_cec_sleep_timeout
label: Set Output CEC Sleep Timeout
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: timeout
type: integer
description: Timeout in minutes (1-30)
- id: set_vidout_mute
label: Set Output Video Mute
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: state
type: enum
values: [on, off]
- id: set_vidout_blank
label: Set Output Video Blank
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: pattern
type: enum
values: [black, red, green, blue]
- id: set_vidout_sleep
label: Set Output TMDS Sleep
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: state
type: enum
values: [on, off]
- id: set_vidout_sleep_delay
label: Set Output Sleep Delay
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: delay
type: integer
description: Delay in seconds (0-1800)
- id: set_audout_mute
label: Set Output Audio Mute
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: state
type: enum
values: [on, off]
- id: set_audout_format
label: Set Output Audio Format
kind: action
params:
- name: channel
type: integer
description: Output channel (1-8)
- name: format
type: enum
values: [all, hdmi, analog]
# --- Switching Commands (RS-232 + Telnet) ---
- id: load_preset
label: Load Preset
kind: action
params:
- name: preset
type: integer
description: Preset number (1-8)
- id: save_preset
label: Save Preset
kind: action
params:
- name: preset
type: integer
description: Preset number (1-8)
- id: set_preset_name
label: Set Preset Name
kind: action
params:
- name: preset
type: integer
description: Preset number (1-8)
- name: name
type: string
- id: set_auto_switch
label: Set Auto Switch
kind: action
params:
- name: state
type: enum
values: [on, off]
notes: PR-0402 only
- id: set_switch_video
label: Route Video Input to Output
kind: action
params:
- name: input
type: integer
description: Input channel (0=no input, 1-8 per model)
- name: output
type: string
description: Output channel(s) or 'all' (comma-separated, e.g. '1,2,3')
- id: set_switch_av
label: Route Audio+Video Input to Output
kind: action
params:
- name: input
type: integer
description: Input channel (0=no input, 1-8 per model)
- name: output
type: string
description: Output channel(s) or 'all' (comma-separated, e.g. '1,2,3')
- id: standby_on
label: Standby On
kind: action
params: []
transport: tcp
- id: standby_off
label: Standby Off
kind: action
params: []
transport: tcp
Feedbacks
- id: fwversion
type: string
description: Firmware version of all upgradable components
transport: tcp
query_command: fwversion
- id: fwupdatestatus
type: string
description: Current firmware update progress/status
transport: tcp
query_command: fwupdatestatus
- id: serial_number
type: string
description: Device serial number
transport: tcp
query_command: get sn
- id: baud_settings
type: object
description: Current serial port communication parameters
transport: tcp
query_command: get baud
- id: key_lock_state
type: enum
values: [all, menu, off]
transport: tcp
query_command: get key lock
- id: friendly_name
type: string
description: Device hostname
transport: tcp
query_command: get friendly
- id: ip_config
type: object
description: IP configuration (hostname, type, address, subnet, gateway, MAC)
transport: tcp
query_command: get ip
- id: dns_config
type: object
description: DNS server configuration
transport: tcp
query_command: get dns
- id: ethernet_mode
type: enum
values: [auto, "100 full", "10 half"]
transport: tcp
query_command: get ethernet mode
- id: vidin_portname
type: string
description: Input port name
params:
- name: channel
type: integer
query_command: "get vidin portname:{channel}"
- id: vidin_hdcp
type: enum
values: [on, off]
description: Input HDCP mode
params:
- name: channel
type: integer
query_command: "get vidin hdcp:{channel}"
- id: vidin_res
type: string
description: Input video resolution (e.g. 1920x1080p,60) or 'no video'
params:
- name: channel
type: integer
query_command: "get vidin res:{channel}"
- id: vidin_status
type: enum
values: ["valid signal", "no signal"]
description: Input signal presence status
params:
- name: channel
type: integer
query_command: "get vidin status:{channel}"
- id: vidin_edidmode
type: string
description: Input EDID mode
params:
- name: channel
type: integer
query_command: "get vidin edidmode:{channel}"
- id: vidin_prefedid
type: string
description: Input preferred EDID resolution
params:
- name: channel
type: integer
query_command: "get vidin prefedid:{channel}"
- id: vidin_ediddata
type: string
description: Input EDID hex data
params:
- name: channel
type: integer
query_command: "get vidin ediddata:{channel}"
- id: vidout_portname
type: string
description: Output port name
params:
- name: channel
type: integer
query_command: "get vidout portname:{channel}"
- id: vidout_hdcp
type: string
description: Output HDCP mode (auto, HDCP2.2, HDCP1.4, NO-HDCP)
params:
- name: channel
type: integer
query_command: "get vidout hdcp:{channel}"
- id: vidout_res
type: string
description: Output video resolution or 'no signal'
params:
- name: channel
type: integer
query_command: "get vidout res:{channel}"
- id: vidout_osd
type: enum
values: [on, off]
query_command: get vidout osd
- id: vidout_osd_color
type: enum
values: [black, blue]
query_command: get vidout osd color
- id: vidout_osd_pos
type: enum
values: [TR, TL, BR, BL, C]
query_command: get vidout osd pos
- id: vidout_cec_power
type: string
description: CEC power status from sink (on, fail, or 'No attached sink')
params:
- name: channel
type: integer
query_command: "get vidout cec power:{channel}"
- id: vidout_cec_disp_auto
type: enum
values: [on, off]
params:
- name: channel
type: integer
query_command: "get vidout cec disp auto:{channel}"
- id: vidout_cec_sleep_timeout
type: integer
description: CEC display auto on/off delay in minutes
params:
- name: channel
type: integer
query_command: "get vidout cec sleep timeout:{channel}"
- id: vidout_mute
type: enum
values: [on, off]
params:
- name: channel
type: integer
query_command: "get vidout mute:{channel}"
- id: vidout_blank
type: string
description: Video blank pattern (black, red, green, blue)
params:
- name: channel
type: integer
query_command: "get vidout blank:{channel}"
- id: vidout_sleep
type: enum
values: [on, off]
params:
- name: channel
type: integer
query_command: "get vidout sleep:{channel}"
- id: vidout_sleep_delay
type: integer
description: TMDS sleep on/off delay in seconds
params:
- name: channel
type: integer
query_command: "get vidout sleep delay:{channel}"
- id: audout_mute
type: enum
values: [on, off]
params:
- name: channel
type: integer
query_command: "get audout mute:{channel}"
- id: audout_format
type: enum
values: [all, hdmi, analog]
params:
- name: channel
type: integer
query_command: "get audout format:{channel}"
- id: vidout_ediddata
type: string
description: Output sink EDID hex data
params:
- name: channel
type: integer
query_command: "get vidout ediddata:{channel}"
- id: preset_name
type: string
params:
- name: preset
type: integer
description: Preset number (1-8)
query_command: "get preset name:{preset}"
- id: auto_switch
type: enum
values: [on, off]
notes: PR-0402 only
query_command: get auto switch
- id: switch_vi
type: string
description: Which outputs are routed from specified video input
params:
- name: input
type: integer
query_command: "get switch VI{input}"
- id: switch_vo
type: string
description: Which video input is routed to specified output
params:
- name: output
type: integer
query_command: "get switch VO{output}"
- id: switch_ci
type: string
description: Which outputs are routed from specified audio+video input
params:
- name: input
type: integer
query_command: "get switch CI{input}"
- id: switch_co
type: string
description: Which audio+video input is routed to specified output
params:
- name: output
type: integer
query_command: "get switch CO{output}"
Variables
# No continuous variables identified; all parameters are discrete actions or queries.
Events
- id: vidin_status_unsolicited
type: enum
values: ["valid signal", "no signal"]
description: Unsolicited signal presence feedback on input ports
notes: Source states vidin status command is used for unsolicited feedback
Macros
# UNRESOLVED: no multi-step macro sequences described in source
Safety
confirmation_required_for:
- action: standby_on
reason: Device cannot receive signal in standby; requires standby off to resume
- action: reset_factory
reason: Irreversible factory reset (preserves IP settings)
- action: factoryfwimage
reason: Restores factory firmware image; requires power-on during process
- action: reboot
reason: Device reboot
interlocks: []
Notes
- RS-232 API is a subset of the Telnet API — no System, Network, or Security commands available over serial.
- Default Telnet port is 23. Default Telnet username and password are blank (null).
- Default SSH credentials are admin/admin.
- Default Web GUI credentials are administrator/password.
- Switching commands support comma-separated output channels (e.g.
set switch VI2O1,2,3) andALLkeyword. - Input
0in switching commands selects "no input" (disconnect). Output0selects "no output". - Maximum channel counts vary by model: PR-0402 (4x2), PR-0404 (4x4), PR-0602 (6x2), PR-0808 (8x8).
set auto switchis PR-0402 only.- EDID auto mode switches to Custom when EDID data is uploaded via command.
- Non-PCM audio (Dolby/DTS) auto-mutes analog line out regardless of audio format setting.
- Standby on requires interactive Y/N confirmation over Telnet.
Provenance
source_domains:
- amx.com
source_urls:
- https://www.amx.com/en/site_elements/hardware-reference-manual-precis-pr-series-matrix-switchers
retrieved_at: 2026-05-03T16:47:36.204Z
last_checked_at: 2026-10-07T14:03:32.178Z
Verification Summary
verdict: verified
checked_at: 2026-10-07T14:03:32.178Z
matched_actions: 88
action_count: 88
confidence: medium
summary: "All 88 spec action units match source commands with correct shapes; serial and port 23 transport supported; catalogue essentially fully covered. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no multi-step macro sequences described in source"
- "firmware version compatibility not stated in source"
- "command response timing/latency not specified"
- "maximum concurrent Telnet/SSH sessions not stated"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0