Summary

The Anthem MRX SLM is an AV receiver/processor controllable via TCP/IP on port 14999 (default) and WebSocket on port 8080. Commands are ASCII strings terminated with semicolons. The protocol supports zone power, input selection, volume, audio listening modes, speaker configuration, bass management, ARC metadata, streaming playback, and system configuration. All queryable settings that change are broadcast asynchronously to all active connections.

Transport

protocols:
  - tcp
addressing:
  port: 14999
auth:
  type: none  # inferred: no auth procedure in source

WebSocket is also available on port 8080 with identical command semantics.

Traits

traits:
  - powerable     # Z1POW power on/off commands
  - routable      # Z1INP input selection
  - queryable     # extensive query commands returning state
  - levelable     # Z1VOL, Z1PVOL, Z1TON, Z1BAL, Z1LEV volume/tone/balance/level control

Actions

actions:
  - id: z1_power
    label: Set Main Zone Power
    kind: action
    command: Z1POWy
    params:
      - name: state
        type: integer
        values: [0, 1]
        description: "0=Off, 1=On"

  - id: z1_input
    label: Set Current Input
    kind: action
    command: Z1INPy
    params:
      - name: input
        type: integer
        min: 1
        max: 30
        description: Input number

  - id: z1_volume
    label: Set Volume (dB)
    kind: action
    command: Z1VOLyy
    params:
      - name: volume_db
        type: number
        min: -90
        max: 10
        description: Volume in dB

  - id: z1_volume_up
    label: Volume Up 0.5 dB
    kind: action
    command: Z1VUP
    params: []

  - id: z1_volume_down
    label: Volume Down 0.5 dB
    kind: action
    command: Z1VDN
    params: []

  - id: z1_pct_volume
    label: Set Volume (percentage)
    kind: action
    command: Z1PVOLyy
    params:
      - name: volume_pct
        type: integer
        min: 0
        max: 100
        description: Volume 0-100%

  - id: z1_pct_volume_up
    label: Volume Up 1%
    kind: action
    command: Z1PVUP
    params: []

  - id: z1_pct_volume_down
    label: Volume Down 1%
    kind: action
    command: Z1PVDN
    params: []

  - id: z1_mute
    label: Set Mute
    kind: action
    command: Z1MUTy
    params:
      - name: state
        type: string
        values: ["0", "1", "t"]
        description: "0=Unmute, 1=Mute, t=Toggle"

  - id: z1_listening_mode
    label: Set Audio Listening Mode
    kind: action
    command: Z1ALMy
    params:
      - name: mode
        type: integer
        values: [0, 1, 2, 3, 4, 5, 7, 8, 9]
        description: "0=None, 1=Automatic, 2=AnthemLogic-Cinema, 3=AnthemLogic-Music, 4=Dolby Surround, 5=DTS Neural:X, 7=All Channel Stereo, 8=Mono, 9=All Channel Mono"

  - id: z1_listening_mode_up
    label: Listening Mode Up
    kind: action
    command: Z1AUP
    params: []

  - id: z1_listening_mode_down
    label: Listening Mode Down
    kind: action
    command: Z1ADN
    params: []

  - id: z1_tone
    label: Adjust Tone
    kind: action
    command: Z1TONyzz
    params:
      - name: type
        type: integer
        values: [0, 1]
        description: "0=Bass, 1=Treble"
      - name: value
        type: number
        min: -10
        max: 10
        step: 0.5
        description: dB value

  - id: z1_tone_up
    label: Tone Up 0.5 dB
    kind: action
    command: Z1TUPy
    params:
      - name: type
        type: integer
        values: [0, 1]
        description: "0=Bass, 1=Treble"

  - id: z1_tone_down
    label: Tone Down 0.5 dB
    kind: action
    command: Z1TDNy
    params:
      - name: type
        type: integer
        values: [0, 1]
        description: "0=Bass, 1=Treble"

  - id: z1_balance
    label: Adjust Balance
    kind: action
    command: Z1BALyyy
    params:
      - name: balance
        type: number
        min: -5
        max: 5
        step: 0.5
        description: "Negative=left, positive=right"

  - id: z1_balance_left
    label: Balance Left 0.5
    kind: action
    command: Z1BLT
    params: []

  - id: z1_balance_right
    label: Balance Right 0.5
    kind: action
    command: Z1BRI
    params: []

  - id: z1_level
    label: Adjust Level
    kind: action
    command: Z1LEVyzz
    params:
      - name: channel
        type: string
        values: ["1", "5", "7", "8", "A", "D"]
        description: "1=Subwoofer, 5=Fronts, 7=Center, 8=Surrounds, A=Heights, D=LFE"
      - name: value_db
        type: integer
        min: -10
        max: 10
        description: "dB value (LFE max=0)"

  - id: z1_level_up
    label: Level Up 0.5 dB
    kind: action
    command: Z1LUPy
    params:
      - name: channel
        type: string
        values: ["1", "5", "7", "8", "A", "D"]

  - id: z1_level_down
    label: Level Down 0.5 dB
    kind: action
    command: Z1LDNy
    params:
      - name: channel
        type: string
        values: ["1", "5", "7", "8", "A", "D"]

  - id: z1_sim_ir
    label: Simulate IR Command
    kind: action
    command: Z1SIMyyyy
    params:
      - name: key
        type: integer
        description: "IR key code (0-36)"

  - id: play_control
    label: Streaming Play Control
    kind: action
    command: PLAYCTRLx
    params:
      - name: action
        type: integer
        values: [0, 2, 3, 4]
        description: "0=Stop, 2=Play/Pause, 3=Previous, 4=Next"

  - id: set_play_mode
    label: Set Play Mode
    kind: action
    command: PLAYMODEx
    params:
      - name: mode
        type: integer
        values: [0, 1, 2, 3, 4, 5]
        description: "0=Normal, 1=Shuffle, 2=Repeat One, 3=Shuffle Repeat One, 4=Repeat All, 5=Shuffle Repeat All"

  - id: insert_input
    label: Insert Input
    kind: action
    command: IIAIi
    params:
      - name: input
        type: integer
        min: 1
        max: 30

  - id: delete_input
    label: Delete Input
    kind: action
    command: IDAIi
    params:
      - name: input
        type: integer
        min: 1
        max: 30

  - id: set_input_name
    label: Set Input Name
    kind: action
    command: ISiINyyyy
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: name
        type: string
        description: Hex-encoded UTF-8, up to 64 bytes

  - id: set_video_input_type
    label: Set Video Input Source
    kind: action
    command: ISiVIDx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: source
        type: integer
        values: [0, 1]
        description: "0=None, 1=HDMI"

  - id: set_audio_input_type
    label: Set Audio Input Source
    kind: action
    command: ISiAIJx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: source
        type: integer
        values: [0, 1, 2, 3, 4, 5, 6]
        description: "0=None, 1=HDMI, 2=HDMI eARC, 3=Digital Optical, 4=Analog, 5=Streaming, 6=Bluetooth"

  - id: set_input_speaker_profile
    label: Set Speaker Profile for Input
    kind: action
    command: ISiSPp
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: profile
        type: integer
        min: 0
        max: 3
        description: "0=Profile 1 through 3=Profile 4"

  - id: set_input_arc
    label: Enable/Disable ARC for Input
    kind: action
    command: ISiARCx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: state
        type: integer
        values: [0, 1]
        description: "0=Off, 1=On"

  - id: set_input_dolby_post
    label: Set Dolby Audio Post-Processing
    kind: action
    command: ISiDVx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: mode
        type: integer
        values: [0, 1, 2, 3]
        description: "0=Off, 1=Movie, 2=Music, 3=Night"

  - id: set_input_dolby_speaker_virt
    label: Set Dolby Speaker Virtualization
    kind: action
    command: ISiDSVx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: state
        type: integer
        values: [0, 1]

  - id: set_input_dynamic_range
    label: Set Dynamic Range Control
    kind: action
    command: ISiDDRCx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: mode
        type: integer
        values: [0, 1, 2]
        description: "0=Off, 1=On, 2=Auto"

  - id: set_input_audio_preset
    label: Set Audio Mode Preset
    kind: action
    command: ISiPSx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: preset
        type: integer
        values: [-1, 0, 1, 2, 3, 4, 5, 7, 8, 9]
        description: "-1=Last Used, 0=None, 1=Automatic, 2=AnthemLogic-Cinema, 3=AnthemLogic-Music, 4=Dolby Surround, 5=DTS Neural:X, 7=All Channel Stereo, 8=Mono, 9=All Channel Mono"

  - id: set_input_lip_sync
    label: Set Lip Sync Delay
    kind: action
    command: ISiLSxxx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: delay_ms
        type: integer
        min: 0
        max: 150
        step: 5
        description: Delay in ms

  - id: set_input_trim
    label: Set Input Trim
    kind: action
    command: ISiITx
    params:
      - name: input
        type: integer
        min: 1
        max: 30
      - name: trim_db
        type: number
        min: -12
        max: 12
        step: 0.5

  - id: set_language
    label: Set Language
    kind: action
    command: GCLx
    params:
      - name: language
        type: integer
        values: [0, 1, 2, 3, 4, 5]
        description: "0=English, 1=Chinese, 2=German, 3=Spanish, 4=French, 5=Italian"

  - id: set_distance_units
    label: Set Distance Units
    kind: action
    command: GCDUx
    params:
      - name: units
        type: integer
        values: [0, 1]
        description: "0=Feet, 1=Centimetres"

  - id: set_volume_scale
    label: Set Master Volume Scale
    kind: action
    command: GCMVSx
    params:
      - name: scale
        type: integer
        values: [0, 1]
        description: "0=percentage, 1=dB"

  - id: set_max_volume
    label: Set Maximum Volume
    kind: action
    command: GCMMVx
    params:
      - name: max_db
        type: number
        min: -40
        max: 10
        step: 0.5

  - id: set_power_on_volume
    label: Set Power-On Volume
    kind: action
    command: GCMPOVx
    params:
      - name: volume
        type: string
        description: "0=Last Used, 1=-90 dB, or dB value up to max volume in 0.5 dB steps"

  - id: set_power_on_input
    label: Set Power-On Input
    kind: action
    command: GCMPOIx
    params:
      - name: input
        type: string
        description: "0=Last Used, or 1-30"

  - id: set_no_signal_power_off
    label: Set No Signal Power Off
    kind: action
    command: GCNSPOx
    params:
      - name: timeout
        type: integer
        values: [0, 1, 2, 3, 4, 5, 7]
        description: "0=5min, 1=10min, 2=20min, 3=1hr, 4=2hr, 5=6hr, 7=Never"

  - id: set_standby_hdmi_bypass
    label: Set Standby HDMI Bypass
    kind: action
    command: GCSHDMIBx
    params:
      - name: state
        type: integer
        values: [0, 1]

  - id: set_cec_control
    label: Set CEC Control
    kind: action
    command: GCCECCx
    params:
      - name: state
        type: integer
        values: [0, 1]

  - id: set_cec_power_off
    label: Set CEC Power-Off Control
    kind: action
    command: GCCPFCx
    params:
      - name: state
        type: integer
        values: [0, 1]

  - id: set_hdmi_audio_tv
    label: Set HDMI Audio to TV
    kind: action
    command: GCCTVAx
    params:
      - name: state
        type: integer
        values: [0, 1]

  - id: set_device_name
    label: Set Device Name
    kind: action
    command: GCDNccc
    params:
      - name: name
        type: string
        description: Hex-encoded UTF-8, up to 64 bytes

  - id: set_tcp_port
    label: Set IP Control TCP Port
    kind: action
    command: GCTCPx
    params:
      - name: port
        type: integer
        min: 1025
        max: 49150

  - id: set_ir_control
    label: Set IR Control
    kind: action
    command: GCIRx
    params:
      - name: mode
        type: integer
        values: [0, 1, 2]
        description: "0=Off, 1=Front IR, 2=Rear IR"

  - id: set_surround_matrixing
    label: Set Surround Matrixing Mode
    kind: action
    command: SSAMSy
    params:
      - name: mode
        type: integer
        values: [0, 1, 2, 3, 4, 5, 6, 7]
        description: "0=Surround, 1=Front(Bi-Amp), 2=Front In-Ceiling, 3=Front Dolby, 4=Front On-Wall, 5=Middle In-Ceiling, 6=Back In-Ceiling, 7=Back On-Wall"

  - id: set_speaker_profile_name
    label: Set Speaker Profile Name
    kind: action
    command: SSSPp0yyyy
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: name
        type: string
        description: Hex-encoded UTF-8, up to 64 bytes

  - id: set_speaker_enable
    label: Enable/Disable Speaker
    kind: action
    command: SSSPpXy
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: speaker_id
        type: string
        values: ["1", "7", "8", "A"]
        description: "1=Subwoofer, 7=Center, 8=Surround, A=Height"
      - name: state
        type: integer
        values: [0, 1]

  - id: set_lfe_low_pass
    label: Set LFE Low Pass Filter
    kind: action
    command: BMSPp0y
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: frequency
        type: integer
        description: "40-120 Hz step 10, 130=Bypass"

  - id: set_crossover
    label: Set Crossover Frequency
    kind: action
    command: BMSPpXy
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: speaker_id
        type: string
        values: ["5", "7", "8", "A"]
        description: "5=Front, 7=Center, 8=Surround, A=Height"
      - name: frequency
        type: integer
        description: "40-250 Hz step 10, 30=Off"

  - id: set_sub_phase_freq
    label: Set Subwoofer Phase Frequency
    kind: action
    command: BMSPp10y
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: frequency
        type: integer
        min: 40
        max: 120

  - id: set_sub_phase
    label: Set Subwoofer Phase
    kind: action
    command: BMSPp11y
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: degrees
        type: integer
        min: 0
        max: 120

  - id: set_sub_polarity
    label: Set Subwoofer Polarity
    kind: action
    command: BMSPp12y
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: polarity
        type: integer
        values: [0, 1]
        description: "0=Normal, 1=Inverted"

  - id: set_speaker_distance
    label: Set Speaker Distance
    kind: action
    command: LPSPpXy
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: speaker_id
        type: string
        values: ["1", "5", "6", "9", "A", "B", "E", "F"]
        description: "1=Sub, 5=FL, 6=FR, 9=Ctr, A=SL, B=SR, E=HL, F=HR"
      - name: distance
        type: integer
        min: 0
        max: 180
        description: "Feet 0-30 step 2in, or cm 0-900 step 5cm"

  - id: set_calibration_level
    label: Set Calibration Level
    kind: action
    command: LCSPp0y
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: level_db
        type: number
        min: -15
        max: 15
        step: 0.5

  - id: set_speaker_level
    label: Set Speaker Level (Profile)
    kind: action
    command: LCSPpXy
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: speaker_id
        type: string
        values: ["1", "5", "6", "9", "A", "B", "E", "F"]
        description: "1=Sub, 5=FL, 6=FR, 9=Ctr, A=SL, B=SR, E=HL, F=HR"
      - name: level_db
        type: number
        min: -12
        max: 12
        step: 0.5

  - id: set_test_tone
    label: Set Test Tone
    kind: action
    command: LCSPpKy
    params:
      - name: profile
        type: integer
        min: 1
        max: 4
      - name: speaker
        type: string
        description: "Hex bitmask: 00000000=Off, 00000001=Sub, 00000010=FL, 00000020=FR, 00000100=Ctr, 00000200=SL, 00000400=SR, 00002000=HL, 00004000=HR"

  - id: copy_settings
    label: Copy Settings
    kind: action
    command: CPYSxy
    params:
      - name: source
        type: integer
        values: [0, 1, 2]
        description: "0=Current, 1=User, 2=Installer"
      - name: dest
        type: integer
        values: [0, 1, 2]
        description: "0=Current, 1=User, 2=Installer"

  - id: load_factory_settings
    label: Load Factory Settings
    kind: action
    command: LDFDS
    params: []

  - id: reset_otf_settings
    label: Reset On-The-Fly Settings
    kind: action
    command: LOTFS
    params: []

