diff --git a/homeassistant/components/music_assistant/media_player.py b/homeassistant/components/music_assistant/media_player.py index c929dfd4d2f..0eaea6b4e91 100644 --- a/homeassistant/components/music_assistant/media_player.py +++ b/homeassistant/components/music_assistant/media_player.py @@ -115,6 +115,13 @@ QUEUE_OPTION_MAP = { MediaPlayerEnqueue.REPLACE: QueueOption.REPLACE, } +REPEAT_MODE_MAPPING_TO_HA = { + MassRepeatMode.OFF: RepeatMode.OFF, + MassRepeatMode.ONE: RepeatMode.ONE, + MassRepeatMode.ALL: RepeatMode.ALL, + # UNKNOWN is intentionally not mapped - will return None +} + SERVICE_PLAY_MEDIA_ADVANCED = "play_media" SERVICE_PLAY_ANNOUNCEMENT = "play_announcement" SERVICE_TRANSFER_QUEUE = "transfer_queue" @@ -657,7 +664,7 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity): # player has an MA queue active (either its own queue or some group queue) self._attr_app_id = DOMAIN self._attr_shuffle = queue.shuffle_enabled - self._attr_repeat = queue.repeat_mode.value + self._attr_repeat = REPEAT_MODE_MAPPING_TO_HA.get(queue.repeat_mode) if not (cur_item := queue.current_item): # queue is empty return diff --git a/tests/components/music_assistant/fixtures/player_queues.json b/tests/components/music_assistant/fixtures/player_queues.json index 5251560365c..ccc4e245535 100644 --- a/tests/components/music_assistant/fixtures/player_queues.json +++ b/tests/components/music_assistant/fixtures/player_queues.json @@ -134,7 +134,7 @@ "links": null, "chapters": null, "performers": null, - "preview": "https://p.scdn.co/mp3-preview/98deb9c370bbaa350be058b3470fbe3bc1e28d9d?cid=2eb96f9b37494be1824999d58028a305", + "preview": "https://p.scdn.co/mp3-preview/98deb9c370bbaa350be058b3470fbe3bc1e28d9d", "popularity": 77, "last_refresh": null }, diff --git a/tests/components/music_assistant/snapshots/test_media_player.ambr b/tests/components/music_assistant/snapshots/test_media_player.ambr index 6307f055b38..8547fd1c161 100644 --- a/tests/components/music_assistant/snapshots/test_media_player.ambr +++ b/tests/components/music_assistant/snapshots/test_media_player.ambr @@ -126,7 +126,7 @@ 'media_position': 232, 'media_position_updated_at': datetime.datetime(2024, 10, 30, 18, 31, 49, 565951, tzinfo=datetime.timezone.utc), 'media_title': 'November Rain', - 'repeat': 'all', + 'repeat': , 'shuffle': True, 'supported_features': , 'volume_level': 0.06,