Welcome to my unofficial NPR One service for Sonos. I love my Sonos system and I really like the NPR One app. That’s why I have built this service. This service is supported neither by NPR nor by Sonos, so please send all feedback and problems to b.michael.dick@gmail.com.

If you are a developer yourself, all code is available on GitHub and you can set up your own server if you prefer to do so.

Updates

12/23/2020: Still running…

06/30/2018: Bug fixes and performance improvements.

05/13/2017: Added easier way to add service below (Thanks Josh from Overcast + Sonos)

11/01/2016: Added new NPR Music channels.

07/01/2016: NPR One for Sonos got featured on the NPR One project gallery.

03/21/2016: Added new channels (Suggested, Followed, Recent, etc.).

12/05/2015: Put all source code on GitHub if you are interested.

06/10/2015: Updated authentication to use NPR’s oauth. Also improved search to include aggregation lists of shows and podcasts.

03/25/2015: Added Search and Suggestions - Now you can search through the NPR archive using the Sonos search.

FAQ


I get an error message 400 bad request This seemse to happen from time to time. Just start over with adding the service through the customsd.htm below and make sure you follow every step exactly. Sometimes waiting another day before trying again helps.

I get an error that my account can’t be authorized This seemse to happen from time to time. Just start over with adding the service through the customsd.htm below and make sure you follow every step exactly. Sometimes waiting another day before trying again helps.

Does this cost money? This is a free service I built and provide, but be sure to support your local NPR Station to keep public radio going.

How do I stay in the loop on any updates?

Instructions


Before you start

You will need a NPR One account. You can create one for free by downloading the NPR One app, or right on the NPR website.

Adding NPROne to your Sonos

Open your Sonos desktop app and go to Help -> About my Sonos System… (on Mac this is located under the SONOS menu)

screenshot

screenshot

Then note down the ip address under Associated Product. For me this would be 192.168.1.203.

Alternatively, you can also use your Sonos app on your iOS or Android to find the ip address. Check under Settings -> About my Sonos System

screenshot

Open a web browser and type http://[your ip address from above]:1400/customsd.htm. So for me this would be http://192.168.1.203:1400/customsd.htm.

Enter the information below into the form and hit submit at the bottom of the page. This will add the service to your Sonos.

  1. SID: 255
  2. Service Name: NPROne
  3. Secure Endpoint URL: https://sonosnprone.michaeldick.me/soap
  4. Polling Interval: 3600
  5. Authentication SOAP header policy: Device Link
  6. Strings table:
    • Version: 2
    • Uri: http://sonosnprone.michaeldick.me/static/strings.xml
  7. Presentation map:
    • Version: 2
    • Uri: http://sonosnprone.michaeldick.me/static/presentationMap.xml
  8. Container Type:
    • Music Service
  9. Capabilities:
    • Search
    • Playback duration logging at track end
    • Playback event logging during track play
    • Extended Metadata (More Menu, Info & Options)
      • Extended Metadata for radios (“program”) and streams (“stream”) to support Info View. Requires Extended Metadata Capability.

screenshot

Go back to your Sonos app and choose Add Music Service. You should now find NPR One in the list of services.

screenshot

Select I already have an account.

screenshot

Open http://npr.org/device and enter the code shown in the Sonos window.

screenshot

Allow access for the NPR One Sonos app. You might have to log in first with your NPR One credentials if you haven’t done already.

screenshot

Now you are all set and can start listening to NPR One. You can skip and favourite stories just like in the NPR One app. Changing your NPR home station is currently not supported, however if you change it in the NPROne mobile app, the Sonos service will pick up the new station.

screenshot

Feel free to reach out with any questions or issues at b.michael.dick@gmail.com.

Removing NPROne from your Sonos

If you would like to remove the NPROne service from your Sonos just follow the steps below.

Open your desktop app and go to Manage -> Settings…

screenshot

Find the NPROne services in the list and hit Remove.

screenshot

Go back to the browser page from above and submit the form, leaving all fields empty. This will remove the NPROne service from your Sonos.

screenshot