Feedbacks

feedbacks:
  - id: power_state
    type: enum
    query: Z1POW?
    values: [off, on]

  - id: current_input
    type: integer
    query: Z1INP?
    description: "Input number 1-30"

  - id: volume_db
    type: number
    query: Z1VOL?
    description: "Volume in dB, -90 to +10"

  - id: volume_pct
    type: integer
    query: Z1PVOL?
    description: "Volume 0-100%"

  - id: mute_state
    type: enum
    query: Z1MUT?
    values: [unmuted, muted]

  - id: listening_mode
    type: enum
    query: Z1ALM?
    values: [none, automatic, anthemlogic_cinema, anthemlogic_music, dolby_surround, dts_neural_x, all_channel_stereo, mono, all_channel_mono]

  - id: tone_bass
    type: number
    query: Z1TON0?
    description: "Bass -10 to +10 dB"

  - id: tone_treble
    type: number
    query: Z1TON1?
    description: "Treble -10 to +10 dB"

  - id: balance
    type: number
    query: Z1BAL?
    description: "-5 to +5"

  - id: model_info
    type: string
    query: IDQ?
    description: "Model, software version, region, build date"

  - id: model_name
    type: string
    query: IDM?

  - id: software_version
    type: string
    query: IDS?

  - id: serial_number
    type: string
    query: GSN?

  - id: region
    type: string
    query: IDR?
    values: [US, EU, CN]

  - id: build_date
    type: string
    query: IDB?

  - id: hardware_version
    type: string
    query: IDH?

  - id: host_firmware
    type: string
    query: IDHOST?

  - id: hdmi_firmware
    type: string
    query: IDHDMI?

  - id: wifi_mac
    type: string
    query: WMAC?

  - id: ethernet_mac
    type: string
    query: EMAC?

  - id: network_status
    type: string
    query: NMST?
    description: "IP address, 'Up', 'Down', or 'Connecting'"

  - id: psu_temperature
    type: number
    query: PSUT?

  - id: hdmi_temperature
    type: number
    query: HDMIT?

  - id: video_input_resolution
    type: enum
    query: Z1VIR?
    values: [no_input, other, 1080p60, 1080p50, 1080p24, 1080i60, 1080i50, 720p60, 720p50, 576p50, 576i50, 480p60, 480i60, 3D, 4k60, 4k50, 4k30, 4k25, 4k24, 4k48]

  - id: audio_input_channels
    type: enum
    query: Z1AIC?
    values: [no_input, other, mono, 2ch, 5_1, 7_1, dolby_atmos, dts_x]

  - id: audio_input_format
    type: enum
    query: Z1AIF?
    values: [no_input, analog, pcm, dolby, dsd, dts, dolby_atmos, dts_x]

  - id: audio_bit_rate
    type: integer
    query: Z1BRT?
    description: "Bit rate in kbps"

  - id: audio_sample_rate
    type: integer
    query: Z1SRT?
    description: "Sample rate in kHz"

  - id: audio_bit_depth
    type: enum
    query: Z1BDP?
    values: ["16-bit", "24-bit", "32-bit", unknown]

  - id: audio_format_name
    type: string
    query: Z1AIN?

  - id: audio_bit_rate_name
    type: string
    query: Z1AIR?

  - id: input_count
    type: integer
    query: ICN?

  - id: input_name
    type: string
    query: ISiIN?
    description: "Per input 1-30"

  - id: input_video_source
    type: enum
    query: ISiVID?
    values: [none, hdmi]

  - id: input_audio_source
    type: enum
    query: ISiAIJ?
    values: [none, hdmi, hdmi_earc, digital_optical, analog, streaming, bluetooth]

  - id: input_speaker_profile
    type: integer
    query: ISiSP?

  - id: input_arc
    type: enum
    query: ISiARC?
    values: [off, on]

  - id: arc_valid
    type: enum
    query: Z1ARCVAL?
    values: [not_valid, valid]

  - id: arc_upload_date
    type: string
    query: Z1ARCUPL?

  - id: arc_name
    type: string
    query: Z1ARCNAM?

  - id: track_duration
    type: integer
    query: PLAYDUR?
    description: "Duration in seconds"

  - id: track_title
    type: string
    query: PLAYTITL?

  - id: track_album
    type: string
    query: PLAYALB?

  - id: track_artist
    type: string
    query: PLAYART?

  - id: track_cover_art_url
    type: string
    query: PLAYCOVR?

  - id: play_mode
    type: enum
    query: PLAYMODE?
    values: [normal, shuffle, repeat_one, shuffle_repeat_one, repeat_all, shuffle_repeat_all]

  - id: play_position
    type: integer
    query: PLAYTIME?
    description: "Position in seconds"

  - id: streaming_service
    type: string
    query: PLAYSRVC?

  - id: play_allow_previous
    type: boolean
    query: PLAYAPRV?

  - id: play_allow_next
    type: boolean
    query: PLAYANXT?

  - id: play_allow_playpause
    type: boolean
    query: PLAYAPP?

  - id: play_allow_shuffle_repeat
    type: string
    query: PLAYASRM?
    description: "Bitmask: shuffle, repeatOne, shuffleRepeatOne, repeatAll, shuffleRepeatAll"

Variables

# Per-input and per-profile settings that are settable but not discrete actions
# are represented as actions above with their corresponding feedbacks.
# UNRESOLVED: determine if additional variable entries are needed beyond action/feedback pairs

Events

events:
  - id: bulk_settings_changed
    description: "BSC1 - Sent when bulk operations change settings. Control system must invalidate all cached settings and re-query."
    format: BSC1

  - id: async_state_change
    description: "All queryable settings that can change are reported asynchronously to all active connections whenever a change occurs."
    format: "<CommandCode><Value>"

  - id: ddp_broadcast_connect
    description: "Device Discovery Protocol broadcast when unit establishes a network connection."

  - id: ddp_broadcast_disconnect
    description: "Device Discovery Protocol broadcast when unit shuts down (powering_off byte set to 1)."

Macros

# UNRESOLVED: no multi-step macro sequences explicitly described in source

Safety

confirmation_required_for: []
interlocks:
  - description: "Only a few commands are valid in standby: all queries and ZxPOW, ZxINP, ZxVOL, ZxPVOL. All other commands return invalid."
  - description: "ISiARC must not be set to 1 if Z1ARCVAL? is 0."
  - description: "GCCPFC (CEC Power-Off) requires CEC to be ON."
  - description: "GCCTVA (HDMI Audio to TV) requires CEC to be OFF."
