KNX Multi-Room Audio Integration: Sonos, Bluesound and Extron Control
Multi-room audio is a standard requirement in residential KNX projects and increasingly in hospitality (hotels, restaurants, hotel bars). KNX provides the scene triggers and source selection commands — but the audio systems (Sonos, Bluesound, Extron) use their own protocols (REST API, TCP, RS-232). This guide covers the integration architecture for each platform, KNX push-button trigger wiring, and practical commissioning for a residential multi-room audio project.
Integration architecture overview
KNX controls audio via two approaches: (1) KNX → middleware → audio system API: KNX binary output or value telegram → Home Assistant / IP-Symcon / Control4 HDMI → REST API / UDP / RS-232 to audio system. This is the most flexible approach — supports bidirectional status. (2) KNX binary output relay → RS-232 trigger: KNX relay closes → RS-232 command sent by embedded RS-232 controller (e.g., GlobalCache iTach RS-232 or Extron ipLink). Simpler for basic on/off, no status feedback. For professional residential and hospitality projects: Home Assistant + KNX integration (ha-knx) is the recommended middleware — open-source, runs on local server, no cloud dependency, supports Sonos, Bluesound (bluesound-node library), and Extron RS-232.
Sonos integration via Home Assistant KNX bridge
Home Assistant (HA) with KNX integration: HA runs on Raspberry Pi 4 or NUC. HA KNX: connects to KNXnet/IP router or tunnelling interface, exposes KNX GAs as HA entities. Sonos integration: HA native Sonos integration (no additional library needed) — detects Sonos speakers on LAN via mDNS. Mapping KNX to Sonos: HA automation: trigger = KNX binary input GA 6/0/0 = 1 (push-button press) → action = media_player.volume_up (Sonos entity). GA 6/0/1 = 1 → media_player.play_media (Sonos, stream URL: Spotify/TuneIn/radio stream). GA 6/0/2 = 1 → media_player.media_stop. Volume control: KNX DPT 5.001 (0–100%) → HA automation: when GA 6/0/5 changes value → calculate volume percentage → call media_player.volume_set (level = value/255). Sonos group: send play command to Sonos group entity (multiple Sonos speakers sync automatically). Status feedback: HA → KNX: when Sonos play state changes → HA sends KNX GA 6/0/10 = 1/0 (playing status) → KNX pushbutton LED shows playback status.
Bluesound Node 2i integration
Bluesound (Canadian brand, audiophile network streaming) uses BluOS API (REST over HTTP, port 11000). Bluesound Node 2i (streaming pre-amp, RCA/XLR output, Ethernet/Wi-Fi). Integration: HA Bluesound custom integration (HACS community store) → exposes Node 2i as HA media_player entity. Same KNX automation logic as Sonos: KNX GA → HA trigger → Bluesound API call. Direct API example (if no HA): HTTP GET http://node2i_ip:11000/Status → returns JSON with current status, volume, song. HTTP GET http://node2i_ip:11000/Play?id=PLAYLIST_ID → starts playlist. From KNX: KNX binary output relay → GlobalCache iTach Flex (IP-to-serial) → BlueOS doesn't have RS-232 — must use Ethernet API. Alternative direct: Raspberry Pi Python script listens on MQTT → when MQTT topic "audio/room1/play" received → sends HTTP GET to Bluesound API. MQTT source: HA KNX → publishes GA value to MQTT → Python bridge → Bluesound API.
Extron DMP 128 DSP for commercial audio
Extron DMP 128 (commercial DSP audio matrix, 12×8 mix/route, 128-band EQ, RS-232 and TCP/IP SIS protocol). Used in restaurants, hotel bars, conference rooms. RS-232 control from KNX: KNX binary output relay → GlobalCache iTach Serial → RS-232 to DMP 128. Extron SIS commands: SS x y (Set Signal Source x to Output y — route input x to output y). VG x y (Volume Group x set to y dB). MP x (Mute Preset x). Example: KNX relay 1 closes → iTach serial sends "SS 1 1 " (Dining Room play Background Music). KNX relay 2 → "SS 2 1 " (switch to Live Music input). Volume: KNX DPT 5.001 (0–100%) → HA automation → TCP connection to DMP 128 port 23 → send "VG 1 " + volume_dB + " ". Volume mapping: 0% = -80dB, 100% = 0dB (or +6dB max). DMP 128 preset recall: "MP 1 " recalls preset 1 (pre-programmed EQ and routing for "Background Music" scene). Map to KNX scene GA: DPT 18.001 scene 1 → HA → Extron DMP 128 preset 1.
KNX push-button audio scene recall
KNX push-button (Niko One, Gira, Jung) configured for audio scenes: 4-button module: Button 1 = Audio Scene 1 "Background Music" (DPT 18.001, scene 1, GA 6/0/9). Button 2 = "Dinner Music" (scene 2). Button 3 = Volume Up (DPT 3.007 4-bit dim, GA 6/0/5). Button 4 = All Audio Off (DPT 1.001, value 0, GA 6/0/0). HA automation maps scene GAs: scene 1 → play Jazz playlist on Sonos group. Scene 2 → play Classical playlist at lower volume. Button 4 → media_player.media_stop all Sonos + DMP 128 mute. LED feedback: Sonos playing status → GA 6/0/10 → KNX push-button LED 1 (green when playing). This gives the homeowner tactile audio control without smartphone needed.
Commissioning and troubleshooting
Network requirements: all audio devices and Raspberry Pi (HA) on same LAN VLAN (or permit inter-VLAN routing for HA to reach audio devices). Sonos multicast: ensure switch IGMP snooping configured (Sonos uses mDNS/multicast for device discovery). Common issues: (1) Sonos not discovered by HA: check IGMP snooping settings on managed switch, ensure HA and Sonos on same VLAN. (2) Bluesound volume control not working: verify BluOS API version (older firmware uses different volume endpoint — update Bluesound firmware). (3) Extron RS-232 no response: verify baud rate 9600 (Extron SIS default), 8N1, flow control = none. Test RS-232 from terminal (PuTTY, minicom) before implementing KNX bridge. (4) KNX-to-HA latency: HA KNX integration processes telegrams within 100–200ms — acceptable for audio control. For video switching (AV matrix), latency ≤50ms is required — use direct TCP/RS-232 without HA middleware.
Need help with your KNX or DALI project?
Our certified engineers can discuss panel design, commissioning, integrations and project-specific edge cases. Free initial consultation.
Contact our engineers →