fondberg / spotcast

Home assistant custom component to start Spotify playback on an idle chromecast device as well as control spotify connect devices
Apache License 2.0
672 stars 96 forks source link

"My Episodes" URI not correctly handled: spotify:user:[ID]:collection:your-episodes #441

Open chaorace opened 5 months ago

chaorace commented 5 months ago

Bug Ticket

Describe the bug

The Spotify "Your Episodes" collection is associated with a user:[ID]:collection URI, similar to the URIs used with the "Liked Songs" collection. For example: spotify:user:1234567890:collection:your-episodes

Currently, when a "Your Episodes" URI is provided to the spotcast service trigger, it fails at the URI validation step without proceeding any further. Instead of rejecting the URI, the validator should recognize "Your Episodes" URIs as valid so that they can be passed along to spotipy's start_playback method. Implementation-wise, "Your Episodes" URIs should follow the exact same codepath as currently used with "Liked Songs" collection URIs.

Troubleshooting

Make sure to validate all the elements before submitting the ticket (Exception to the steps marked as optional)

Environment

Configuration

spotcast:
  sp_dc: !secret [SECRETNAME1]
  sp_key: !secret [SECRETNAME2]
  country: US

Service Call

  1. Replace [DEVICE] with any valid device
  2. Replace [ID] with your user ID (identical to the ID found in your "Liked Songs" URI)
  3. Invoke the service call
  4. Note errors in HA log
service: spotcast.start
data:
  uri: spotify:user:[ID]:collection:your-episodes
  device_name: [DEVICE]

Logs

2024-05-02 15:37:53.403 ERROR (SyncWorker_5) [custom_components.spotcast.helpers] collection is not a valid type for Spotify request. Please make sure to use the following list ['playlist']
2024-05-02 15:37:53.403 ERROR (SyncWorker_5) [custom_components.spotcast] Invalid URI provided, aborting casting