Skip to content

Releases: thlucas1/homeassistantcomponent_spotifyplus

v1.0.20

06 Jun 20:13
Compare
Choose a tag to compare

[ 1.0.20 ] - 2024/06/06

  • Changed all media_player.schedule_update_ha_state(force_refresh=True) calls to schedule_update_ha_state(force_refresh=False) to improve performance. Suggested by @bdraco, along with an explanation of why. Thanks @bdraco!
  • Changed logic to call session.hass.config_entries.async_update_entry via a hass.add_job call instead of calling directly. This fixes the issue of Detected that custom integration 'spotifyplus' calls hass.config_entries.async_update_entry from a thread other than the event loop, which may cause Home Assistant to crash or data to corrupt that was introduced with HA 2024.6 release.
  • Changed logic to access local file system files via a hass.async_add_executor_job call. This fixes the issue of Detected blocking call to open inside the event loop by custom integration 'X' ... that was introduced with HA 2024.6 release.

v1.0.19

03 May 14:13
Compare
Choose a tag to compare

[ 1.0.19 ] - 2024/05/03

  • Changed all media_player.async_write_ha_state() calls to schedule_update_ha_state(force_refresh=True) calls due to HA 2024.5 release requirements. This fixes the issue of "Failed to call service X. Detected that custom integration 'Y' calls async_write_ha_state from a thread at Z. Please report it to the author of the 'Y' custom integration.".
  • Added more information to system health display (version, integration configs, etc).
  • Updated Python version from 3.11 to 3.12.3 due to HA 2024.5 release requirements.

v1.0.18

25 Apr 15:18
Compare
Choose a tag to compare

[ 1.0.18 ] - 2024/04/25

  • Updated various media_player services that control playback to verify a Spotify Connect Player device is active. If there is no active device, or the default device was specified (e.g. "*"), then we will force the configuration option default device to be used and transfer playback to it. If an active device was found, then we will use it without transferring playback for services that do not specify a deviceId argument. For services that can supply a deviceId argument, we will issue a transfer playback command if a device id (or name) was specified.

v1.0.17

22 Apr 03:56
Compare
Choose a tag to compare

[ 1.0.17 ] - 2024/04/21

  • Added device name support to the following custom services that take a Spotify Connect Player deviceId argument for player functions. You can now specify either a device id or device name in the deviceId argument to target a specific Spotify Connect Player device. Services updated were: player_media_play_context, player_media_play_track_favorites, player_media_play_tracks, player_transfer_playback.
  • Updated underlying spotifywebapiPython package requirement to version 1.0.43.

v1.0.16

21 Apr 22:28
Compare
Choose a tag to compare

[ 1.0.16 ] - 2024/04/21

  • Added extra state attribute spotifyplus_device_id that lists the Spotify Connect Player device id that is in use.
  • Added extra state attribute spotifyplus_device_name that lists the Spotify Connect Player device name that is in use.
  • Refer to the wiki documentation page for more details about custom state variables.

v1.0.15

05 Apr 17:24
Compare
Choose a tag to compare

[ 1.0.15 ] - 2024/04/05

  • Added MediaPlayerEntityFeature.VOLUME_MUTE support to handle volume mute requests.
  • Added MediaPlayerEntityFeature.VOLUME_STEP support to handle volume step requests.
  • Updated Media Browser logic to return an empty BrowseMedia object when ignoring Sonos-Card 'favorites' node requests, as a null object was causing numerous Browse Media should use new BrowseMedia class log warnings.
  • Updated underlying spotifywebapiPython package requirement to version 1.0.42.

v1.0.14

04 Apr 16:12
Compare
Choose a tag to compare

[ 1.0.14 ] - 2024/04/01

  • Added service player_media_play_track_favorites to play all track favorites for the current user.
  • Increased all browse media limits from 50 items to 150 items.
  • Updated Media Browser logic to ignore Sonos-Card 'favorites' node requests, as there is no Spotify direct equivalent.
  • Updated underlying spotifywebapiPython package requirement to version 1.0.41.

v1.0.13

28 Mar 06:42
Compare
Choose a tag to compare

[ 1.0.13 ] - 2024/03/28

  • Updated _CallScriptPower method to use the script uniqueid value (instead of the entity_id value) when calling the turn_on and turn_off scripts.

v1.0.12

28 Mar 04:31
Compare
Choose a tag to compare

[ 1.0.12 ] - 2024/03/26

  • Updated underlying spotifywebapiPython package requirement to version 1.0.40.
  • Added service turn_on and turn_off support for the player. Playback control is transferred to the player after turning on. Configuration options support the execution of scripts to allow external devices to be powered on and off. Refer to the wiki documentation on how to configure this feature.
  • Added support for media controls to properly function when the Spotify Connect Player loses the active device reference. For example, when the player goes into an idle state due to player pausing for extended period of time, you can now resume play without having to re-select the source (avoids No active playback device found errors).

v1.0.11

24 Mar 19:22
Compare
Choose a tag to compare

[ 1.0.11 ] - 2024/03/24

  • Updated media_player SCAN_INTERVAL to 1 second to inform HA of Spotify status updates in near real time (e.g. pause, resume, next track, etc).
  • Updated media_player.update logic to only call the spotifywebapiPython SpotifyClient.GetPlayerNowPlaying every 30 seconds OR if a player command is issued (e.g. pause, play, next / previous track, seek, volume, etc) OR if the current track is nearing the end of play (e.g. next track in a playlist or queue).
  • This update adds a few more calls to the Spotify Web API, but not many. The trade-off is near real-time updates of player status.
  • Added service follow_playlist to add the current user as a follower of a playlist.
  • Added service unfollow_playlist to remove the current user as a follower of a playlist
  • Added service follow_users to add the current user as a follower of one or more users.
  • Added service unfollow_users to remove the current user as a follower of one or more users.