diff --git a/homeassistant/components/media_source/__init__.py b/homeassistant/components/media_source/__init__.py index ce02b994e9d..e1e9a4feb4b 100644 --- a/homeassistant/components/media_source/__init__.py +++ b/homeassistant/components/media_source/__init__.py @@ -176,7 +176,14 @@ async def async_resolve_media( try: item = _get_media_item(hass, media_content_id, target_media_player) except ValueError as err: - raise Unresolvable(str(err)) from err + raise Unresolvable( + translation_domain=DOMAIN, + translation_key="resolve_media_failed", + translation_placeholders={ + "media_content_id": str(media_content_id), + "error": str(err), + }, + ) from err return await item.async_resolve() diff --git a/homeassistant/components/media_source/strings.json b/homeassistant/components/media_source/strings.json index e855737b165..40204fc32db 100644 --- a/homeassistant/components/media_source/strings.json +++ b/homeassistant/components/media_source/strings.json @@ -3,6 +3,9 @@ "browse_media_failed": { "message": "Failed to browse media with content id {media_content_id}: {error}" }, + "resolve_media_failed": { + "message": "Failed to resolve media with content id {media_content_id}: {error}" + }, "unknown_media_source": { "message": "Unknown media source: {domain}" } diff --git a/tests/components/netatmo/test_media_source.py b/tests/components/netatmo/test_media_source.py index f9aff2749d2..3d787a1a813 100644 --- a/tests/components/netatmo/test_media_source.py +++ b/tests/components/netatmo/test_media_source.py @@ -57,8 +57,10 @@ async def test_async_browse_media(hass: HomeAssistant) -> None: # Test invalid base with pytest.raises(BrowseError) as excinfo: await async_browse_media(hass, f"{URI_SCHEME}{DOMAIN}/") - assert str(excinfo.value) == "Invalid media source URI" - + assert str(excinfo.value) == ( + "Failed to browse media with content id media-source://netatmo/: " + "Invalid media source URI" + ) # Test successful listing media = await async_browse_media(hass, f"{URI_SCHEME}{DOMAIN}/events")