# UNRESOLVED: power-on sequencing beyond 'IP control in standby' not detailed

Notes

  • Commands use semicolon ; as the only valid separator/terminator. Query responses also terminate with semicolon.
  • Successful commands return ; after execution. For immediate feedback, append the query command: e.g. Z1VOL-28;Z1VOL?;.
  • Unexecutable recognized commands return !E<OriginalCommand>. Invalid commands return !I<OriginalCommand>.
  • Average command processing latency is 20ms.
  • Multiple commands can be combined in a single message.
  • Textual data uses hex-encoded UTF-8 (2 hex chars per ASCII byte, 4-6 for multi-byte).
  • If maximum connections are exceeded, the oldest connection is forcibly closed.
  • WebSocket on port 8080 operates identically to the TCP socket.
  • Terse volume mapping: 0%=-90dB, 4%=-74dB (step 4), 11%=-53dB (step 3), 20%=-35dB (step 2), 30%=-25dB (step 1), 100%=+10dB (step 0.5).
  • Device Discovery Protocol (DDP) uses binary UDP broadcast on the local subnet with a structured packet containing device name, model, serial number, TCP port, and extended metadata.

Provenance

source_domains:
  - storage.googleapis.com
source_urls:
  - "https://storage.googleapis.com/sandbox1-anthemav/an/MRX%20SLM%20-%20IP%20Control%20Specification-20251208145419790.pdf"
retrieved_at: 2026-04-30T04:21:05.503Z
last_checked_at: 2026-06-02T21:39:41.930Z

Verification Summary

verdict: verified
checked_at: 2026-06-02T21:39:41.930Z
matched_actions: 66
action_count: 66
confidence: medium
summary: "Full protocol coverage with all state/configuration/control actions present and transport specified (10 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "maximum number of simultaneous connections not stated"
- "firmware version compatibility not stated"
- "WebSocket sub-protocol / framing details not stated beyond \"operates the same way as TCP\""
- "determine if additional variable entries are needed beyond action/feedback pairs"
- "no multi-step macro sequences explicitly described in source"
- "power-on sequencing beyond 'IP control in standby' not detailed"
- "maximum simultaneous connections not stated"
- "DDP UDP port number not stated"
- "WebSocket framing/upgrade details not specified beyond \"operates the same way\""
- "error recovery / reconnection behavior not documented"

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0