Skip to content

Control Sonos from KNX

Once a Sonos player is imported as a 1Home device, you can map its commands and status onto KNX group addresses

Table of contents

Add a Sonos mapping

Navigate to Integrations → KNX → Configure, find Bridge Devices to KNX section and click Configure. In popup click on + Add Device and select the Sonos player you want to map — the mapper shows the full list of status and command group objects listed above, ready to be assigned a group address.

Location of the KNX mapper under Settings → Integrations → KNX

For each group object you want to use, assign a KNX group address (and a gateway, if you have more than one). You do not need to assign all of them — unassigned group objects are simply inactive.

KNX mapper showing Sonos status and command group objects

What you can map

The 1Home KNX mapper exposes two kinds of group objects for each Sonos player: status objects that push Sonos state out to KNX, and command objects that take KNX writes and turn them into Sonos actions.

Status (Sonos → KNX)

These group objects send a value onto KNX whenever the corresponding state on the player changes. They can also respond to KNX read requests on their group address.

Group objectDPTNotes
Volume5.0010–100 %
Muted1.001Boolean
Source Name16.001Music source (e.g. Spotify, Apple Music)
Source Service Name16.001Display name of the music service
Current Item Name16.001Current track or item name
Current Item Duration12.001Seconds
Item Offset12.001Current playback position in seconds
Next Item Name16.001Name of the next queued item
Repeat1.001Boolean
Repeat One1.001Boolean
Shuffle1.001Boolean
Crossfade1.001Boolean

DPT 16 is limited to 14 characters

Source Name, Source Service Name, Current Item Name, and Next Item Name are sent as DPT 16.001 strings, which have a 14-character maximum. Longer names are truncated before being written to the bus.

Commands (KNX → Sonos)

These group objects receive a KNX write and trigger the corresponding action on the Sonos player.

Group objectDPTEffect
Set Volume5.001Set volume to the written value
Set Relative Volume6.010Adjust volume by the signed delta
Duck1.001Duck for the configured duration (see below)
Unduck1.001Restore the pre-duck volume immediately
Mute1.001Mute the player
UnMute1.001Unmute the player
Play1.001Resume playback
Pause1.001Pause playback
Toggle Play/Pause1.001Flip between play and pause
Next1.001Skip to next track
Previous1.001Return to previous track
Set Repeat1.001Toggle repeat-all
Set Repeat One1.001Toggle repeat-one
Set Shuffle1.001Toggle shuffle
Set Crossfade1.001Toggle crossfade

Trigger values for boolean commands

DPT 1.XXX commands — Play, Pause, Toggle Play/Pause, Next, Previous, Mute, UnMute, Duck, Unduck — can be configured on the mapping to fire on a KNX write of 1, a write of 0, or either. The default is 1.

This is useful when a pushbutton sends both a press (1) and a release (0) on the same group address and you only want one of those to act — for example, "play on press, do nothing on release".

Ducking with KNX

The duck duration is configurable per mapping, in seconds. The default is ten seconds.

When a KNX pushbutton writes the configured trigger value to the Duck group address, the Sonos speaker drops its volume for that duration and then automatically restores the previous level. You don't need to send a separate Unduck write — that happens on its own.

If you ever want to cut the ducking short, write to the Unduck group address.

What you can't do from KNX

A handful of Sonos capabilities are reachable from automations but not from the KNX mapper directly — there is no KNX group object for them:

  • Load Favorite / Load Playlist
  • Modify Group Members
  • Play Audio Clip / Play Custom Audio Clip
  • Seek / Seek Relative

For these, trigger an automation from KNX (for example, via a group-address trigger) and call the action from inside the automation. See Working with KNX in Automations for that pattern.