Releases: thlucas1/homeassistantcomponent_spotifyplus
Releases · thlucas1/homeassistantcomponent_spotifyplus
v1.0.20
[ 1.0.20 ] - 2024/06/06
- Changed all
media_player.schedule_update_ha_state(force_refresh=True)
calls toschedule_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 ahass.add_job
call instead of calling directly. This fixes the issue ofDetected 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 ofDetected blocking call to open inside the event loop by custom integration 'X' ...
that was introduced with HA 2024.6 release.
v1.0.19
[ 1.0.19 ] - 2024/05/03
- Changed all
media_player.async_write_ha_state()
calls toschedule_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
[ 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 adeviceId
argument. For services that can supply adeviceId
argument, we will issue a transfer playback command if a device id (or name) was specified.
v1.0.17
[ 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 thedeviceId
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
[ 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
[ 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 numerousBrowse Media should use new BrowseMedia class
log warnings. - Updated underlying
spotifywebapiPython
package requirement to version 1.0.42.
v1.0.14
[ 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
v1.0.12
[ 1.0.12 ] - 2024/03/26
- Updated underlying
spotifywebapiPython
package requirement to version 1.0.40. - Added service
turn_on
andturn_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 (avoidsNo active playback device found
errors).
v1.0.11
[ 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 spotifywebapiPythonSpotifyClient.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.