Send MEDIA_ANNOUNCE flag to ESPHome media_player (#116993)
This commit is contained in:
parent
eb76386c68
commit
ad69a23fda
2 changed files with 8 additions and 4 deletions
|
@ -14,6 +14,7 @@ from aioesphomeapi import (
|
||||||
|
|
||||||
from homeassistant.components import media_source
|
from homeassistant.components import media_source
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
|
ATTR_MEDIA_ANNOUNCE,
|
||||||
BrowseMedia,
|
BrowseMedia,
|
||||||
MediaPlayerDeviceClass,
|
MediaPlayerDeviceClass,
|
||||||
MediaPlayerEntity,
|
MediaPlayerEntity,
|
||||||
|
@ -77,6 +78,7 @@ class EsphomeMediaPlayer(
|
||||||
| MediaPlayerEntityFeature.STOP
|
| MediaPlayerEntityFeature.STOP
|
||||||
| MediaPlayerEntityFeature.VOLUME_SET
|
| MediaPlayerEntityFeature.VOLUME_SET
|
||||||
| MediaPlayerEntityFeature.VOLUME_MUTE
|
| MediaPlayerEntityFeature.VOLUME_MUTE
|
||||||
|
| MediaPlayerEntityFeature.MEDIA_ANNOUNCE
|
||||||
)
|
)
|
||||||
if self._static_info.supports_pause:
|
if self._static_info.supports_pause:
|
||||||
flags |= MediaPlayerEntityFeature.PAUSE | MediaPlayerEntityFeature.PLAY
|
flags |= MediaPlayerEntityFeature.PAUSE | MediaPlayerEntityFeature.PLAY
|
||||||
|
@ -112,10 +114,10 @@ class EsphomeMediaPlayer(
|
||||||
media_id = sourced_media.url
|
media_id = sourced_media.url
|
||||||
|
|
||||||
media_id = async_process_play_media_url(self.hass, media_id)
|
media_id = async_process_play_media_url(self.hass, media_id)
|
||||||
|
announcement = kwargs.get(ATTR_MEDIA_ANNOUNCE)
|
||||||
|
|
||||||
self._client.media_player_command(
|
self._client.media_player_command(
|
||||||
self._key,
|
self._key, media_url=media_id, announcement=announcement
|
||||||
media_url=media_id,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_browse_media(
|
async def async_browse_media(
|
||||||
|
|
|
@ -13,6 +13,7 @@ import pytest
|
||||||
|
|
||||||
from homeassistant.components import media_source
|
from homeassistant.components import media_source
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
|
ATTR_MEDIA_ANNOUNCE,
|
||||||
ATTR_MEDIA_CONTENT_ID,
|
ATTR_MEDIA_CONTENT_ID,
|
||||||
ATTR_MEDIA_CONTENT_TYPE,
|
ATTR_MEDIA_CONTENT_TYPE,
|
||||||
ATTR_MEDIA_VOLUME_LEVEL,
|
ATTR_MEDIA_VOLUME_LEVEL,
|
||||||
|
@ -247,7 +248,7 @@ async def test_media_player_entity_with_source(
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_client.media_player_command.assert_has_calls(
|
mock_client.media_player_command.assert_has_calls(
|
||||||
[call(1, media_url="http://www.example.com/xy.mp3")]
|
[call(1, media_url="http://www.example.com/xy.mp3", announcement=None)]
|
||||||
)
|
)
|
||||||
|
|
||||||
client = await hass_ws_client()
|
client = await hass_ws_client()
|
||||||
|
@ -268,10 +269,11 @@ async def test_media_player_entity_with_source(
|
||||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||||
ATTR_MEDIA_CONTENT_TYPE: MediaType.URL,
|
ATTR_MEDIA_CONTENT_TYPE: MediaType.URL,
|
||||||
ATTR_MEDIA_CONTENT_ID: "media-source://tts?message=hello",
|
ATTR_MEDIA_CONTENT_ID: "media-source://tts?message=hello",
|
||||||
|
ATTR_MEDIA_ANNOUNCE: True,
|
||||||
},
|
},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
mock_client.media_player_command.assert_has_calls(
|
mock_client.media_player_command.assert_has_calls(
|
||||||
[call(1, media_url="media-source://tts?message=hello")]
|
[call(1, media_url="media-source://tts?message=hello", announcement=True)]
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue