Biamp Tesira · TCP API · KNX Middleware · DSP Control · Conference Room · 10 min read

Biamp Tesira KNX Integration: TCP API Control, Mute GAs and Conference Scene Automation

Biamp Tesira does not include a native KNX plugin — unlike QSC Q-SYS — but its open TCP API (Tesira Text Protocol on port 8082) allows any middleware platform to send ASCII commands for preset recall, level control and mute. The KNX integration route uses a middleware layer that bridges KNX group address writes to Tesira TCP commands.

Tesira TCP API basics

The Tesira Text Protocol operates as a simple ASCII command/response protocol over TCP on port 8082. Commands follow the format: OBJECT_NAME COMMAND [param1] [param2]. The server (Tesira) responds with +OK {"value":"..."} on success or -ERR on failure.

Essential Tesira TCP commands

Connection:
  Host: <Tesira SERVER-IO IP address>
  Port: 8082
  Protocol: TCP, keep-alive
  Auth: SESSION login admin <password>

Preset recall:
  DEVICE recallPreset <preset_name>
  Example: DEVICE recallPreset "Conference Mode"
  Example: DEVICE recallPreset "Presentation Mode"
  Example: DEVICE recallPreset "Standby"

Level control (MIXER object):
  <MixerName> setLevel <input_index> <output_index> <level_dB>
  Example: MainMixer setLevel 1 1 -10.0
           (Input 1, Output 1, −10 dBFS)

  Level range: typically −60.0 to +12.0 dB
  KNX DPT 5.001 (0–100%) → Tesira dB:
    0% → −60 dB (silence), 100% → 0 dB (unity)
    Linear mapping: level_dB = (value% / 100) × 60 − 60

Mute control:
  <MixerName> setMute <input_index> <output_index> <true|false>
  Example: MainMixer setMute 1 1 true   (mute)
  Example: MainMixer setMute 1 1 false  (unmute)

Get current level (for bidirectional feedback):
  <MixerName> getLevel <input_index> <output_index>
  Response: +OK {"value": -10.0}

Object names: MIXER object names, preset names and input/output indices are defined in Tesira Software and must match exactly (case-sensitive) in TCP commands. Export the Tesira design to verify all object names before writing middleware code. Common mistake: spaces in object names must be quoted in the command string.

KNX to IP-Symcon to Tesira TCP approach

IP-Symcon is a building automation middleware platform with native KNX and TCP client modules. It monitors KNX group addresses and translates changes into Tesira TCP commands — the most robust route for installations where IP-Symcon is already deployed as a visualisation or logic platform.

IP-Symcon Tesira integration (script excerpt)

// IP-Symcon PHP script triggered by KNX GA change event

// Called when GA 7/1/1 (Tesira mute) changes
function TesiraMute($mute_value) {
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    socket_connect($socket, "192.168.1.150", 8082);

    // Login
    socket_write($socket, "SESSION login admin Password123
");
    $response = socket_read($socket, 256);  // expect +OK

    // Send mute command
    $cmd = $mute_value ? "true" : "false";
    socket_write($socket, "MainMixer setMute 1 1 $cmd
");
    $response = socket_read($socket, 256);  // expect +OK

    socket_close($socket);
}

// KNX GA triggers:
// GA 7/1/0 (DPT 5.001 volume) → TesiraSetLevel()
// GA 7/1/1 (DPT 1.001 mute)   → TesiraMute()
// GA 7/1/2 (DPT 5.010 preset) → TesiraPresetRecall()
// value 0 = Standby, 1 = Conference, 2 = Presentation

Home Assistant KNX integration approach

For sites using Home Assistant as the middleware platform, the HA KNX integration monitors group addresses and a HA Python script or shell command automation sends the corresponding Tesira TCP command. This approach requires no additional software licence beyond HA.

Home Assistant automations.yaml for Tesira mute

# KNX mute GA → Tesira TCP command
automation:
  - alias: "CR1 Tesira Mute"
    trigger:
      - platform: state
        entity_id: binary_sensor.knx_cr1_mute
    action:
      - service: shell_command.tesira_mute
        data:
          mute: "{{ states('binary_sensor.knx_cr1_mute') }}"

# shell_commands.yaml:
tesira_mute: >
  python3 /config/scripts/tesira_cmd.py
  "MainMixer setMute 1 1 {{ mute == 'on' | lower }}"

# KNX configuration (configuration.yaml):
knx:
  binary_sensor:
    - name: "knx_cr1_mute"
      state_address: "7/1/1"
  sensor:
    - name: "knx_cr1_volume"
      state_address: "7/1/0"
      type: "percentU8"   # DPT 5.001

# For preset recall — use number entity triggered by KNX:
  number:
    - name: "knx_cr1_preset"
      address: "7/1/2"
      min: 0
      max: 5
      step: 1

Mute GA, volume GA and preset recall scene

The KNX group address scheme for Tesira control follows the same DPT conventions as the QSC Q-SYS integration, enabling consistent KNX touchpanel programming across different DSP platforms.

KNX GADPTTesira commandNotes
7/1/0 — CR1 VolumeDPT 5.001 (0–100%)MainMixer setLevel → dB0%=−60dB, 100%=0dB linear
7/1/1 — CR1 MuteDPT 1.001MainMixer setMute true/false1=mute, 0=unmute
7/1/2 — CR1 PresetDPT 5.010 (unsigned)DEVICE recallPreset by name0=Standby, 1=Conf, 2=Present
7/1/3 — CR1 Vol StatusDPT 5.001MainMixer getLevel (polled)Feedback: Tesira → KNX
7/1/4 — CR1 Mute StatusDPT 1.001MainMixer getMute (polled)Feedback: Tesira → KNX

Conference room combined scene with lighting

A single KNX scene GA triggers both Tesira audio configuration and DALI lighting adjustment — creating a unified meeting room scene experience from one button press or occupancy event.

Conference room combined scene (KNX scene GA → Tesira + DALI)

KNX scene GA 7/0/0 (DPT 18.001 combined room scene):

Scene 1 — "Conference" (value 0):
  Tesira: DEVICE recallPreset "Conference Mode"
    → Routing: all microphones active, codec enabled
    → Gain: conference optimised, AEC enabled
    → Unmute: MainMixer setMute 1 1 false
  DALI: recall scene 3 (60%, 4000K, perimeter 30%)
  Display: power on (KNX binary output → RS-232 power command)

Scene 2 — "Presentation" (value 1):
  Tesira: DEVICE recallPreset "Presentation Mode"
    → Routing: laptop audio input to loudspeakers
    → Gain: presentation optimised (higher output level)
  DALI: recall scene 4 (40%, 3000K — reduced for projector)
  HDMI: switch input 2 (laptop) to output 1 (projector)

Scene 0 — "Standby" (value 63 per DPT 18.001 convention):
  Tesira: DEVICE recallPreset "Standby"
    → All inputs muted, level −60 dB
  DALI: recall scene 0 (all off)
  Display: power off (RS-232 power off command)

IP-Symcon/HA: monitors GA 7/0/0 → sends matching Tesira preset
              + writes DALI scene and display GA simultaneously

Commissioning test

Test the Tesira TCP link using a raw TCP terminal (PuTTY in Raw mode) before configuring the middleware, to verify the Tesira responds correctly to commands. Then test end-to-end from KNX Group Monitor through the middleware to Tesira.

Tesira TCP commissioning test

Step 1: Raw TCP test (PuTTY):
  Host: <Tesira IP>, Port: 8082, Connection type: Raw
  Type: SESSION login admin <password>
  Response: +OK
  Type: DEVICE recallPreset "Standby"
  Response: +OK (no value returned for preset recall)
  Type: MainMixer setMute 1 1 true
  Response: +OK
  Type: MainMixer getMute 1 1
  Response: +OK {"value": true}

Step 2: Middleware test (IP-Symcon/HA):
  Write 1 to GA 7/1/1 (KNX mute) via ETS6 Group Monitor
  → Check middleware log: Tesira command sent
  → PuTTY session: MainMixer getMute → should return true

Step 3: Volume feedback test:
  In PuTTY: MainMixer setLevel 1 1 -20.0
  → Middleware should detect level change (if polling active)
  → ETS6 Group Monitor: GA 7/1/3 (volume status) should update

Step 4: Combined scene test:
  Write 0 to GA 7/0/0 → Scene 1 (Conference)
  → Verify Tesira preset recalled (check Tesira Software monitor)
  → Verify DALI scene 3 activates (visible lighting change)
  → Verify display powers on

Need Biamp Tesira KNX integration designed and commissioned to spec?

We configure Tesira TCP API middleware, KNX scene automation and DALI lighting integration for conference rooms — delivered tested with full commissioning documentation to your site.

Request a quote →
Loading...
Back to top