From 741cb23776f79cb8bd704ccbd01df38a28bc0f39 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 19 May 2025 16:03:21 -0400 Subject: [PATCH] Only pass serializable data to media player intent (#145244) --- homeassistant/components/media_player/intent.py | 2 +- tests/components/media_player/test_intent.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/intent.py b/homeassistant/components/media_player/intent.py index 85f0598695b..c9caa2c4a91 100644 --- a/homeassistant/components/media_player/intent.py +++ b/homeassistant/components/media_player/intent.py @@ -336,6 +336,6 @@ class MediaSearchAndPlayHandler(intent.IntentHandler): # Success response = intent_obj.create_response() - response.async_set_speech_slots({"media": first_result}) + response.async_set_speech_slots({"media": first_result.as_dict()}) response.response_type = intent.IntentResponseType.ACTION_DONE return response diff --git a/tests/components/media_player/test_intent.py b/tests/components/media_player/test_intent.py index 6429d6889c0..4b08aa43158 100644 --- a/tests/components/media_player/test_intent.py +++ b/tests/components/media_player/test_intent.py @@ -688,8 +688,7 @@ async def test_search_and_play_media_player_intent(hass: HomeAssistant) -> None: # Response should contain a "media" slot with the matched item. assert not response.speech media = response.speech_slots.get("media") - assert isinstance(media, BrowseMedia) - assert media.title == "Test Track" + assert media["title"] == "Test Track" assert len(search_calls) == 1 search_call = search_calls[0]