Summary

BSS Audio BLU 805 Soundweb London DSP. Third-party control via London Direct Inject protocol over RS-232 and TCP/IP (port 1023). Protocol is generic across Soundweb London family; addressing is per-parameter (Node/Virtual Device/Object/Parameter IDs).

Transport

protocols:
  - tcp
  - serial
addressing:
  port: 1023
serial:
  baud_rate: null  # UNRESOLVED: baud rate configurable in Audio Architect, not stated in source
  data_bits: null  # UNRESOLVED: not stated in source
  parity: null     # UNRESOLVED: not stated in source
  stop_bits: null  # UNRESOLVED: not stated in source
  flow_control: none
auth:
  type: none  # inferred: no auth procedure in source

Traits

# UNRESOLVED: traits not explicitly declared in source. Soundweb London is a DSP - gain/mute/routing/preset are all present, so:
- levelable    # inferred: gain parameters present
- routable     # inferred: source selector parameters present
- queryable    # inferred: SUBSCRIBE message type present

Actions

# CRITICAL: source documents a generic protocol (London Direct Inject), not discrete
# product commands. Actions below mirror the protocol's message-type opcodes. Parameter
# payload (Node/VirtualDevice/ObjectID/ParameterID + Value) is variable per use.

- id: set_parameter_raw
  label: Set Parameter (Raw)
  kind: action
  command: "0x02 0x88 {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {val_b0} {val_b1} {val_b2} {val_b3} {checksum} 0x03"  # UNRESOLVED: full body template - checksum computed as XOR of all body bytes before substitution
  params:
    - name: node_address
      type: integer
      description: Node Address (0x0001-0xFFFE)
    - name: virtual_device
      type: integer
      description: Virtual Device ID (Audio=0x03, Logic=0x02)
    - name: object_id
      type: integer
      description: Processing Object ID (3 bytes)
    - name: parameter_id
      type: integer
      description: Parameter ID (2 bytes)
    - name: raw_value
      type: integer
      description: 32-bit signed raw value

- id: set_parameter_percent
  label: Set Parameter (Percent)
  kind: action
  command: "0x02 0x8D {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {val_b0} {val_b1} {val_b2} {val_b3} {checksum} 0x03"
  params:
    - name: node_address
      type: integer
      description: Node Address (0x0001-0xFFFE)
    - name: virtual_device
      type: integer
      description: Virtual Device ID
    - name: object_id
      type: integer
      description: Processing Object ID (3 bytes)
    - name: parameter_id
      type: integer
      description: Parameter ID (2 bytes)
    - name: percent_value
      type: integer
      description: Percentage value (0-100)

- id: set_parameter_string
  label: Set Parameter (String, up to 32 ASCII)
  kind: action
  command: "0x02 0x91 {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {length} {ascii...} 0x00 {checksum} 0x03"
  params:
    - name: node_address
      type: integer
    - name: virtual_device
      type: integer
    - name: object_id
      type: integer
    - name: parameter_id
      type: integer
    - name: string_value
      type: string
      description: Up to 32 ASCII chars; null-terminated with length prefix

- id: subscribe_parameter_raw
  label: Subscribe Parameter (Raw)
  kind: query
  command: "0x02 0x89 {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {checksum} 0x03"
  params:
    - name: node_address
      type: integer
    - name: virtual_device
      type: integer
    - name: object_id
      type: integer
    - name: parameter_id
      type: integer

- id: subscribe_parameter_percent
  label: Subscribe Parameter (Percent)
  kind: query
  command: "0x02 0x8E {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {checksum} 0x03"
  params:
    - name: node_address
      type: integer
    - name: virtual_device
      type: integer
    - name: object_id
      type: integer
    - name: parameter_id
      type: integer

- id: unsubscribe_parameter_raw
  label: Unsubscribe Parameter (Raw)
  kind: action
  command: "0x02 0x8A {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {checksum} 0x03"
  params:
    - name: node_address
      type: integer
    - name: virtual_device
      type: integer
    - name: object_id
      type: integer
    - name: parameter_id
      type: integer

- id: unsubscribe_parameter_percent
  label: Unsubscribe Parameter (Percent)
  kind: action
  command: "0x02 0x8F {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {checksum} 0x03"
  params:
    - name: node_address
      type: integer
    - name: virtual_device
      type: integer
    - name: object_id
      type: integer
    - name: parameter_id
      type: integer

