DeviceProperties service
Modify device properties, like LED status and stereo pairs
The DeviceProperties service is available on these models: Sonos Play:1 (S1) S2
/ Sonos One (S13) S2
/ Sonos Beam (S14) S2
/ Sonos One (S18) S2
/ SYMFONISK Bookshelf (S21) S2
/ Sonos Roam (S27) S2
/ Sonos Play:3 (S3) S2
/ SYMFONISK Bookshelf (S33) S2
/ Sonos One SL (S38) S2
/ Sonos Play:5 (S6) S2
/ Sonos Playbar (S9) S2
/ Sonos Sub (Sub) S2
.
- Available actions
- AddBondedZones
- AddHTSatellite
- CreateStereoPair
- EnterConfigMode
- ExitConfigMode
- GetAutoplayLinkedZones
- GetAutoplayRoomUUID
- GetAutoplayVolume
- GetButtonLockState
- GetButtonState
- GetHouseholdID
- GetHTForwardState
- GetLEDState
- GetUseAutoplayVolume
- GetZoneAttributes
- GetZoneInfo
- RemoveBondedZones
- RemoveHTSatellite
- RoomDetectionStartChirping
- RoomDetectionStopChirping
- SeparateStereoPair
- SetAutoplayLinkedZones
- SetAutoplayRoomUUID
- SetAutoplayVolume
- SetButtonLockState
- SetLEDState
- SetUseAutoplayVolume
- SetZoneAttributes
- Events
Service data
name | value |
---|---|
Control URL | http://192.168.x.x:1400/DeviceProperties/Control |
Event subscription URL | http://192.168.x.x:1400/DeviceProperties/Event |
Discovery URL | http://192.168.x.x:1400/xml/DeviceProperties1.xml |
Service ID | urn:upnp-org:serviceId:DeviceProperties |
Service type | urn:schemas-upnp-org:service:DeviceProperties:1 |
Sample request
POST /DeviceProperties/Control
Host: 192.168.x.x:1400
soapaction: "urn:schemas-upnp-org:service:DeviceProperties:1#{ActionName}"
Content-Type: text/xml; charset="utf-8"
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
{ActionBodyHere}
</s:Body>
</s:Envelope>
Available actions
AddBondedZones
Action body:
<u:AddBondedZones xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<ChannelMapSet>string</ChannelMapSet>
</u:AddBondedZones>
Inputs:
parameter | type | description |
---|---|---|
ChannelMapSet | string | Â |
AddHTSatellite
Adds satellites and/or a sub woofer to a (main) player. The satellites become hidden. The main player RINCON_* is mandatory. RR: right - rear, LF: left - front, SW: subwoofer
Action body:
<u:AddHTSatellite xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<HTSatChanMapSet>string</HTSatChanMapSet>
</u:AddHTSatellite>
Inputs:
parameter | type | description |
---|---|---|
HTSatChanMapSet | string | example: RINCON_000PPP1400:LF,RF;RINCON_000RRR1400:RR;RINCON_000SSS1400:LR;RINCON_000QQQ1400:SW |
Remarks Not all speakers support satellites or sub woofer. Satellites should be of same type (e.g. Play:1)
CreateStereoPair
Create a stereo pair (left, right speakers), right one becomes hidden
Action body:
<u:CreateStereoPair xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<ChannelMapSet>string</ChannelMapSet>
</u:CreateStereoPair>
Inputs:
parameter | type | description |
---|---|---|
ChannelMapSet | string | example: RINCON_B8E9375831C001400:LF,LF;RINCON_000E58FE3AEA01400:RF,RF |
Remarks Not all speakers support StereoPairs
EnterConfigMode
Action body:
<u:EnterConfigMode xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Mode>string</Mode>
<Options>string</Options>
</u:EnterConfigMode>
Inputs:
parameter | type | description |
---|---|---|
Mode | string | Â |
Options | string | Â |
Outputs:
parameter | type | description |
---|---|---|
State | string | Â |
ExitConfigMode
Action body:
<u:ExitConfigMode xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Options>string</Options>
</u:ExitConfigMode>
Inputs:
parameter | type | description |
---|---|---|
Options | string | Â |
GetAutoplayLinkedZones
Action body:
<u:GetAutoplayLinkedZones xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Source>string</Source>
</u:GetAutoplayLinkedZones>
Inputs:
parameter | type | description |
---|---|---|
Source | string | Â |
Outputs:
parameter | type | description |
---|---|---|
IncludeLinkedZones | boolean | 1 for true and 0 for false |
GetAutoplayRoomUUID
Action body:
<u:GetAutoplayRoomUUID xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Source>string</Source>
</u:GetAutoplayRoomUUID>
Inputs:
parameter | type | description |
---|---|---|
Source | string | Â |
Outputs:
parameter | type | description |
---|---|---|
RoomUUID | string | Â |
GetAutoplayVolume
Action body:
<u:GetAutoplayVolume xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Source>string</Source>
</u:GetAutoplayVolume>
Inputs:
parameter | type | description |
---|---|---|
Source | string | Â |
Outputs:
parameter | type | description |
---|---|---|
CurrentVolume | ui2 | Â |
GetButtonLockState
Get the current button lock state
Action body:
<u:GetButtonLockState xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetButtonLockState>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
CurrentButtonLockState | string | Possible values: On / Off |
GetButtonState
Action body:
<u:GetButtonState xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetButtonState>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
State | string | Â |
GetHouseholdID
Action body:
<u:GetHouseholdID xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetHouseholdID>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
CurrentHouseholdID | string | Â |
GetHTForwardState
Action body:
<u:GetHTForwardState xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetHTForwardState>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
IsHTForwardEnabled | boolean | 1 for true and 0 for false |
GetLEDState
Get the current LED state
Action body:
<u:GetLEDState xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetLEDState>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
CurrentLEDState | string | Possible values: On / Off |
GetUseAutoplayVolume
Action body:
<u:GetUseAutoplayVolume xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Source>string</Source>
</u:GetUseAutoplayVolume>
Inputs:
parameter | type | description |
---|---|---|
Source | string | Â |
Outputs:
parameter | type | description |
---|---|---|
UseVolume | boolean | 1 for true and 0 for false |
GetZoneAttributes
Action body:
<u:GetZoneAttributes xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetZoneAttributes>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
CurrentZoneName | string | Â |
CurrentIcon | string | Â |
CurrentConfiguration | string | Â |
CurrentTargetRoomName | string | Â |
GetZoneInfo
Get information about this specific speaker
Action body:
<u:GetZoneInfo xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
</u:GetZoneInfo>
No input arguments
Outputs:
parameter | type | description |
---|---|---|
SerialNumber | string | Â |
SoftwareVersion | string | Â |
DisplaySoftwareVersion | string | Â |
HardwareVersion | string | Â |
IPAddress | string | Â |
MACAddress | string | Â |
CopyrightInfo | string | Â |
ExtraInfo | string | Â |
HTAudioIn | ui4 | SPDIF input, 0 not connected / 2 stereo / 7 Dolby 2.0 / 18 dolby 5.1 / 21 not listening / 22 silence |
Flags | ui4 | Â |
RemoveBondedZones
Action body:
<u:RemoveBondedZones xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<ChannelMapSet>string</ChannelMapSet>
<KeepGrouped>boolean</KeepGrouped>
</u:RemoveBondedZones>
Inputs:
parameter | type | description |
---|---|---|
ChannelMapSet | string | Â |
KeepGrouped | boolean | Allowed values: 1 (= true) / 0 (= false) |
RemoveHTSatellite
Removes a satellite or a sub woofer from (main) player. The satellite becomes visible.
Action body:
<u:RemoveHTSatellite xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<SatRoomUUID>string</SatRoomUUID>
</u:RemoveHTSatellite>
Inputs:
parameter | type | description |
---|---|---|
SatRoomUUID | string | example: RINCON_000RRR1400 |
Remarks Not all speakers support satellites or sub woofer. Multiples RINCON_* are not allowed.
RoomDetectionStartChirping
Action body:
<u:RoomDetectionStartChirping xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Channel>ui2</Channel>
<DurationMilliseconds>ui4</DurationMilliseconds>
<ChirpIfPlayingSwappableAudio>boolean</ChirpIfPlayingSwappableAudio>
</u:RoomDetectionStartChirping>
Inputs:
parameter | type | description |
---|---|---|
Channel | ui2 | Â |
DurationMilliseconds | ui4 | Â |
ChirpIfPlayingSwappableAudio | boolean | Allowed values: 1 (= true) / 0 (= false) |
Outputs:
parameter | type | description |
---|---|---|
PlayId | ui4 | Â |
RoomDetectionStopChirping
Action body:
<u:RoomDetectionStopChirping xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<PlayId>ui4</PlayId>
</u:RoomDetectionStopChirping>
Inputs:
parameter | type | description |
---|---|---|
PlayId | ui4 | Â |
SeparateStereoPair
Separate a stereo pair
Action body:
<u:SeparateStereoPair xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<ChannelMapSet>string</ChannelMapSet>
</u:SeparateStereoPair>
Inputs:
parameter | type | description |
---|---|---|
ChannelMapSet | string | example: RINCON_B8E9375831C001400:LF,LF;RINCON_000E58FE3AEA01400:RF,RF |
Remarks Not all speakers support StereoPairs
SetAutoplayLinkedZones
Action body:
<u:SetAutoplayLinkedZones xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<IncludeLinkedZones>boolean</IncludeLinkedZones>
<Source>string</Source>
</u:SetAutoplayLinkedZones>
Inputs:
parameter | type | description |
---|---|---|
IncludeLinkedZones | boolean | Allowed values: 1 (= true) / 0 (= false) |
Source | string | Â |
SetAutoplayRoomUUID
Action body:
<u:SetAutoplayRoomUUID xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<RoomUUID>string</RoomUUID>
<Source>string</Source>
</u:SetAutoplayRoomUUID>
Inputs:
parameter | type | description |
---|---|---|
RoomUUID | string | Â |
Source | string | Â |
SetAutoplayVolume
Action body:
<u:SetAutoplayVolume xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<Volume>ui2</Volume>
<Source>string</Source>
</u:SetAutoplayVolume>
Inputs:
parameter | type | description |
---|---|---|
Volume | ui2 | Â |
Source | string | Â |
SetButtonLockState
Set the button lock state
Action body:
<u:SetButtonLockState xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<DesiredButtonLockState>string</DesiredButtonLockState>
</u:SetButtonLockState>
Inputs:
parameter | type | description |
---|---|---|
DesiredButtonLockState | string | Allowed values: On / Off |
SetLEDState
Set the LED state
Action body:
<u:SetLEDState xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<DesiredLEDState>string</DesiredLEDState>
</u:SetLEDState>
Inputs:
parameter | type | description |
---|---|---|
DesiredLEDState | string | Allowed values: On / Off |
SetUseAutoplayVolume
Action body:
<u:SetUseAutoplayVolume xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<UseVolume>boolean</UseVolume>
<Source>string</Source>
</u:SetUseAutoplayVolume>
Inputs:
parameter | type | description |
---|---|---|
UseVolume | boolean | Allowed values: 1 (= true) / 0 (= false) |
Source | string | Â |
SetZoneAttributes
Action body:
<u:SetZoneAttributes xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
<DesiredZoneName>string</DesiredZoneName>
<DesiredIcon>string</DesiredIcon>
<DesiredConfiguration>string</DesiredConfiguration>
<DesiredTargetRoomName>string</DesiredTargetRoomName>
</u:SetZoneAttributes>
Inputs:
parameter | type | description |
---|---|---|
DesiredZoneName | string | Â |
DesiredIcon | string | Â |
DesiredConfiguration | string | Â |
DesiredTargetRoomName | string | Â |
Events
The DevicePropertiesService has variables that might be emitted if you subscribe to events.
Subscribe to events
SUBSCRIBE /DeviceProperties/Event
Host: 192.168.x.x:1400
callback: <http://...>
NT: upnp:event
Timeout: Second-3600
Event variables
Variable | Sends events* | type | possible values |
---|---|---|---|
AirPlayEnabled | ✔ | boolean | 1 for true and 0 for false |
AutoplayIncludeLinkedZones | Â | boolean | 1 for true and 0 for false |
AutoplayRoomUUID | Â | string | Â |
AutoplaySource | Â | string | Â |
AutoplayUseVolume | Â | boolean | 1 for true and 0 for false |
AutoplayVolume | Â | ui2 | Â |
AvailableRoomCalibration | ✔ | string |  |
BehindWifiExtender | ✔ | ui4 |  |
ButtonLockState | Â | string | On / Off |
ChannelFreq | ✔ | ui4 |  |
ChannelMapSet | ✔ | string |  |
ConfigMode | ✔ | string |  |
Configuration | ✔ | string |  |
CopyrightInfo | Â | string | Â |
DisplaySoftwareVersion | Â | string | Â |
EthLink | ✔ | boolean | 1 for true and 0 for false |
ExtraInfo | Â | string | Â |
Flags | Â | ui4 | Â |
HardwareVersion | Â | string | Â |
HasConfiguredSSID | ✔ | boolean | 1 for true and 0 for false |
HdmiCecAvailable | ✔ | boolean | 1 for true and 0 for false |
HouseholdID | Â | string | Â |
HTAudioIn | Â | ui4 | Â |
HTBondedZoneCommitState | ✔ | ui4 |  |
HTForwardEnabled | Â | boolean | 1 for true and 0 for false |
HTFreq | ✔ | ui4 |  |
HTSatChanMapSet | ✔ | string |  |
Icon | ✔ | string |  |
Invisible | ✔ | boolean | 1 for true and 0 for false |
IPAddress | Â | string | Â |
IsIdle | ✔ | boolean | 1 for true and 0 for false |
IsZoneBridge | ✔ | boolean | 1 for true and 0 for false |
KeepGrouped | Â | boolean | 1 for true and 0 for false |
LastChangedPlayState | ✔ | string |  |
LEDState | Â | string | On / Off |
MACAddress | Â | string | Â |
MicEnabled | ✔ | ui4 |  |
MoreInfo | ✔ | string |  |
Orientation | ✔ | i4 |  |
RoomCalibrationState | ✔ | i4 |  |
SatRoomUUID | Â | string | Â |
SecureRegState | ✔ | ui4 |  |
SerialNumber | Â | string | Â |
SettingsReplicationState | ✔ | string |  |
SoftwareVersion | Â | string | Â |
SupportsAudioClip | ✔ | boolean | 1 for true and 0 for false |
SupportsAudioIn | ✔ | boolean | 1 for true and 0 for false |
TargetRoomName | Â | string | Â |
TVConfigurationError | ✔ | boolean | 1 for true and 0 for false |
VoiceConfigState | ✔ | ui4 |  |
WifiEnabled | ✔ | boolean | 1 for true and 0 for false |
WirelessLeafOnly | ✔ | boolean | 1 for true and 0 for false |
WirelessMode | ✔ | ui4 |  |
ZoneName | ✔ | string |  |
If the variable has a ✔
in the Sends events column, the service discovery specifies this variable emits events. Other properties might be send as a part of LastChange
This file is automatically generated with @svrooij/sonos-docs, do not edit manually.
Device | Software generation | Software version | Discovery date |
---|---|---|---|
Sonos Play:1 (S1) | S2 | 77.4-49290 | 2024-02-13T15:56:06.184Z |
Sonos One (S13) | S2 | 63.2-90210 | 2021-07-21T23:31:19.273Z |
Sonos Beam (S14) | S2 | 64.3-19080 | 2021-08-18T06:04:08.308Z |
Sonos One (S18) | S2 | 77.4-49290 | 2024-02-13T15:55:36.464Z |
SYMFONISK Bookshelf (S21) | S2 | 66.4-23300 | 2022-01-01T11:41:01.361Z |
Sonos Roam (S27) | S2 | 63.2-90210 | 2021-07-21T23:31:31.207Z |
Sonos Play:3 (S3) | S2 | 64.3-19080 | 2021-08-18T06:09:36.692Z |
SYMFONISK Bookshelf (S33) | S2 | 77.4-49290 | 2024-02-13T15:55:24.423Z |
Sonos One SL (S38) | S2 | 72.2-40060 | 2023-05-22T16:39:25.503Z |
Sonos Play:5 (S6) | S2 | 64.3-19080 | 2021-08-18T06:06:35.970Z |
Sonos Playbar (S9) | S2 | 77.4-49290 | 2024-02-13T15:55:46.307Z |
Sonos Sub (Sub) | S2 | 63.2-90210 | 2021-07-21T23:31:40.304Z |