Summary
TCP text-line control protocol for LEA Dante Connect Series and Network Connect Series amplifiers. Commands are ASCII verb + URL path (+ optional value), newline-delimited, served on TCP port 4321 (firmware 1.1.0.X+). The same surface supports get, set, subscribe, and unsubscribe operations on a tree of /amp/... objects (deviceInfo, powerSupply, autoStandby, signalGenerator, analog inputs, per-channel inputSelector/crossover/outputEqFilters/rmsLimiter/peakLimiter/output/levels/loadMonitor).
Transport
protocols:
- tcp
addressing:
port: 4321
auth:
type: none # inferred: no login/password/auth procedure in source
Traits
# Source documents get/set/subscribe on per-channel faders, mutes, input sources,
# crossover, EQ, limiters, auto-standby, and signal generator - all strong evidence.
- levelable # inferred: per-channel output/input faders, EQ gain, limiter threshold
- routable # inferred: inputSelector primary/secondary source selection
- queryable # inferred: get/subscribe on every documented element
- powerable # inferred: auto-standby controls and output enable state imply power management
Actions
# TCP text-line protocol. Every command is `verb /url [value]\n` where verb ∈
# {get, set, subscribe, unsubscribe}. Channel index `x` is 1-based, input `#`
# is 1-based, EQ filter `*` is 1-based. Strings with spaces must be quoted.
- id: get_element
label: Get Element Value
kind: query
command: "get /amp/{path}\n"
params:
- name: path
type: string
description: Dotted element URL path under /amp (e.g. deviceInfo/deviceName)
- id: set_element
label: Set Element Value
kind: action
command: "set /amp/{path} {value}\n"
params:
- name: path
type: string
description: Dotted element URL path under /amp
- name: value
type: string
description: New value; enclose in double-quotes if it contains spaces
- id: subscribe_element
label: Subscribe To Element
kind: action
command: "subscribe /amp/{path}\n"
params:
- name: path
type: string
description: Dotted element URL path under /amp
- id: unsubscribe_element
label: Unsubscribe From Element
kind: action
command: "unsubscribe /amp/{path}\n"
params:
- name: path
type: string
description: Dotted element URL path under /amp
# --- Device Info ---
- id: get_device_name
label: Get Device Name
kind: query
command: "get /amp/deviceInfo/deviceName\n"
- id: set_device_name
label: Set Device Name
kind: action
command: "set /amp/deviceInfo/deviceName {value}\n"
params:
- name: value
type: string
description: New device name
- id: get_venue_name
label: Get Venue Name
kind: query
command: "get /amp/deviceInfo/venueName\n"
- id: set_venue_name
label: Set Venue Name
kind: action
command: "set /amp/deviceInfo/venueName {value}\n"
params:
- name: value
type: string
description: Venue name
- id: get_model_id
label: Get Model ID
kind: query
command: "get /amp/deviceInfo/modelID\n"
- id: get_asset_tag_number
label: Get Asset Tag Number
kind: query
command: "get /amp/deviceInfo/assetTagNumber\n"
- id: set_asset_tag_number
label: Set Asset Tag Number
kind: action
command: "set /amp/deviceInfo/assetTagNumber {value}\n"
params:
- name: value
type: string
description: Asset tag identifier
- id: get_installer_name
label: Get Installer Name
kind: query
command: "get /amp/deviceInfo/installerName\n"
- id: set_installer_name
label: Set Installer Name
kind: action
command: "set /amp/deviceInfo/installerName {value}\n"
params:
- name: value
type: string
description: Installer name
- id: get_installer_contact_info
label: Get Installer Contact Info
kind: query
command: "get /amp/deviceInfo/installerContactInfo\n"
- id: set_installer_contact_info
label: Set Installer Contact Info
kind: action
command: "set /amp/deviceInfo/installerContactInfo {value}\n"
params:
- name: value
type: string
description: Contact info string
- id: get_date_of_installation
label: Get Date Of Installation
kind: query
command: "get /amp/deviceInfo/dateOfInstallation\n"
- id: get_rack_name
label: Get Rack Name
kind: query
command: "get /amp/deviceInfo/rackName\n"
- id: set_rack_name
label: Set Rack Name
kind: action
command: "set /amp/deviceInfo/rackName {value}\n"
params:
- name: value
type: string
description: Rack name
- id: get_rack_position
label: Get Rack Position
kind: query
command: "get /amp/deviceInfo/rackPosition\n"
- id: get_serial_number
label: Get Serial Number
kind: query
command: "get /amp/deviceInfo/serialNumber\n"
- id: get_date_of_mfg
label: Get Date Of Manufacture
kind: query
command: "get /amp/deviceInfo/dateOfMfg\n"
- id: get_hardware_id
label: Get Hardware ID
kind: query
command: "get /amp/deviceInfo/hardwareID\n"
- id: get_firmware_version
label: Get Firmware Version
kind: query
command: "get /amp/deviceInfo/firmwareVersion\n"
- id: get_power_supply_firmware_version
label: Get Power Supply Firmware Version
kind: query
command: "get /amp/deviceInfo/powerSupplyfirmwareVersion\n"
- id: get_amp12_firmware_version
label: Get Amp 12 Firmware Version
kind: query
command: "get /amp/deviceInfo/amp12firmwareVersion\n"
- id: get_amp34_firmware_version
label: Get Amp 34 Firmware Version
kind: query
command: "get /amp/deviceInfo/amp34firmwareVersion\n"
- id: get_up_time
label: Get Up Time
kind: query
command: "get /amp/deviceInfo/upTime\n"
- id: get_num_inputs
label: Get Number Of Inputs
kind: query
command: "get /amp/deviceInfo/numInputs\n"
- id: get_num_outputs
label: Get Number Of Outputs
kind: query
command: "get /amp/deviceInfo/numOutputs\n"
# --- Power Supply ---
- id: get_ac_line_voltage
label: Get AC Line Voltage RMS
kind: query
command: "get /amp/powerSupply/acLineVoltage\n"
- id: get_ac_line_current
label: Get AC Line Current RMS
kind: query
command: "get /amp/powerSupply/acLineCurrent\n"
- id: get_ac_line_watts
label: Get AC Line Power Draw
kind: query
command: "get /amp/powerSupply/acLineWatts\n"
- id: get_power_supply_fault
label: Get Power Supply Fault Status
kind: query
command: "get /amp/powerSupply/fault\n"
- id: get_power_supply_thermal
label: Get Power Supply Thermal Protection Status
kind: query
command: "get /amp/powerSupply/thermal\n"
- id: get_power_supply_power_ok
label: Get Power Supply Power OK Status
kind: query
command: "get /amp/powerSupply/powerOk\n"
- id: get_power_supply_line_warning
label: Get Power Supply AC Line Voltage Ok
kind: query
command: "get /amp/powerSupply/lineWarning\n"
# --- Auto Standby ---
- id: set_auto_standby_enable
label: Set Auto Standby Enable
kind: action
command: "set /amp/autoStandby/enable \"{value}\"\n"
params:
- name: value
type: string
description: "true" or "false"
- id: set_auto_standby_threshold
label: Set Auto Standby Threshold
kind: action
command: "set /amp/autoStandby/threshold {value}\n"
params:
- name: value
type: number
description: dB threshold (e.g. -60.0)
- id: set_auto_standby_time_to_wait
label: Set Auto Standby Wait Time
kind: action
command: "set /amp/autoStandby/timeToWait {value}\n"
params:
- name: value
type: integer
description: Minutes (1..240)
# --- Signal Generator ---
- id: set_signal_generator_type
label: Set Signal Generator Type
kind: action
command: "set /amp/signalGenerator/type \"{value}\"\n"
params:
- name: value
type: string
description: "Pink Noise" | "White Noise" | "Tone"
- id: set_signal_generator_frequency
label: Set Signal Generator Tone Frequency
kind: action
command: "set /amp/signalGenerator/frequency {value}\n"
params:
- name: value
type: integer
description: Hz (20..20000)
# --- Analog Inputs ---
- id: set_analog_input_sensitivity
label: Set Analog Input Sensitivity
kind: action
command: "set /amp/inputs/analog/{input}/sensitivity \"{value}\"\n"
params:
- name: input
type: integer
description: Input number (1-based)
- name: value
type: string
description: "26dB" | "34dB"
# --- Input Selector (per channel) ---
- id: get_primary_input_source
label: Get Primary Input Source
kind: query
command: "get /amp/channels/{channel}/inputSelector/primary\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_primary_input_source
label: Set Primary Input Source
kind: action
command: "set /amp/channels/{channel}/inputSelector/primary \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "Analog 1"|"Analog 2"|"Analog 1+2"|...|"Dante 7+8"
- id: set_primary_fader
label: Set Primary Gain Attenuation Fader
kind: action
command: "set /amp/channels/{channel}/inputSelector/primaryFader {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: Attenuation in dB (-80..0)
- id: subscribe_primary_level
label: Subscribe Primary Input Meter
kind: action
command: "subscribe /amp/channels/{channel}/inputSelector/primaryLevel\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_primary_signal_detect
label: Get Primary Input Signal Present
kind: query
command: "get /amp/channels/{channel}/inputSelector/primarySignalDetect\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: subscribe_primary_clip
label: Subscribe Primary Input Clip Indicator
kind: action
command: "subscribe /amp/channels/{channel}/inputSelector/primaryClip\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_primary_threshold
label: Set Primary Input Signal Override Threshold
kind: action
command: "set /amp/channels/{channel}/inputSelector/primaryThreshold {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB (-80..0)
- id: get_secondary_input_source
label: Get Secondary Input Source
kind: query
command: "get /amp/channels/{channel}/inputSelector/secondary\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_secondary_input_source
label: Set Secondary Input Source
kind: action
command: "set /amp/channels/{channel}/inputSelector/secondary \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: Analog/Dante source, or "None"
- id: get_secondary_fader
label: Get Secondary Gain Attenuation Fader
kind: query
command: "get /amp/channels/{channel}/inputSelector/secondaryFader\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_secondary_fader
label: Set Secondary Gain Attenuation Fader
kind: action
command: "set /amp/channels/{channel}/inputSelector/secondaryFader {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: Attenuation in dB (-80..0)
- id: subscribe_secondary_level
label: Subscribe Secondary Input Meter
kind: action
command: "subscribe /amp/channels/{channel}/inputSelector/secondaryLevel\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_secondary_signal_detect
label: Get Secondary Input Signal Present
kind: query
command: "get /amp/channels/{channel}/inputSelector/secondarySignalDetect\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: subscribe_secondary_clip
label: Subscribe Secondary Input Clip Indicator
kind: action
command: "subscribe /amp/channels/{channel}/inputSelector/secondaryClip\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_secondary_threshold
label: Set Secondary Input Signal Override Threshold
kind: action
command: "set /amp/channels/{channel}/inputSelector/secondaryThreshold {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB (-80..0)
- id: get_signal_detect
label: Get Input Signal Present
kind: query
command: "get /amp/channels/{channel}/inputSelector/signalDetect\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: subscribe_clip
label: Subscribe Input Signal Clip Indicator
kind: action
command: "subscribe /amp/channels/{channel}/inputSelector/clip\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_signal_priority_mode
label: Set Input Signal Priority Override Mode
kind: action
command: "set /amp/channels/{channel}/inputSelector/mode \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "Override" (auto override primary) | "Backup" (signal sensing override)
- id: set_signal_generator_channel_enable
label: Set Signal Generator Channel Enable
kind: action
command: "set /amp/channels/{channel}/inputSelector/signalGeneratorEnable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_signal_generator_channel_fader
label: Set Signal Generator Channel Fader
kind: action
command: "set /amp/channels/{channel}/inputSelector/signalGeneratorFader {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB (-80..0)
# --- Crossover (per channel) ---
- id: set_crossover_gain
label: Set Crossover Gain
kind: action
command: "set /amp/channels/{channel}/crossover/bandGainAndDelay/gain {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB (-15.0..15.0)
- id: set_crossover_delay
label: Set Crossover Delay
kind: action
command: "set /amp/channels/{channel}/crossover/bandGainAndDelay/delay {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: ms (0.0..100.0)
- id: set_crossover_invert
label: Set Crossover Polarity
kind: action
command: "set /amp/channels/{channel}/crossover/bandGainAndDelay/invert \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_lowpass_enable
label: Set Crossover Low Pass Filter Enable
kind: action
command: "set /amp/channels/{channel}/crossover/lowPassFilter/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_lowpass_type
label: Set Crossover Low Pass Filter Type
kind: action
command: "set /amp/channels/{channel}/crossover/lowPassFilter/type \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "Butterworth 6dB/oct"|"Butterworth 12dB/oct"|...|"Bessel 48dB/oct"
- id: set_lowpass_frequency
label: Set Crossover Low Pass Filter Frequency
kind: action
command: "set /amp/channels/{channel}/crossover/lowPassFilter/frequency {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: integer
description: Hz (20..20000)
- id: set_highpass_enable
label: Set Crossover High Pass Filter Enable
kind: action
command: "set /amp/channels/{channel}/crossover/highPassFilter/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_highpass_type
label: Set Crossover High Pass Filter Type
kind: action
command: "set /amp/channels/{channel}/crossover/highPassFilter/type \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "Butterworth 6dB/oct"|"Butterworth 12dB/oct"|...|"Bessel 48dB/oct"
# --- Output EQ (per channel, per filter) ---
- id: set_output_eq_enable
label: Set Output EQ Filter Enable
kind: action
command: "set /amp/channels/{channel}/outputEqFilters/{filter}/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: filter
type: integer
description: Filter number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_output_eq_type
label: Set Output EQ Filter Type
kind: action
command: "set /amp/channels/{channel}/outputEqFilters/{filter}/type \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: filter
type: integer
description: Filter number (1-based)
- name: value
type: string
description: "Parametric"|"LP Shelf 6dB/oct"|"HP Shelf 6dB/oct"|"LP Shelf 12dB/oct"|"HP Shelf 12dB/oct"
- id: set_output_eq_gain
label: Set Output EQ Filter Gain
kind: action
command: "set /amp/channels/{channel}/outputEqFilters/{filter}/gain {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: filter
type: integer
description: Filter number (1-based)
- name: value
type: number
description: dB (-15.0..15.0)
- id: set_output_eq_frequency
label: Set Output EQ Filter Frequency
kind: action
command: "set /amp/channels/{channel}/outputEqFilters/{filter}/frequency {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: filter
type: integer
description: Filter number (1-based)
- name: value
type: integer
description: Hz (20..20000)
- id: set_output_eq_q
label: Set Output EQ Filter Q
kind: action
command: "set /amp/channels/{channel}/outputEqFilters/{filter}/q {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: filter
type: integer
description: Filter number (1-based)
- name: value
type: number
description: Q factor (0.1..24.0)
# --- RMS Limiter (per channel) ---
- id: set_rms_limiter_enable
label: Set RMS Limiter Enable
kind: action
command: "set /amp/channels/{channel}/rmsLimiter/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_rms_limiter_threshold
label: Set RMS Limiter Threshold
kind: action
command: "set /amp/channels/{channel}/rmsLimiter/threshold {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB (10.0..140.0)
- id: set_rms_limiter_attack
label: Set RMS Limiter Attack
kind: action
command: "set /amp/channels/{channel}/rmsLimiter/attackTime {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: ms (1000.0..10000.0)
- id: set_rms_limiter_release
label: Set RMS Limiter Release
kind: action
command: "set /amp/channels/{channel}/rmsLimiter/releaseTime {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: ms (1000.0..10000.0)
- id: subscribe_rms_limiter_gain_reduction
label: Subscribe RMS Limiter Speaker Limiter Reduction
kind: action
command: "subscribe /amp/channels/{channel}/rmsLimiter/gainReduction\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: subscribe_rms_limiter_total_gain_reduction
label: Subscribe RMS Limiter Protection Limiter Reduction
kind: action
command: "subscribe /amp/channels/{channel}/rmsLimiter/totalGainReduction\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
# --- Peak Limiter (per channel) ---
- id: set_peak_limiter_enable
label: Set Peak Limiter Enable
kind: action
command: "set /amp/channels/{channel}/peakLimiter/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_peak_limiter_threshold
label: Set Peak Limiter Threshold
kind: action
command: "set /amp/channels/{channel}/peakLimiter/threshold {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB (14.0..198.0)
- id: set_peak_limiter_attack
label: Set Peak Limiter Attack
kind: action
command: "set /amp/channels/{channel}/peakLimiter/attackTime {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: ms (1.0..1000.0)
- id: set_peak_limiter_release
label: Set Peak Limiter Release
kind: action
command: "set /amp/channels/{channel}/peakLimiter/releaseTime {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: ms (1.0..1000.0)
- id: subscribe_peak_limiter_gain_reduction
label: Subscribe Peak Limiter Speaker Limiter Reduction
kind: action
command: "subscribe /amp/channels/{channel}/peakLimiter/gainReduction\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: subscribe_peak_limiter_total_gain_reduction
label: Subscribe Peak Limiter Protection Limiter Reduction
kind: action
command: "subscribe /amp/channels/{channel}/peakLimiter/totalGainReduction\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
# --- Output (per channel) ---
- id: get_output_channel_name
label: Get Output Channel Name
kind: query
command: "get /amp/channels/{channel}/output/name\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_output_channel_name
label: Set Output Channel Name
kind: action
command: "set /amp/channels/{channel}/output/name {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: Channel name (e.g. "Bar Speakers")
- id: set_output_channel_enable
label: Set Output Channel Ready Enable
kind: action
command: "set /amp/channels/{channel}/output/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_output_channel_mute
label: Set Output Channel Mute
kind: action
command: "set /amp/channels/{channel}/output/mute \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: set_output_channel_fader
label: Set Output Channel Gain Attenuation Fader
kind: action
command: "set /amp/channels/{channel}/output/fader {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: dB attenuation
- id: set_output_channel_hi_z_lo_z
label: Set Output Channel Hi-Z Low-Z Mode
kind: action
command: "set /amp/channels/{channel}/output/hiZLoZ \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "HiZ-70V" | "HiZ-100V" | "LoZ"
- id: set_output_channel_hi_z_hpf_frequency
label: Set Output Channel Hi-Z Mode High Pass Frequency
kind: action
command: "set /amp/channels/{channel}/output/hiZHpfFrequency {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: integer
description: Hz (35..5000)
- id: get_output_channel_fault
label: Get Output Channel Fault
kind: query
command: "get /amp/channels/{channel}/output/fault\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_thermal
label: Get Output Channel Thermal Fault
kind: query
command: "get /amp/channels/{channel}/output/thermal\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_limiting
label: Get Output Channel Limiting
kind: query
command: "get /amp/channels/{channel}/output/limiting\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_clip
label: Get Output Channel Clip
kind: query
command: "get /amp/channels/{channel}/output/clip\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_signal_detect
label: Get Output Channel Signal Presence
kind: query
command: "get /amp/channels/{channel}/output/signalDetect\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_ready
label: Get Output Channel Ready Indicator
kind: query
command: "get /amp/channels/{channel}/output/ready\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
# --- Levels (per channel) ---
- id: get_output_channel_level_db
label: Get Output Channel Meter Level dBFS
kind: query
command: "get /amp/channels/{channel}/levels/level_db\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_level_volts
label: Get Output Channel Level Volts RMS
kind: query
command: "get /amp/channels/{channel}/levels/level_volts\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: get_output_channel_level_watts
label: Get Output Channel Level Watts RMS
kind: query
command: "get /amp/channels/{channel}/levels/level_watts\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
# --- Load Monitor (per channel) ---
- id: set_load_monitor_enable
label: Set Load Monitor Enable
kind: action
command: "set /amp/channels/{channel}/loadMonitor/enable \"{value}\"\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: string
description: "true" | "false"
- id: get_load_monitor_measured_impedance
label: Get Load Monitor Measured Impedance
kind: query
command: "get /amp/channels/{channel}/loadMonitor/measuredImpedance\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- id: set_load_monitor_high_limit
label: Set Load Monitor High Limit
kind: action
command: "set /amp/channels/{channel}/loadMonitor/highLimit {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: Ohms (8.0..250.0)
- id: set_load_monitor_low_limit
label: Set Load Monitor Low Limit
kind: action
command: "set /amp/channels/{channel}/loadMonitor/lowLimit {value}\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
- name: value
type: number
description: Ohms (1.0..250.0)
- id: get_load_monitor_status
label: Get Load Monitor Status
kind: query
command: "get /amp/channels/{channel}/loadMonitor/status\n"
params:
- name: channel
type: integer
description: Channel number (1-based)
Feedbacks
# One entry per observable state or query response. Values mirror the source.
- id: ac_line_voltage
type: number
values: null
units: V
- id: ac_line_current
type: number
values: null
units: A
- id: ac_line_watts
type: number
values: null
units: W
- id: power_supply_fault
type: enum
values: [true, false]
- id: power_supply_thermal
type: enum
values: [true, false]
- id: power_supply_power_ok
type: enum
values: [true, false]
- id: power_supply_line_warning
type: enum
values: [true, false]
- id: signal_generator_type
type: enum
values: ["Pink Noise", "White Noise", "Tone"]
- id: signal_generator_frequency
type: integer
values: null
units: Hz
- id: primary_input_source
type: enum
values: ["Analog 1", "Analog 2", "Analog 1+2", "Analog 3", "Analog 4", "Analog 3+4", "Analog 5", "Analog 6", "Analog 5+6", "Analog 7", "Analog 8", "Analog 7+8", "Dante 1", "Dante 2", "Dante 1+2", "Dante 3", "Dante 4", "Dante 3+4", "Dante 5", "Dante 6", "Dante 5+6", "Dante 7", "Dante 8", "Dante 7+8"]
- id: primary_fader
type: number
values: null
units: dB
- id: primary_level
type: number
values: null
units: dBFS
- id: primary_signal_detect
type: enum
values: [true, false]
- id: primary_clip
type: enum
values: [true, false]
- id: secondary_input_source
type: enum
values: ["Analog 1", "Analog 2", "Analog 1+2", "Analog 3", "Analog 4", "Analog 3+4", "Analog 5", "Analog 6", "Analog 5+6", "Analog 7", "Analog 8", "Analog 7+8", "Dante 1", "Dante 2", "Dante 1+2", "Dante 3", "Dante 4", "Dante 3+4", "Dante 5", "Dante 6", "Dante 5+6", "Dante 7", "Dante 8", "Dante 7+8", "None"]
- id: secondary_signal_detect
type: enum
values: [true, false]
- id: secondary_clip
type: enum
values: [true, false]
- id: input_signal_detect
type: enum
values: [true, false]
- id: input_clip
type: enum
values: [true, false]
- id: signal_priority_mode
type: enum
values: ["Override", "Backup"]
- id: lowpass_filter_type
type: enum
values: ["Butterworth 6dB/oct", "Butterworth 12dB/oct", "Butterworth 18dB/oct", "Butterworth 24dB/oct", "Butterworth 48dB/oct", "Linkwitz-Riley 24dB/oct", "Linkwitz-Riley 48dB/oct", "Bessel 6dB/oct", "Bessel 12dB/oct", "Bessel 18dB/oct", "Bessel 24dB/oct", "Bessel 48dB/oct"]
- id: highpass_filter_type
type: enum
values: ["Butterworth 6dB/oct", "Butterworth 12dB/oct", "Butterworth 18dB/oct", "Butterworth 24dB/oct", "Butterworth 48dB/oct", "Linkwitz-Riley 24dB/oct", "Linkwitz-Riley 48dB/oct", "Bessel 6dB/oct", "Bessel 12dB/oct", "Bessel 18dB/oct", "Bessel 24dB/oct", "Bessel 48dB/oct"]
- id: output_eq_filter_type
type: enum
values: ["Parametric", "LP Shelf 6dB/oct", "HP Shelf 6dB/oct", "LP Shelf 12dB/oct", "HP Shelf 12dB/oct"]
- id: output_channel_mute
type: enum
values: [true, false]
- id: output_channel_hi_z_lo_z
type: enum
values: ["HiZ-70V", "HiZ-100V", "LoZ"]
- id: output_channel_fault
type: enum
values: [true, false]
- id: output_channel_thermal
type: enum
values: [true, false]
- id: output_channel_limiting
type: enum
values: [true, false]
- id: output_channel_clip
type: enum
values: [true, false]
- id: output_channel_signal_detect
type: enum
values: [true, false]
- id: output_channel_ready
type: enum
values: [true, false]
- id: output_channel_level_db
type: number
values: null
units: dBFS
- id: output_channel_level_volts
type: number
values: null
units: V
- id: output_channel_level_watts
type: number
values: null
units: W
- id: load_monitor_measured_impedance
type: number
values: null
units: ohms
- id: load_monitor_status
type: enum
values: ["Ok", "Short", "Open", "Low Signal"]
Variables
# Settable parameters already captured as actions; this section is intentionally
# empty. Channel-addressed numeric values are set via the per-element actions.
Events
# Subscriptions produce asynchronous messages of the form
# /amp/<path> <value>\n
# Example: subscribe /amp/channels/1/levels/level_db → repeated
# /amp/channels/1/levels/level_db -52.78131103515625
# These stream on the persistent TCP connection for the lifetime of the
# subscription and stop after unsubscribe.
Macros
# UNRESOLVED: no multi-step sequences described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source documents no explicit safety warnings or interlock procedures.
# Auto-standby and limiter-related thresholds are operational, not safety locks.
Notes
- All commands and responses are newline-delimited (
\n, 0x0A); missing delimiter yields no response. - Commands are case-insensitive; element URLs are case-sensitive.
- Strings/enums containing spaces must be wrapped in double quotes.
- Out-of-range numeric values are clamped silently (no error response).
- TCP control requires LEA Connect Series firmware 1.1.0.X or higher; older firmware is websocket-only.
- The amplifier accepts and emits commands on TCP port 4321 only.
- For Network Connect Series: only Analog inputs are available, and only up to the channel count of the unit (e.g. 354 lacks Analog 5–8).
- For Dante Connect Series: only Analog inputs up to the unit's input count are exposed; all 8 Dante inputs are available on every Dante model.
- The source explicitly states "more advanced commands available which are not listed" — request techsupport@leaprofessional.com for advanced API integration.
- Subscriptions require a persistent connection; an
unsubscribereturnsOKfollowed by the trailing in-flight messages.
Provenance
source_domains:
- leaprofessional.com
source_urls:
- https://leaprofessional.com/wp-content/uploads/2020/10/LEA-Open-API-TCP-Protocol-October-2020.pdf
- https://leaprofessional.com/download/tcp-control-api/
- https://leaprofessional.com/download/websocket-control-api/
- https://leaprofessional.com/blog/open-api-first-look/
retrieved_at: 2026-05-07T07:02:51.556Z
last_checked_at: 2026-07-22T00:08:31.019Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T00:08:31.019Z
matched_actions: 108
action_count: 108
confidence: medium
summary: "All 108 spec actions map 1:1 to documented /amp element URLs with matching verbs and value ranges; only the example-only danteOnRamp element is unrepresented. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- /amp/channels/x/inputSelector/danteOnRamp
- "command catalogue here only documents elements explicitly listed in source; LEA notes \"more advanced commands available which are not listed\" — coverage is partial."
- "no multi-step sequences described in source"
- "source documents no explicit safety warnings or interlock procedures."
- "error response strings beyond `error: ...` examples not fully catalogued; documented behavior suffices for implementers."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0