- id: bump_parameter_percent
  label: Bump Parameter (Percent)
  kind: action
  command: "0x02 0x90 {node_hi} {node_lo} {vdev} {obj_id_hi} {obj_id_mid} {obj_id_lo} {param_hi} {param_lo} {val_b0} {val_b1} {val_b2} {val_b3} {checksum} 0x03"
  params:
    - name: node_address
      type: integer
    - name: virtual_device
      type: integer
    - name: object_id
      type: integer
    - name: parameter_id
      type: integer
    - name: percent_delta
      type: integer
      description: Percentage delta (positive or negative)

- id: recall_parameter_preset
  label: Recall Parameter Preset
  kind: action
  command: "0x02 0x8C {preset_b0} {preset_b1} {preset_b2} {preset_b3} {checksum} 0x03"
  params:
    - name: preset_id
      type: integer
      description: 4-byte preset ID

Feedbacks

# Response opcodes returned by device after SUBSCRIBE or as SET echo.
- id: set_raw_echo
  type: binary
  description: Unsolicited/raw SET (0x88) returned when subscribed parameter changes; 4-byte value
- id: set_percent_echo
  type: integer
  description: SET PERCENT (0x8D) echo on subscribed parameter percent change
- id: set_string_echo
  type: string
  description: SET STRING (0x91) echo for subscribed string parameter
- id: ack_ok
  type: enum
  values: [ack]
  description: 0x06 - RS-232 message received, checksum valid
- id: ack_nak
  type: enum
  values: [nak]
  description: 0x15 - RS-232 checksum invalid

Variables

# UNRESOLVED: parameter set is device-configuration-defined, not enumerated in source

Events

# SUBSCRIBE-triggered SET / SET PERCENT / SET STRING messages on parameter change.
# See Feedbacks section for opcodes.

Macros

# UNRESOLVED: source does not document multi-step sequences

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings, interlocks, or power-on sequencing in source

Notes

  • London Direct Inject protocol is shared across Soundweb London family. BLU 805 uses generic parameter addressing; specific gain/mute/routing actions require the operator to query Node/VirtualDevice/Object/Parameter IDs from Audio Architect.
  • TCP port 1023 confirmed. RS-232 baud rate/databits/parity/stopbits not specified in source — set via Audio Architect Properties window.
  • Message framing: 0x02 start, 0x03 end, XOR checksum on body bytes (before byte-substitution expansion). Special bytes 0x02/0x03/0x06/0x15/0x1B must be byte-substituted after checksum compute.
  • Ethernet: TCP reliable delivery = no ack needed. RS-232: device retransmits if 0x06/0x15 not received within 1 second.
  • Crown, JBL, AKG devices do NOT respond to this protocol.
  • BLU-Link, Dante, CobraNet, AVB are NOT control transports.

Provenance

source_domains:
  - bssaudio.com
source_urls:
  - https://bssaudio.com/en/site_elements/soundweb-london-third-party-control-application-guide
  - https://bssaudio.com/en/site_elements/soundweb-london-di-kit
  - https://www.bssaudio.com/en/support
retrieved_at: 2026-07-01T14:02:25.790Z
last_checked_at: 2026-07-07T11:05:58.930Z

Verification Summary

verdict: verified
checked_at: 2026-07-07T11:05:58.930Z
matched_actions: 9
action_count: 9
confidence: medium
summary: "All 9 spec actions matched distinct London Direct Inject opcodes in the protocol reference; transport declarations (TCP 1023, serial RS-232, no auth) all corroborated verbatim. (9 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "source omits model-specific behavior, fault recovery, and firmware version constraints."
- "baud rate configurable in Audio Architect, not stated in source"
- "not stated in source"
- "traits not explicitly declared in source. Soundweb London is a DSP - gain/mute/routing/preset are all present, so:"
- "full body template - checksum computed as XOR of all body bytes before substitution"
- "parameter set is device-configuration-defined, not enumerated in source"
- "source does not document multi-step sequences"
- "no safety warnings, interlocks, or power-on sequencing in source"
- "firmware compatibility range, fault/error recovery, voltage/current specs all absent from source."

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