Sonos version 10.3 API update

In Sonos version 10.3, we added the following:

  • Add podcasts — a guide on how to add podcasts to Sonos. Once you’ve created your SMAPI integration, you can follow the guidelines on this page to add podcasts.
  • SMAPI object types — added the podcast object types to this page, including new mediaCollection, mediaMetadata, and trackMetadata elements.
    • For mediaCollection: removed book & bookId, added isEphemeralpodcast, podcastId, positionInformation, producer, producerId, releaseDatesemanticType, and total elements.
    • For mediaMetadata: updated string maximum values, added semanticTypeisEphemeral, positionInformation, and releaseDate elements, added program to itemType.
    • For trackMetadata, added: producer, producerIdpodcast, podcastIdhost, and hostId.
    • For positionInformation: added isCompleted.
  • Add programmed radio — Clarified that you can use notifyUserIntent but it’s not required for skip enforcement. See the Set up skip enforcement section for details.
  • favorites & playlists namespaces —  Recommended that you use these two namespaces together if using them. The Sonos app combines the results of these two namespaces in different swimlanes on the “My Sonos” tab. If you don’t use these together, Sonos listeners may think some of their content is missing in your integration.
  • audioClip namespace — Audio Clip will work on the upcoming SYMFONISK table lamp with WiFi speaker and SYMFONISK WiFi bookshelf speaker created in collaboration with IKEA in the next software release.
  • Error handling — Added a table of default errors to the Default error messages section.
  • Control — Added description of householdId:

    Each household is represented by a householdId. The householdId is stable with one exception. The value will change if players are moved to a different network. For example, if a user moves some players from a household to a different network, the players that were moved will use a different householdId. If all of the players in a household are moved to a different network, the householdId will remain the same.

  • groups namespace — clarified operation of commands:

    When creating or modifying groups, the group info response only includes the list of players in the final group. It doesn’t include a flag to show whether the changes match the original desired group or not. This could lead to partial successes.

    Additionally, this command may trigger significant player-to-player communication over the LAN. In some cases, you may not receive a response.

    As a best practice, check the final set of players returned by the command, either in the group info response, or by getting a list of players in the group.

Fixed bugs

  • Sonos didn’t send a groupVolume event for volume changes initiated by Airplay. This has been fixed.

Known Issues

  • SMAPI sample server — Runs on Java SE Development Kit 8. May not work with other versions of Java.

See Release notes for Sonos software for customer-facing features.