If you observe communication errors (COMMUNICATION_ERROR/not registered), you might need to configure your router to increase the TTL of the packets send by your Sonos device.
This includes the One, One SL, Move, Move 2, Roam, Roam SL, Play:1, Play:3, Play:5, Five, Era 100, Era 300, Connect, Connect:Amp, Port, Amp, SYMFONISK, Playbar, Playbase, Beam, Arc, Arc SL and Sub.
When being defined in a \*.things file, the specific thing types One, OneSL, Move, Move2, Roam, RoamSL, PLAY1, PLAY3, PLAY5, Five, Era100, Era300, SYMFONISK, PLAYBAR, PLAYBASE, Beam, Arc, ArcSL, CONNECT, CONNECTAMP, Port and Amp should be used.
Please note that these thing types are case sensitive (you need to define them **exactly as stated above**).
## Discovery
The Sonos devices are discovered through UPnP in the local network and all devices are put in the Inbox. Beware that all Sonos devices have to be added to the local Sonos installation as described in the Sonos setup procedure, e.g. through the Sonos Controller software or smartphone app.
## Binding Configuration
The binding has the following configuration options, which can be set for "binding:sonos":
| linein | Switch | R | Indicator set to ON when the line-in of the Zone Player is connected | PLAY5, Five, Move 2, Era100, Era300, CONNECT, CONNECTAMP, PLAYBAR, PLAYBASE, Beam, Port |
| mute | Switch | RW | Set or get the mute state of the master volume of the Zone Player | all |
| nightmode | Switch | RW | Enable or disable the night mode feature | PLAYBAR, PLAYBASE, Beam, Amp |
| notificationsound | String | W | Play a notification sound by a given URI | all |
| playlinein | String | W | This channel supports playing the audio source connected to the line-in of the zoneplayer identified by the Thing UID or UPnP UDN provided by the String. | All |
| playlist | String | W | Play the given playlist. The playlist has to predefined in the Sonos Controller app | all |
| playqueue | Switch | W | Play the songs from the current queue | all |
| playtrack | Number | W | Play the given track number from the current queue | all |
| playuri | String | W | Play the given URI | all |
| publicaddress | Switch | W | Put all Zone Players in one group, and stream audio from the line-in from the Zone Player that triggered the command | all except Amp |
| publicanalogaddress | Switch | W | Put all Zone Players in one group, and stream audio from the analog line-in from the Zone Player that triggered the command | Amp |
| publicdigitaladdress | Switch | W | Put all Zone Players in one group, and stream audio from the digital line-in from the Zone Player that triggered the command | Amp |
| radio | String | W | Play the given radio station. The radio station has to be predefined in the Sonos Controller app | all |
| remove | String | W | Remove the given Zone Player from the group of this Zone Player | all |
| repeat | String | RW | Repeat the track or queue playback. The accepted values are OFF, ONE and ALL | all |
| restore | Switch | W | Restore the state of the Zone Player | all |
| restoreall | Switch | W | Restore the state of all the Zone Players | all |
| save | Switch | W | Save the state of the Zone Player | all |
| saveall | Switch | W | Save the state of all the Zone Players | all |
| shuffle | Switch | RW | Shuffle the queue playback | all |
| sleeptimer | Number | RW | Set/show the duration of the SleepTimer in seconds | all |
| snooze | Number | W | Snooze the running alarm, if any, with the given number of minutes | all |
The `playline` channel accepts as command either the thing UID or the UPnP UDN.
Note that you can prefix your command value with "Analog," or "Digital," to distinguish the line-in of your Sonos device.
This is useful for the Sonos Amp in particular.
## Audio Support
All supported Sonos devices are registered as an audio sink in the framework.
Audio streams are treated as notifications, i.e. they are fed into the `notificationsound` channel.
The `notificationsound` channel change the volume of the audio sink to the value defined in the `notificationVolume` property of the thing and restores it after finished playing.
Note that the Sonos binding has a limit of 20 seconds for notification sounds.
Any sound that is longer than that will be cut off.
URL audio streams (e.g. an Internet radio stream) are an exception and do not get sent to the `notificationsound` channel.
Instead, these will be sent to the `playuri` channel.