Files
HomeAssistance/custom_components/spotifyplus/const.py
T
2026-06-05 22:34:31 -04:00

372 lines
19 KiB
Python

"""
Constants for the SpotifyPlus component.
"""
import logging
DOMAIN = "spotifyplus"
""" Domain identifier for this integration (spotifyplus). """
PLATFORM_SPOTIFYPLUS = DOMAIN
""" Platform identifier for this integration (spotifyplus). """
DOMAIN_SCRIPT = "script"
""" Domain identifier for script integration (script). """
DOMAIN_MEDIA_PLAYER = "media_player"
""" Domain identifier for media players (media_player). """
SPOTIFY_WEB_URL_PFX = "https://open.spotify.com"
LOGGER = logging.getLogger(__package__)
CONF_OPTION_ALWAYS_ON = "always_on"
CONF_OPTION_DEVICE_DEFAULT = "device_default"
CONF_OPTION_DEVICE_LOGINID = "device_loginid"
CONF_OPTION_DEVICE_PASSWORD = "device_password"
CONF_OPTION_DEVICE_USERNAME = "device_username"
CONF_OPTION_SCRIPT_TURN_ON = "script_turn_on"
CONF_OPTION_SCRIPT_TURN_OFF = "script_turn_off"
CONF_OPTION_SOURCE_LIST_HIDE = "source_list_hide"
CONF_OPTION_SPOTIFY_SCAN_INTERVAL = "spotify_scan_interval"
CONF_OPTION_TURN_OFF_AUTO_PAUSE = "turn_off_auto_pause"
CONF_OPTION_TURN_ON_AUTO_RESUME = "turn_on_auto_resume"
CONF_OPTION_TURN_ON_AUTO_SOURCE_SELECT = "turn_on_auto_source_select"
DEFAULT_OPTION_SPOTIFY_SCAN_INTERVAL = 30
# security scopes required by various Spotify Web API endpoints.
SPOTIFY_SCOPES:list = \
[
'playlist-modify-private',
'playlist-modify-public',
'playlist-read-collaborative',
'playlist-read-private',
'ugc-image-upload',
'user-follow-modify',
'user-follow-read',
'user-library-modify',
'user-library-read',
'user-modify-playback-state',
'user-read-currently-playing',
'user-read-email',
'user-read-playback-position',
'user-read-playback-state',
'user-read-private',
'user-read-recently-played',
'user-top-read'
]
# -----------------------------------------------------------------------------------
# Custom State attribute identifiers.
# -----------------------------------------------------------------------------------
ATTR_SPOTIFYPLUS_ARTIST_URI = "sp_artist_uri"
ATTR_SPOTIFYPLUS_CONTEXT_URI = "sp_context_uri"
ATTR_SPOTIFYPLUS_DEVICE_ID = "sp_device_id"
ATTR_SPOTIFYPLUS_DEVICE_NAME = "sp_device_name"
ATTR_SPOTIFYPLUS_DEVICE_IS_BRAND_SONOS = "sp_device_is_brand_sonos"
ATTR_SPOTIFYPLUS_DEVICE_IS_CHROMECAST = "sp_device_is_chromecast"
ATTR_SPOTIFYPLUS_DEVICE_IS_RESTRICTED = "sp_device_is_restricted"
ATTR_SPOTIFYPLUS_DEVICE_MUSIC_SOURCE = "sp_device_music_source"
ATTR_SPOTIFYPLUS_ITEM_TYPE = "sp_item_type"
ATTR_SPOTIFYPLUS_NOWPLAYING_IMAGE_URL = "sp_nowplaying_image_url"
ATTR_SPOTIFYPLUS_PLAY_TIME_REMAINING_EST = "sp_play_time_remaining_est"
ATTR_SPOTIFYPLUS_PLAYING_TYPE = "sp_playing_type"
ATTR_SPOTIFYPLUS_PLAYLIST_NAME = "sp_playlist_name"
ATTR_SPOTIFYPLUS_PLAYLIST_URI = "sp_playlist_uri"
ATTR_SPOTIFYPLUS_SOURCE_LIST_HIDE = "sp_source_list_hide"
ATTR_SPOTIFYPLUS_TRACK_IS_EXPLICIT = "sp_track_is_explicit"
ATTR_SPOTIFYPLUS_TRACK_URI_ORIGIN = "sp_track_uri_origin"
ATTR_SPOTIFYPLUS_USER_COUNTRY = "sp_user_country"
ATTR_SPOTIFYPLUS_USER_DISPLAY_NAME = "sp_user_display_name"
ATTR_SPOTIFYPLUS_USER_EMAIL = "sp_user_email"
ATTR_SPOTIFYPLUS_USER_HAS_WEB_PLAYER_CREDENTIALS = "sp_user_has_web_player_credentials"
ATTR_SPOTIFYPLUS_USER_ID = "sp_user_id"
ATTR_SPOTIFYPLUS_USER_PRODUCT = "sp_user_product"
ATTR_SPOTIFYPLUS_USER_URI = "sp_user_uri"
ATTR_VOLUME_STEP = "volume_step"
# -----------------------------------------------------------------------------------
# Custom Service identifiers.
# -----------------------------------------------------------------------------------
SERVICE_SPOTIFY_ADD_PLAYER_QUEUE_ITEMS = 'add_player_queue_items'
SERVICE_SPOTIFY_CHECK_ALBUM_FAVORITES = 'check_album_favorites'
SERVICE_SPOTIFY_CHECK_ARTISTS_FOLLOWING = 'check_artists_following'
SERVICE_SPOTIFY_CHECK_AUDIOBOOK_FAVORITES = 'check_audiobook_favorites'
SERVICE_SPOTIFY_CHECK_EPISODE_FAVORITES = 'check_episode_favorites'
SERVICE_SPOTIFY_CHECK_PLAYLIST_FOLLOWERS = 'check_playlist_followers'
SERVICE_SPOTIFY_CHECK_SHOW_FAVORITES = 'check_show_favorites'
SERVICE_SPOTIFY_CHECK_TRACK_FAVORITES = 'check_track_favorites'
SERVICE_SPOTIFY_CHECK_USER_FAVORITES = 'check_user_favorites'
SERVICE_SPOTIFY_CHECK_USERS_FOLLOWING = 'check_users_following'
SERVICE_SPOTIFY_FOLLOW_ARTISTS = 'follow_artists'
SERVICE_SPOTIFY_FOLLOW_PLAYLIST = 'follow_playlist'
SERVICE_SPOTIFY_FOLLOW_USERS = 'follow_users'
SERVICE_SPOTIFY_GET_ALBUM = 'get_album'
SERVICE_SPOTIFY_GET_ALBUM_FAVORITES = 'get_album_favorites'
SERVICE_SPOTIFY_GET_ALBUM_NEW_RELEASES = 'get_album_new_releases'
SERVICE_SPOTIFY_GET_ALBUM_TRACKS = 'get_album_tracks'
SERVICE_SPOTIFY_GET_ARTIST = 'get_artist'
SERVICE_SPOTIFY_GET_ARTIST_ALBUMS = 'get_artist_albums'
SERVICE_SPOTIFY_GET_ARTIST_INFO = 'get_artist_info'
SERVICE_SPOTIFY_GET_ARTIST_RELATED_ARTISTS = 'get_artist_related_artists'
SERVICE_SPOTIFY_GET_ARTIST_TOP_TRACKS = 'get_artist_top_tracks'
SERVICE_SPOTIFY_GET_ARTISTS_FOLLOWED = 'get_artists_followed'
SERVICE_SPOTIFY_GET_AUDIOBOOK = 'get_audiobook'
SERVICE_SPOTIFY_GET_AUDIOBOOK_CHAPTERS = 'get_audiobook_chapters'
SERVICE_SPOTIFY_GET_AUDIOBOOK_FAVORITES = 'get_audiobook_favorites'
SERVICE_SPOTIFY_GET_BROWSE_CATEGORYS_LIST = 'get_browse_categorys_list'
SERVICE_SPOTIFY_GET_CATEGORY_PLAYLISTS = 'get_category_playlists'
SERVICE_SPOTIFY_GET_CHAPTER = 'get_chapter'
SERVICE_SPOTIFY_GET_COVER_IMAGE_FILE = 'get_cover_image_file'
SERVICE_SPOTIFY_GET_DEVICE_PLAYBACK_STATE = 'get_device_playback_state'
SERVICE_SPOTIFY_GET_EPISODE = 'get_episode'
SERVICE_SPOTIFY_GET_EPISODE_FAVORITES = 'get_episode_favorites'
SERVICE_SPOTIFY_GET_FEATURED_PLAYLISTS = 'get_featured_playlists'
SERVICE_SPOTIFY_GET_ID_FROM_URI = 'get_id_from_uri'
SERVICE_SPOTIFY_GET_IMAGE_PALETTE_COLORS = 'get_image_palette_colors'
SERVICE_SPOTIFY_GET_IMAGE_VIBRANT_COLORS = 'get_image_vibrant_colors'
SERVICE_SPOTIFY_GET_PLAYER_DEVICES = 'get_player_devices'
SERVICE_SPOTIFY_GET_PLAYER_LAST_PLAYED_INFO = 'get_player_last_played_info'
SERVICE_SPOTIFY_GET_PLAYER_NOW_PLAYING = 'get_player_now_playing'
SERVICE_SPOTIFY_GET_PLAYER_PLAYBACK_STATE = 'get_player_playback_state'
SERVICE_SPOTIFY_GET_PLAYER_QUEUE_INFO = 'get_player_queue_info'
SERVICE_SPOTIFY_GET_PLAYER_RECENT_TRACKS = 'get_player_recent_tracks'
SERVICE_SPOTIFY_GET_PLAYLIST = 'get_playlist'
SERVICE_SPOTIFY_GET_PLAYLIST_COVER_IMAGE = 'get_playlist_cover_image'
SERVICE_SPOTIFY_GET_PLAYLIST_FAVORITES = 'get_playlist_favorites'
SERVICE_SPOTIFY_GET_PLAYLIST_ITEMS = 'get_playlist_items'
SERVICE_SPOTIFY_GET_PLAYLISTS_FOR_USER = 'get_playlists_for_user'
SERVICE_SPOTIFY_GET_SHOW = 'get_show'
SERVICE_SPOTIFY_GET_SHOW_EPISODES = 'get_show_episodes'
SERVICE_SPOTIFY_GET_SHOW_FAVORITES = 'get_show_favorites'
SERVICE_SPOTIFY_GET_SPOTIFY_CONNECT_DEVICE = 'get_spotify_connect_device'
SERVICE_SPOTIFY_GET_SPOTIFY_CONNECT_DEVICES = 'get_spotify_connect_devices'
SERVICE_SPOTIFY_GET_TRACK = 'get_track'
SERVICE_SPOTIFY_GET_TRACK_AUDIO_FEATURES = 'get_track_audio_features'
SERVICE_SPOTIFY_GET_TRACK_FAVORITES = 'get_track_favorites'
SERVICE_SPOTIFY_GET_TRACK_RECOMMENDATIONS = 'get_track_recommendations'
SERVICE_SPOTIFY_GET_TRACKS_AUDIO_FEATURES = 'get_tracks_audio_features'
SERVICE_SPOTIFY_GET_USERS_TOP_ARTISTS = 'get_users_top_artists'
SERVICE_SPOTIFY_GET_USERS_TOP_TRACKS = 'get_users_top_tracks'
SERVICE_SPOTIFY_PLAYER_MEDIA_PAUSE = 'player_media_pause'
SERVICE_SPOTIFY_PLAYER_MEDIA_PLAY_CONTEXT = 'player_media_play_context'
SERVICE_SPOTIFY_PLAYER_MEDIA_PLAY_TRACK_FAVORITES = 'player_media_play_track_favorites'
SERVICE_SPOTIFY_PLAYER_MEDIA_PLAY_TRACKS = 'player_media_play_tracks'
SERVICE_SPOTIFY_PLAYER_MEDIA_RESUME = 'player_media_resume'
SERVICE_SPOTIFY_PLAYER_MEDIA_SEEK = 'player_media_seek'
SERVICE_SPOTIFY_PLAYER_MEDIA_SKIP_NEXT = 'player_media_skip_next'
SERVICE_SPOTIFY_PLAYER_MEDIA_SKIP_PREVIOUS = 'player_media_skip_previous'
SERVICE_SPOTIFY_PLAYER_SET_REPEAT_MODE = 'player_set_repeat_mode'
SERVICE_SPOTIFY_PLAYER_SET_SHUFFLE_MODE = 'player_set_shuffle_mode'
SERVICE_SPOTIFY_PLAYER_SET_VOLUME_LEVEL = 'player_set_volume_level'
SERVICE_SPOTIFY_PLAYER_TRANSFER_PLAYBACK = 'player_transfer_playback'
SERVICE_SPOTIFY_PLAYLIST_CHANGE = 'playlist_change'
SERVICE_SPOTIFY_PLAYLIST_COVER_IMAGE_ADD = 'playlist_cover_image_add'
SERVICE_SPOTIFY_PLAYLIST_CREATE = 'playlist_create'
SERVICE_SPOTIFY_PLAYLIST_ITEMS_ADD = 'playlist_items_add'
SERVICE_SPOTIFY_PLAYLIST_ITEMS_CLEAR = 'playlist_items_clear'
SERVICE_SPOTIFY_PLAYLIST_ITEMS_REMOVE = 'playlist_items_remove'
SERVICE_SPOTIFY_PLAYLIST_ITEMS_REORDER = 'playlist_items_reorder'
SERVICE_SPOTIFY_PLAYLIST_ITEMS_REPLACE = 'playlist_items_replace'
SERVICE_SPOTIFY_REMOVE_ALBUM_FAVORITES = 'remove_album_favorites'
SERVICE_SPOTIFY_REMOVE_AUDIOBOOK_FAVORITES = 'remove_audiobook_favorites'
SERVICE_SPOTIFY_REMOVE_EPISODE_FAVORITES = 'remove_episode_favorites'
SERVICE_SPOTIFY_REMOVE_SHOW_FAVORITES = 'remove_show_favorites'
SERVICE_SPOTIFY_REMOVE_TRACK_FAVORITES = 'remove_track_favorites'
SERVICE_SPOTIFY_REMOVE_USER_FAVORITES = 'remove_user_favorites'
SERVICE_SPOTIFY_SAVE_ALBUM_FAVORITES = 'save_album_favorites'
SERVICE_SPOTIFY_SAVE_AUDIOBOOK_FAVORITES = 'save_audiobook_favorites'
SERVICE_SPOTIFY_SAVE_EPISODE_FAVORITES = 'save_episode_favorites'
SERVICE_SPOTIFY_SAVE_SHOW_FAVORITES = 'save_show_favorites'
SERVICE_SPOTIFY_SAVE_TRACK_FAVORITES = 'save_track_favorites'
SERVICE_SPOTIFY_SAVE_USER_FAVORITES = 'save_user_favorites'
SERVICE_SPOTIFY_SEARCH_ALL = 'search_all'
SERVICE_SPOTIFY_SEARCH_ALBUMS = 'search_albums'
SERVICE_SPOTIFY_SEARCH_ARTISTS = 'search_artists'
SERVICE_SPOTIFY_SEARCH_AUDIOBOOKS = 'search_audiobooks'
SERVICE_SPOTIFY_SEARCH_EPISODES = 'search_episodes'
SERVICE_SPOTIFY_SEARCH_PLAYLISTS = 'search_playlists'
SERVICE_SPOTIFY_SEARCH_SHOWS = 'search_shows'
SERVICE_SPOTIFY_SEARCH_TRACKS = 'search_tracks'
SERVICE_SPOTIFY_TRIGGER_SCAN_INTERVAL = 'trigger_scan_interval'
SERVICE_SPOTIFY_UNFOLLOW_ARTISTS = 'unfollow_artists'
SERVICE_SPOTIFY_UNFOLLOW_PLAYLIST = 'unfollow_playlist'
SERVICE_SPOTIFY_UNFOLLOW_USERS = 'unfollow_users'
SERVICE_SPOTIFY_ZEROCONF_DEVICE_CONNECT = 'zeroconf_device_connect'
SERVICE_SPOTIFY_ZEROCONF_DEVICE_DISCONNECT = 'zeroconf_device_disconnect'
SERVICE_SPOTIFY_ZEROCONF_DEVICE_GETINFO = 'zeroconf_device_getinfo'
SERVICE_SPOTIFY_ZEROCONF_DISCOVER_DEVICES = 'zeroconf_discover_devices'
# -----------------------------------------------------------------------------------
# Custom Service Schemas - MediaPlayerEntity enhancements.
# -----------------------------------------------------------------------------------
SERVICE_VOLUME_SET_STEP = 'volume_set_step'
# -----------------------------------------------------------------------------------
# Custom Service Schemas - non-Spotify Web API related.
# -----------------------------------------------------------------------------------
SERVICE_LIST_APPLICATION_CREDENTIAL_MAPPPINGS = 'list_application_credential_mappings'
SERVICE_TEST_TOKEN_EXPIRE = 'test_token_expire'
# -----------------------------------------------------------------------------------
# Configuration constants.
# -----------------------------------------------------------------------------------
CONF_ADD = "add"
CONF_ENTITY_ID = "entity_id"
CONF_REMOVE = "remove"
CONF_TEXT = "text"
CONF_VALUE = "value"
CONF_LIMIT_TOTAL_MINIMUM = 5 # ensure more than 1 so that user favorites are considered.
# -----------------------------------------------------------------------------------
# Slot Argument constants.
# -----------------------------------------------------------------------------------
SLOT_AREA = "area"
SLOT_ALBUM_NAME = "album_name"
SLOT_ALBUM_TITLE = "album_title"
SLOT_ALBUM_URL = "album_url"
SLOT_ARTIST_BIO = "artist_bio"
SLOT_ARTIST_NAME = "artist_name"
SLOT_ARTIST_TITLE = "artist_title"
SLOT_ARTIST_URL = "artist_url"
SLOT_AUDIOBOOK_NAME = "audiobook_name"
SLOT_AUDIOBOOK_TITLE = "audiobook_title"
SLOT_AUDIOBOOK_URL = "audiobook_url"
SLOT_AUTHOR_NAME = "author_name"
SLOT_AUTHOR_TITLE = "author_title"
SLOT_CHAPTER_NAME = "chapter_name"
SLOT_CHAPTER_TITLE = "chapter_title"
SLOT_CHAPTER_URL = "chapter_url"
SLOT_CRITERIA_ARG_1 = "criteria_arg_1"
SLOT_CRITERIA_ARG_2 = "criteria_arg_2"
SLOT_DESCRIPTION = "description"
SLOT_DELAY = "delay"
SLOT_DEVICE_NAME = "device_name"
SLOT_DEVICE_TITLE = "device_title"
SLOT_EPISODE_NAME = "episode_name"
SLOT_EPISODE_TITLE = "episode_title"
SLOT_EPISODE_URL = "episode_url"
SLOT_ERROR_FEATURES = "error_features"
SLOT_ERROR_INFO = "error_info"
SLOT_ERROR_STATES = "error_states"
SLOT_FAVORITE_OPERATOR = "favorite_operator"
SLOT_FLOOR = "floor"
SLOT_ID = "id"
SLOT_IMAGE_PATH = "image_path"
SLOT_IS_COLLABORATIVE = "is_collaborative"
SLOT_IS_PUBLIC = "is_public"
SLOT_LATEST_EPISODE = "latest_episode"
SLOT_LIMIT_TOTAL = "limit_total"
SLOT_NAME = "name"
SLOT_PLAYER_REPEAT_MODE = "player_repeat_mode"
SLOT_PLAYER_SHUFFLE_MODE = "player_shuffle_mode"
SLOT_PLAYER_VOLUME_LEVEL_PCT = "player_volume_level_pct"
SLOT_PLAYER_VOLUME_STEP_PCT = "player_volume_step_pct"
SLOT_PLAYLIST_NAME = "playlist_name"
SLOT_PLAYLIST_TITLE = "playlist_title"
SLOT_PLAYLIST_URL = "playlist_url"
SLOT_PODCAST_NAME = "podcast_name"
SLOT_PODCAST_TITLE = "podcast_title"
SLOT_PODCAST_URL = "podcast_url"
SLOT_PREFERRED_AREA_ID = "preferred_area_id"
SLOT_PREFERRED_FLOOR_ID = "preferred_floor_id"
SLOT_SEARCH_CRITERIA = "search_criteria"
SLOT_SPOTIFYPLUS_MEDIA_TYPE = "spotifyplus_media_type"
SLOT_SPOTIFYPLUS_PLAYLIST_NAMES = "spotifyplus_playlist_names"
SLOT_SPOTIFYPLUS_PLAYER_DECK_CONTROL = "spotifyplus_player_deck_control"
SLOT_SPOTIFYPLUS_PLAYER_VOLUME_CONTROL = "spotifyplus_player_volume_control"
SLOT_SPOTIFYPLUS_SEARCH_PLAY_CONTROL = "spotifyplus_search_play_control"
SLOT_SPOTIFYPLUS_SEARCH_PLAY_CONTROL_MULTI = "spotifyplus_search_play_control_multi"
SLOT_SPOTIFYPLUS_SEARCH_PLAY_CONTROL_SINGLE = "spotifyplus_search_play_control_single"
SLOT_TARGET_PLAYER = "target_player"
SLOT_TRACK_NAME = "track_name"
SLOT_TRACK_TITLE = "track_title"
SLOT_TRACK_URL = "track_url"
# -----------------------------------------------------------------------------------
# Intent Handler identifiers.
# -----------------------------------------------------------------------------------
INTENT_FAVORITE_ADD_REMOVE = "SpotifyPlusFavoriteAddRemove"
INTENT_GET_INFO_ARTIST_BIO = "SpotifyPlusGetInfoArtistBio"
INTENT_GET_NOWPLAYING_INFO = "SpotifyPlusGetNowPlayingInfo"
INTENT_PLAYER_DECK_CONTROL = "SpotifyPlusPlayerDeckControl"
INTENT_PLAYER_SET_REPEAT_MODE = "SpotifyPlusPlayerSetRepeatMode"
INTENT_PLAYER_SET_SHUFFLE_MODE = "SpotifyPlusPlayerSetShuffleMode"
INTENT_PLAYER_TRANSFER_PLAYBACK = "SpotifyPlusPlayerTransferPlayback"
INTENT_PLAYER_VOLUME_CONTROL = "SpotifyPlusPlayerVolumeControl"
INTENT_PLAYLIST_CREATE = "SpotifyPlusPlaylistCreate"
INTENT_SEARCH_PLAY_CONTROL = "SpotifyPlusSearchPlayControl"
# -----------------------------------------------------------------------------------
# Intent Handler response codes.
# -----------------------------------------------------------------------------------
RESPONSE_OK = "default"
RESPONSE_ERROR_FAILED_TO_HANDLE = "error_failed_to_handle"
RESPONSE_ERROR_MEDIA_TYPE_INVALID = "error_media_type_invalid"
RESPONSE_ERROR_PLAYER_DECK_CONTROL_INVALID = "error_player_deck_control_invalid"
RESPONSE_ERROR_PLAYER_VOLUME_CONTROL_INVALID = "error_player_volume_control_invalid"
RESPONSE_ERROR_SEARCH_NO_CRITERIA = "error_search_no_criteria"
RESPONSE_ERROR_SEARCH_PLAY_CONTROL_INVALID = "error_search_play_control_invalid"
RESPONSE_FAVORITE_ADD_REMOVE_ALBUM_OK = "favorite_add_remove_album_ok"
RESPONSE_FAVORITE_ADD_REMOVE_ARTIST_OK = "favorite_add_remove_artist_ok"
RESPONSE_FAVORITE_ADD_REMOVE_AUDIOBOOK_OK = "favorite_add_remove_audiobook_ok"
RESPONSE_FAVORITE_ADD_REMOVE_PLAYLIST_OK = "favorite_add_remove_playlist_ok"
RESPONSE_FAVORITE_ADD_REMOVE_PODCAST_OK = "favorite_add_remove_podcast_ok"
RESPONSE_FAVORITE_ADD_REMOVE_PODCAST_EPISODE_OK = "favorite_add_remove_podcast_episode_ok"
RESPONSE_FAVORITE_ADD_REMOVE_TRACK_OK = "favorite_add_remove_track_ok"
RESPONSE_FAVORITE_OPERATION_INVALID = "favorite_operation_invalid"
RESPONSE_GET_INFO_ARTIST_BIO = "get_info_artist_bio"
RESPONSE_NOWPLAYING_NO_MEDIA_ALBUM = "nowplaying_no_media_album"
RESPONSE_NOWPLAYING_NO_MEDIA_ARTIST = "nowplaying_no_media_artist"
RESPONSE_NOWPLAYING_NO_MEDIA_AUDIOBOOK = "nowplaying_no_media_audiobook"
RESPONSE_NOWPLAYING_NO_MEDIA_PLAYLIST = "nowplaying_no_media_playlist"
RESPONSE_NOWPLAYING_NO_MEDIA_PODCAST = "nowplaying_no_media_podcast"
RESPONSE_NOWPLAYING_NO_MEDIA_PODCAST_EPISODE = "nowplaying_no_media_podcast_episode"
RESPONSE_NOWPLAYING_NO_MEDIA_TRACK = "nowplaying_no_media_track"
RESPONSE_NOWPLAYING_INFO_ALBUM = "nowplaying_info_album"
RESPONSE_NOWPLAYING_INFO_AUDIOBOOK = "nowplaying_info_audiobook"
RESPONSE_NOWPLAYING_INFO_PODCAST = "nowplaying_info_podcast"
RESPONSE_NOWPLAYING_INFO_PODCAST_EPISODE = "nowplaying_info_podcast_episode"
RESPONSE_NOWPLAYING_INFO_PLAYLIST = "nowplaying_info_playlist"
RESPONSE_NOWPLAYING_INFO_TRACK = "nowplaying_info_track"
RESPONSE_PLAY_ALBUM = "play_album"
RESPONSE_PLAY_ALBUM_WITH_ARTIST = "play_album_with_artist"
RESPONSE_PLAY_ARTIST = "play_artist"
RESPONSE_PLAY_AUDIOBOOK = "play_audiobook"
RESPONSE_PLAY_AUDIOBOOK_WITH_AUTHOR = "play_audiobook_with_author"
RESPONSE_PLAY_FAVORITE_TRACKS = "play_favorite_tracks"
RESPONSE_PLAY_FAVORITE_TRACKS_FOR_ARTIST = "play_favorite_tracks_for_artist"
RESPONSE_PLAY_PLAYLIST = "play_playlist"
RESPONSE_PLAY_PODCAST = "play_podcast"
RESPONSE_PLAY_PODCAST_EPISODE = "play_podcast_episode"
RESPONSE_PLAY_TRACK = "play_track"
RESPONSE_PLAY_TRACK_WITH_ARTIST = "play_track_with_artist"
RESPONSE_PLAYER_ALREADY_PLAYING_MEDIA = "player_already_playing_media"
RESPONSE_PLAYER_DECK_CONTROL_PAUSE = "player_deck_control_pause"
RESPONSE_PLAYER_DECK_CONTROL_RESUME = "player_deck_control_resume"
RESPONSE_PLAYER_DECK_CONTROL_SEEK_START = "player_deck_control_seek_start"
RESPONSE_PLAYER_DECK_CONTROL_SKIP_NEXT = "player_deck_control_skip_next"
RESPONSE_PLAYER_DECK_CONTROL_SKIP_PREVIOUS = "player_deck_control_skip_previous"
RESPONSE_PLAYER_FEATURES_NOT_SUPPORTED = "player_features_not_supported"
RESPONSE_PLAYER_NOT_EXPOSED_TO_VOICE = "player_not_exposed_to_voice"
RESPONSE_PLAYER_NOT_MATCHED = "player_not_matched"
RESPONSE_PLAYER_NOT_MATCHED_AREA = "player_not_matched_area"
RESPONSE_PLAYER_NOT_PLAYING_MEDIA = "player_not_playing_media"
RESPONSE_PLAYER_NOT_SPOTIFYPLUS = "player_not_spotifyplus"
RESPONSE_PLAYER_VOLUME_CONTROL_DOWN = "player_volume_control_down"
RESPONSE_PLAYER_VOLUME_CONTROL_MUTE = "player_volume_control_mute"
RESPONSE_PLAYER_VOLUME_CONTROL_SET_LEVEL = "player_volume_control_set_level"
RESPONSE_PLAYER_VOLUME_CONTROL_SET_STEP_LEVEL = "player_volume_control_set_step_level"
RESPONSE_PLAYER_VOLUME_CONTROL_UNMUTE = "player_volume_control_unmute"
RESPONSE_PLAYER_VOLUME_CONTROL_UP = "player_volume_control_up"
RESPONSE_PLAYLIST_CREATED = "playlist_created"
RESPONSE_SPOTIFY_NO_ARTIST_INFO = "spotify_no_artist_info"
RESPONSE_SPOTIFY_PREMIUM_REQUIRED = "spotify_premium_required"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_ALBUM = "spotify_search_no_items_album"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_ARTIST = "spotify_search_no_items_artist"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_AUDIOBOOK = "spotify_search_no_items_audiobook"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_PLAYLIST = "spotify_search_no_items_playlist"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_PODCAST = "spotify_search_no_items_podcast"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_PODCAST_EPISODE = "spotify_search_no_items_podcast_episode"
RESPONSE_SPOTIFY_SEARCH_NO_ITEMS_TRACK = "spotify_search_no_items_track"