Hi,

Thanks so much for wanting to help beta test my unofficial SoundCloud Sonos application. That’s right, this is an unofficial application that is not supported nor endorsed by SoundCloud nor Sonos. Please send any bug reports and/or feature requests to rsonawalla@gmail.com or tweet @rahims.

Updates

7/10/14: SoundCloud has released an official Sonos service, so I'm shutting mine down. As of today, my unofficial beta service is no longer available. You can get more details here.

3/30/14: Updated to support the new Sonos beta and several bug fixes. If you're an existing user and you already have the SoundCloud Sonos app installed on your Sonos, you'll need to go through these install steps again. (The install form has new fields that need to be filled out.)

4/8/13: Increased the login timeout from 5 minutes to 15 minutes, so that people will have more time between clicking on the link presented in the Sonos dialog and connecting their account on the SoundCloud website.

4/4/13: Added the ability to see your SoundCloud Stream (which shows recent tracks from the people you follow).

4/4/13: Added a feature to easily queue up all the tracks inside of a track list, favorites list, or set list in one go—no more having to individually queue up each track!

4/4/13: Fixed a bug that prevented people from seeing private tracks that they should have access to.

12/18/12: Some people reported that the SoundCloud link presented in the setup dialog was not clickable, causing them to have to hand-type out the entire (long) URL. Turns out there is a bug in the Windows version of the Sonos desktop application where links containing escaped characters break. To work around this, the SoundCloud link is now shortened using Bit.ly.

Things you’ll need

Before we can get started, here’s a few things we’ll need:

Installation

It looks like a lot of steps, but it’s quite simple. The hardest step is Step 3, and that's only because it involves typing, everything else is just clicking. Let’s get started!

Fire up your Sonos desktop application, and in the menubar, hit Sonos→About My Sonos System.

You’ll see a dialog box pop up. Take note of the IP address of your Sonos speaker, you’ll need that in the next step. (The IP address is next to “Associated ZP:”. In this example, my speaker’s IP address is 192.168.1.80.)

Next, open up your web browser and type http://[your Sonos speaker’s IP address]:1400/customsd.htm in the address bar. Since my Sonos speaker’s IP address is 192.168.1.80, I’d type in http://192.168.1.80:1400/customsd.htm.

Fill out the form that loads as seen below and then hit “Submit”. Most problems with SoundCloud on Sonos come up from a typo in this step, so double-check everything before you hit “Submit”!

  1. SID: 255
  2. Service Name: SoundCloud
  3. Endpoint URL: http://sonos-soundcloud.herokuapp.com/soap
  4. Secure Endpoint URL: https://sonos-soundcloud.herokuapp.com/soap
  5. Polling interval: 3600
  6. Authentication SOAP header policy: Select the “Device Link” option
  7. Strings table
    1. Version: 3
    2. Uri: http://sonos-soundcloud.herokuapp.com/static/strings.xml
  8. Presentation map
    1. Version: 3
    2. Uri: http://sonos-soundcloud.herokuapp.com/static/p.xml
  9. Container Type: Select the “Music Service” option
  10. Capabilities: Check the “Search” box

After you submit the form, you’ll be taken to a page that says “success”. Switch back to your Sonos desktop application and click on “More Music”.

You’ll see a new entry in the list for SoundCloud. Click on it and select “I already have an account” in the dialog box that pops up.

Next, you’ll be presented with a link. Click on the link.

Clicking on the link will open up a new tab in your web browser and load up a SoundCloud page. This page lets you grant the SoundCloud Sonos application access to your SoundCloud account without having to share your SoundCloud password. Click on the “Connect” button.

If everything goes smoothly (and it should), you’ll be taken to a success page.

You’re done. Enjoy SoundCloud on your Sonos! Be sure to send any bug reports or feature requests to rsonawalla@gmail.com or tweet @rahims.

Uninstall

If for whatever reason you’d like to remove the SoundClound on Sonos service, just follow these four easy steps.

Start up the Sonos desktop application, and in the menubar, hit Manage→Service Settings.

In the dialog box that pops up, select “SoundCloud” and click on the button with the minus sign.

Visit https://www.soundcloud.com/settings/connections and click on the “Revoke Access” button next to SoundCloud on Sonos.

Finally, open up http://[your Sonos speaker’s IP address]:1400/customsd.htm in a web browser like you did when you first installed the app, set the SID to 255, leave all the other fields blank, and hit the “Submit Query” button at the bottom of that page. This will remove the entry from your “More Music” menu in the Sonos app.

You’re all done. Come back soon!

Possibly Asked Questions

Q. Who are you?
A. Hi, my name’s Rahim. By day, I manage an API. By night (and weekend), I write code for fun and sometimes profit (contract/consulting).

Q. Why did you build this?
A. A few reasons. One, a ton of people have been wanting to listen to SoundCloud on their Sonos systems, and there hasn’t been a good way of doing that so far. Two, the Sonos systems are deeply interesting to me. Earlier this year, I explored how Sonos speakers talk to each other, this seemed like a natural next step. And lastly, I was recently contacted by a potential client asking if I could create a Sonos application for their popular music service. I figured, what better way to show them I’m up for the job than to write a Sonos application for another popular music service?

Q. How much does it cost?
A. Free (as in beer), though tips are always welcome :) My Paypal/Venmo address is rsonawalla@gmail.com

Q. I’d really like to see feature X, could you add it?
A. Possibly, tell me more about it: rsonawalla@gmail.com.

Q. Why do only 10 results show up when I search in the app?
A. Everytime you type a character in the search box, a new search request is issued to my server, which in turn, sends a query to the SoundCloud servers through its API. So, for example, if you search for “Kanye”, that’s actually 5 search requests, “K”, “Ka”, “Kan”, “Kany”, and “Kanye”. To help keep things somewhat speedy, I limited the number of results returned to 10.

Q. Why is the app slow at times?
A. I’m currently running on the free tier at Heroku (a popular web host), and if there’s no activity for a while, Heroku shuts down my service to save on cost. When a new request comes in, Heroku starts my service back up again. The app feels slow at times because of this shut down and start up.

Q. How can I be notified of updates?
A. The easiest way is to sign up for the mailing list. Updates don’t happen too often, so you'll likely only receive an e-mail once every two months or so.

Stay in touch

rsonawalla@gmail.com / @rahims