I love my Sonos devices, they are reliable and sound great. I’m also curious how they work, and I do wish there were better diagnostics for media files that refuse to play.
Turns out the Sonos has an admin web interface on port 1400. A URL like http://192.168.0.20:1400/support/review brings up a bunch of debug data; substitute the IP address for one of your Sonos devices. It loads slowly. Also appears to be centralized, no need to find the right device first.
I also found my way to SoCo, an open source hacker interface to the Sonos. Command line control over playing, queuing, etc. Neat stuff and seems to work.
What I haven’t found is any way to get an error message why a track won’t play :-(
Port 1400 is a commonly used remote port, not local to the computer. The budget health gadgets that can save you up to £1,400. While these are still available, the latest versions are the Sonos Port and Sonos Amp. Sonos speakers are certainly not immune to going wrong, and, like anything else, you'll sometimes need to do a good old-fashioned reset. Whether you need to reset your Sonos One, Sonos Arc, Sonos Beam or other Sonos device, sometimes a basic reset will do the job, but in some cases you'll need to do a full reboot, aka a hard reset or factory. I’ve owned sonos gear for a long time. If anyone here works for Sonos, stop with the damn pop up ads. Send me an email I can block if I want, but don’t dare start spamming me with crap ads for your stuff when I open the app to play music.
I thought the Network Matrix was interesting. Screenshot below. STP presumably refers to spanning tree. Sonos’ core magic is the way music plays completely correctly, synchronized, in an unmanaged wireless network. Presumably this is the status of the magic that makes that work.
The
sonos
integration allows you to control your Sonos wireless speakers from Home Assistant. It also works with IKEA Symfonisk speakers.You can configure the Sonos integration by going to the integrations page inside the configuration panel. Cisco ise guest portal certificate.
Services
The Sonos integration makes various custom services available.
Sonos Port 1400 Reviews
Service sonos.snapshot
Take a snapshot of what is currently playing on one or more speakers. This service, and the following one, are useful if you want to play a doorbell or notification sound and resume playback afterwards. If no
entity_id
Dolphin 5.0 widescreen hack apk. is provided, all speakers are snapshotted.The queue is not snapshotted and must be left untouched until the restore. Using
media_player.play_media
is safe and can be used to play a notification sound, including TTS announcements.Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | The speakers to snapshot. To target all Sonos devices, use all . |
with_group | yes | Should we also snapshot the group layout and the state of other speakers in the group, defaults to true. |
Service sonos.restore
Restore a previously taken snapshot of one or more speakers. If no
entity_id
is provided, all speakers are restored.The playing queue is not snapshotted. Using
sonos.restore
on a speaker that has replaced its queue will restore the playing position, but in the new queue!A cloud queue cannot be restarted. This includes queues started from within Spotify and queues controlled by Amazon Alexa.
Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s that should have their snapshot restored. To target all Sonos devices, use all . |
with_group | yes | Should we also restore the group layout and the state of other speakers in the group, defaults to true. |
Service sonos.join
Group players together under a single coordinator. This will make a new group or join to an existing group.
Service data attribute | Optional | Description |
---|---|---|
master | no | A single entity_id that will become/stay the coordinator speaker. |
entity_id | yes | String or list of entity_id s to join to the master. |
Service sonos.unjoin
Remove one or more speakers from their group of speakers. If no
entity_id
is provided, all speakers are unjoined.Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s to separate from their coordinator speaker. |
Service sonos.set_sleep_timer
Sets a timer that will turn off a speaker by tapering the volume down to 0 after a certain amount of time. Protip: If you set the sleep_time value to 0, then the speaker will immediately start tapering the volume down.
Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s that will have their timers set. |
sleep_time | no | Integer number of seconds that the speaker should wait until it starts tapering. Cannot exceed 86399 (one day). |
Service sonos.clear_sleep_timer
Clear the sleep timer on a speaker, if one is set.
Service data attribute | Optional | Description |
---|---|---|
entity_id | no | String or list of entity_id s that will have their timers cleared. Must be a coordinator speaker. |
Service sonos.update_alarm
Update an existing Sonos alarm.
Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s that will have their timers cleared. Must be a coordinator speaker. |
alarm_id | no | Integer that is used in Sonos to refer to your alarm. |
time | yes | Time to set the alarm. |
volume | yes | Float for volume level. |
enabled | yes | Boolean for whether or not to enable this alarm. |
include_linked_zones | yes | Boolean that defines if the alarm also plays on grouped players. |
Service sonos.set_option
Set Sonos speaker options.
Night Sound and Speech Enhancement modes are only supported when playing from the TV source of products like Sonos Playbar and Sonos Beam. Other speaker types will ignore these options.
![Sonos Port 1400 Sonos Port 1400](/uploads/1/1/9/8/119845747/929643058.png)
Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s that will have their options set. |
night_sound | yes | Boolean to control Night Sound mode. |
speech_enhance | yes | Boolean to control Speech Enhancement mode. |
status_light | yes | Boolean to control the Status (LED) Light. |
Service sonos.play_queue
Starts playing the Sonos queue.
Force start playing the queue, allows switching from another stream (such as radio) to playing the queue.
Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s that will start playing. It must be the coordinator if targeting a group. |
queue_position | yes | Position of the song in the queue to start playing from, starts at 0. |
Service sonos.remove_from_queue
Removes an item from the queue.
Service data attribute | Optional | Description |
---|---|---|
entity_id | yes | String or list of entity_id s that will remove an item from the queue. It must be the coordinator if targeting a group. |
queue_position | yes | Position in the queue to remove. |
Advanced use
For advanced uses, there are some manual configuration options available. These are usually only needed if you have a complex network setup where Home Assistant and Sonos are not on the same subnet.
You can disable auto-discovery by specifying the Sonos IP addresses:
Sonos Port 1400 Location
If your Home Assistant server has multiple IP addresses, you can provide the IP address that should be used for Sonos auto-discovery. This is rarely needed since all addresses should be tried by default.
The Sonos speakers will attempt to connect back to Home Assistant to deliver change events. By default, Home Assistant will listen on port 1400 but will try the next 100 ports above 1400 if it is in use. You can change the IP address that Home Assistant advertises to Sonos speakers. This can help in NAT scenarios such as when not using the Docker option
--net=host
: