Summary
H2X/H2XC Matrix Switcher series supporting HDMI/HDBaseT input/output routing. Controls via RS-232 and TCP/IP (Telnet). ASCII command protocol with termination. Supports video/audio switching, display power via CEC, HDCP/EDID management, preset scenes, volume control, and HDBaseT pass-through for remote device control.
Transport
protocols:
- tcp
- serial
addressing:
port: 23 # inferred from "Default IP Port: 23"
serial:
baud_rate: 57600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # CEC display power commands
- routable # video/audio input/output switching
- queryable # query commands for all state
- levelable # volume/gain control
Actions
- id: set_video_switch
label: Set Video Switch
kind: action
params:
- name: input
type: integer
description: Input number (1-16)
- name: output
type: integer
description: Output number (1-16 or all)
command: SET SW{in}{out}<CR><LF>
- id: set_audio_switch_mode
label: Set Audio Switch Mode
kind: action
params:
- name: mode
type: enum
values: [on, off]
description: "on: audio independent; off: audio follows video"
command: SET AUDIOSW_M {mode}<CR><LF>
- id: set_audio_switch
label: Set Audio Switch
kind: action
params:
- name: input
type: string
description: "hdmi1-hdmi16, spdif1-spdif16, arc1-arc16"
- name: output
type: string
description: "audioout1-audioout16, all"
command: SET AUDIOSW{in}{out}<CR><LF>
- id: set_output_gain
label: Set Output Gain
kind: action
params:
- name: output
type: string
description: "audioout1-audioout16, all"
- name: level
type: integer
description: "-10 to 10 (pre-v1.3) or -80 to 0 in 2dB steps (v1.3+)"
command: SET VOLGAIN_DATA{output}{level}<CR><LF>
- id: set_mute
label: Set Mute
kind: action
params:
- name: output
type: string
description: "spdifout1-spdifout16, audioout1-audioout16, all"
- name: state
type: enum
values: [on, off]
description: "on=mute, off=unmute"
command: SET MUTE{output}{state}<CR><LF>
- id: set_audio_out_fixed
label: Set Audio Out Fixed/Variable
kind: action
params:
- name: output
type: string
description: "audioout1-audioout16, all"
- name: mode
type: enum
values: [on, off]
description: "on=fixed, off=variable"
command: SET VOLGAIN_FIX{output}{mode}<CR><LF>
- id: set_mute_method
label: Set Mute Method
kind: action
params:
- name: output
type: string
description: "audioout1-audioout16, all"
- name: method
type: enum
values: [cut, ramp]
description: "cut=immediate, ramp=gradual"
command: SET MUTE_M{output}{method}<CR><LF>
- id: increase_volume
label: Increase Volume
kind: action
params:
- name: output
type: string
description: "audioout1-audioout16, all"
command: SET VOLGAIN_INC{output}<CR><LF>
- id: decrease_volume
label: Decrease Volume
kind: action
params:
- name: output
type: string
description: "audioout1-audioout16, all"
command: SET VOLGAIN_DEC{output}<CR><LF>
- id: set_volume_step
label: Set Volume Step
kind: action
params:
- name: output
type: string
description: "audioout1-audioout16, all"
- name: step
type: integer
values: [2, 4, 8]
description: "step size in dB"
command: SET VOLGAIN_STEP{output}{step}<CR><LF>
- id: save_video_preset
label: Save Video Preset
kind: action
params:
- name: scene
type: integer
range: [1, 20]
command: SAVE PRESET_V{scene}<CR><LF>
- id: restore_video_preset
label: Restore Video Preset
kind: action
params:
- name: scene
type: integer
range: [1, 20]
command: RESTORE PRESET_V{scene}<CR><LF>
- id: save_audio_preset
label: Save Audio Preset
kind: action
params:
- name: scene
type: integer
range: [1, 20]
command: SAVE PRESET_A{scene}<CR><LF>
- id: restore_audio_preset
label: Restore Audio Preset
kind: action
params:
- name: scene
type: integer
range: [1, 20]
command: RESTORE PRESET_A{scene}<CR><LF>
- id: set_cec_power
label: Set CEC Display Power
kind: action
params:
- name: output
type: string
description: "hdmiout1-hdmiout16, hdbtout1-hdbtout16, all"
- name: state
type: enum
values: [on, off]
command: SET CEC_PWR{output}{state}<CR><LF>
- id: set_cec_power_delay
label: Set CEC Power Delay
kind: action
params:
- name: output
type: string
description: "hdmiout1-hdmiout16, hdbtout1-hdbtout16, all"
- name: minutes
type: integer
range: [0, 30]
description: "delay in minutes (default 2)"
command: SET AUTOCEC_D{output}{minutes}<CR><LF>
- id: set_hdcp
label: Set Input HDCP
kind: action
params:
- name: input
type: string
description: "in1-in16, all"
- name: state
type: enum
values: [on, off]
command: SET HDCP_S{input}{state}<CR><LF>
- id: set_edid
label: Set Input EDID
kind: action
params:
- name: input
type: string
description: "in1-in16, all"
- name: edid_code
type: integer
description: "EDID code (see EDID Parameter Table)"
command: SET EDID{input}{edid_code}<CR><LF>
- id: set_ir_callback
label: Set IR Call Back
kind: action
params:
- name: state
type: enum
values: [on, off]
command: SET IRBACK_FN{state}<CR><LF>
- id: set_long_reach
label: Set Long Reach Mode
kind: action
params:
- name: state
type: enum
values: [on, off]
command: SET LR_FN{hdbtall}{state}<CR><LF>
- id: set_ir_syscode
label: Set IR System Codes
kind: action
params:
- name: code
type: string
description: "00, 4E, or all"
command: SET IR_SYSCODE{code}<CR><LF>
- id: set_switching_mode
label: Set Matrix Switching Mode
kind: action
params:
- name: mode
type: enum
values: [normal, quick]
command: SET SW_M{mode}<CR><LF>
- id: set_zone_lock
label: Set AVR Priority Zone Lock
kind: action
params:
- name: output
type: string
description: "hdmiout1-hdmiout16, hdbtout1-hdbtout16, all"
- name: state
type: enum
values: [on, off]
command: SET ZONE_LOCK{output}{state}<CR><LF>
- id: set_zone_r
label: Set Source Zone Lockout
kind: action
params:
- name: output
type: string
description: "out1-out16, all"
- name: lock_code
type: string
description: "hex code from Source Zone Lockout Parameter Table"
command: SET ZONE_R{output}{lock_code}<CR><LF>
- id: reboot
label: Reboot
kind: action
params:
- name: target
type: enum
values: [all, mainboard, ledboard, card1-card16]
command: REBOOT {target}<CR><LF>
- id: factory_reset
label: Factory Reset
kind: action
params: []
command: RESET<CR><LF>
Feedbacks
- id: video_mapping
label: Video Input Mapping
type: object
response_template: "MP{in#}{out#}"
query_command: "GET MP{out}<CR><LF>"
- id: audio_switch_mode
label: Audio Switch Mode
type: enum
values: [on, off]
description: "on=independent, off=follows video"
query_command: "GET AUDIOSW_M<CR><LF>"
- id: audio_mapping
label: Audio Input Mapping
type: object
response_template: "AUDIOMP{in#}{out#}"
query_command: "GET AUDIOMP{out}<CR><LF>"
- id: output_gain
label: Output Gain Level
type: integer
range: [-10, 10] # pre-v1.3; -80 to 0 (2dB steps) v1.3+
query_command: "GET VOLGAIN_DATA{output}<CR><LF>"
- id: mute_state
label: Audio Mute State
type: enum
values: [on, off]
query_command: "GET MUTE{output}<CR><LF>"
- id: audio_fixed
label: Audio Out Fixed/Variable
type: enum
values: [on, off]
query_command: "GET VOLGAIN_FIX{output}<CR><LF>"
- id: mute_method
label: Mute Method
type: enum
values: [cut, ramp]
query_command: "GET MUTE_M{output}<CR><LF>"
- id: volume_step
label: Volume Step Size
type: integer
values: [2, 4, 8]
query_command: "GET VOLGAIN_STEP{output}<CR><LF>"
- id: cec_power
label: CEC Display Power Status
type: enum
values: [on, off]
query_command: "GET CEC_PWR{output}<CR><LF>"
- id: cec_delay
label: CEC Power Delay
type: integer
range: [0, 30]
description: "minutes"
query_command: "GET AUTOCEC_D{output}<CR><LF>"
- id: hdcp_status
label: Input HDCP Status
type: enum
values: [on, off]
query_command: "GET HDCP_S{input}<CR><LF>"
- id: edid_dip
label: EDID Dip Switch Status
type: integer
range: [0, 15]
query_command: "GET EDID_DIP<CR><LF>"
- id: edid_status
label: Input EDID Status
type: object
response_template: "EDID{in}{code}"
query_command: "GET EDID{all}<CR><LF>"
- id: ir_callback
label: IR Call Back Status
type: enum
values: [on, off]
query_command: "GET IRBACK_FN<CR><LF>"
- id: long_reach
label: Long Reach Mode
type: enum
values: [on, off]
query_command: "GET LR_FN{hdbtall}<CR><LF>"
- id: ir_syscode
label: IR System Codes
type: string
values: [00, 4E, all]
query_command: "GET IR_SYSCODE<CR><LF>"
- id: switching_mode
label: Matrix Switching Mode
type: enum
values: [normal, quick]
query_command: "GET SW_M<CR><LF>"
- id: zone_lock
label: AVR Priority Zone Lock
type: enum
values: [on, off]
query_command: "GET ZONE_LOCK{output}<CR><LF>"
- id: zone_r
label: Source Zone Lockout
type: string
query_command: "GET ZONE_R{output}<CR><LF>"
- id: cable_in_status
label: Input Cable Connection
type: enum
values: [connected, not connected]
query_command: "GET CABLEC_IN{in}<CR><LF>"
- id: cable_out_status
label: Output Cable Connection
type: enum
values: [connected, not connected]
query_command: "GET CABLEC_IN{output}<CR><LF>"
- id: hdbtl_in
label: HDBaseT Input Link Quality
type: integer
range: [1, 10]
description: "1-10 scale, no link if not connected"
query_command: "GET HDBTL_IN{hdbtin}<CR><LF>"
- id: hdbtl_out
label: HDBaseT Output Link Quality
type: integer
range: [1, 10]
description: "1-10 scale, no link if not connected"
query_command: "GET HDBTL_OUT{hdbtout}<CR><LF>"
- id: card_c
label: Card Connection Status
type: enum
values: [connected, not connected]
query_command: "GET CARD_C{slot}<CR><LF>"
- id: card_t
label: Card Type
type: enum
values: [hdmi, hdbt]
query_command: "GET CARD_T{slot}<CR><LF>"
- id: card_com
label: Card Communication Status
type: enum
values: [good, none]
query_command: "GET CARD_COM{slot}<CR><LF>"
- id: card_s
label: Board/Card Status
type: enum
values: [good, none]
query_command: "GET CARD_S{slot}<CR><LF>"
- id: fan_status
label: Fan Status
type: enum
values: [working, unworking]
query_command: "GET FANS{fan}<CR><LF>"
Variables
# UNRESOLVED: no discrete settable parameters outside action commands
Events
# UNRESOLVED: no unsolicited event notifications documented
Macros
# HDBaseT Pass-through (Section 6): Commands routed to remote devices via matrix
# Syntax: [Header=05 55 55 57] [Card#] [BaudRate] [Length] [DeviceCommand]
# Card#: 01-10 for outputs, 11-20 for HDBT inputs
# See Baud Rate (6.3) and Parity (6.4) tables for encoded values
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
- Command termination requires
<CR><LF>(carriage return + line feed) - All keywords are case sensitive
- Multiple models supported: 10x10 and 16x16 configurations
- Audio gain ranges changed with firmware: pre-v1.3 uses -10 to 10, v1.3+ uses -80 to 0 in 2dB increments
- HDBaseT pass-through allows serial control of remote devices through the matrix (Section 6)
- EDID configuration requires rear panel dipswitches set to Front Panel, Web UI, or API EDID Control (0000)
- CEC power delay default is 2 minutes; 0 immediately powers off if no active signal
Provenance
source_domains:
- digis.ru
source_urls:
- https://digis.ru/upload/iblock/b37/40421_WyreStorm_MX_xxxx_HDBT_H2X_H2XC_API.pdf
retrieved_at: 2026-05-14T20:00:45.354Z
last_checked_at: 2026-06-02T22:16:19.955Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:16:19.955Z
matched_actions: 54
action_count: 54
confidence: medium
summary: "All 54 spec actions traced to source (dip-safe re-verify). (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "auth credentials not documented — no login procedure in source"
- "no discrete settable parameters outside action commands"
- "no unsolicited event notifications documented"
- "no safety warnings or interlock procedures in source"
- "default login credentials not stated in source"
- "HTTP/REST API not documented — only RS-232 and Telnet TCP"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0