diff --git a/homeassistant/components/roku/media_player.py b/homeassistant/components/roku/media_player.py index 7b64888bbd1..8c92eff3687 100644 --- a/homeassistant/components/roku/media_player.py +++ b/homeassistant/components/roku/media_player.py @@ -7,6 +7,7 @@ from homeassistant.components.media_player.const import ( MEDIA_TYPE_APP, MEDIA_TYPE_CHANNEL, SUPPORT_NEXT_TRACK, + SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK, @@ -29,6 +30,7 @@ SUPPORT_ROKU = ( | SUPPORT_VOLUME_STEP | SUPPORT_VOLUME_MUTE | SUPPORT_SELECT_SOURCE + | SUPPORT_PAUSE | SUPPORT_PLAY | SUPPORT_PLAY_MEDIA | SUPPORT_TURN_ON @@ -167,6 +169,14 @@ class RokuMediaPlayer(RokuEntity, MediaPlayerEntity): """Turn off the Roku.""" await self.coordinator.roku.remote("poweroff") + async def async_media_pause(self) -> None: + """Send pause command.""" + await self.coordinator.roku.remote("play") + + async def async_media_play(self) -> None: + """Send play command.""" + await self.coordinator.roku.remote("play") + async def async_media_play_pause(self) -> None: """Send play/pause command.""" await self.coordinator.roku.remote("play") diff --git a/tests/components/roku/test_media_player.py b/tests/components/roku/test_media_player.py index f91a8b286b3..9d809cae433 100644 --- a/tests/components/roku/test_media_player.py +++ b/tests/components/roku/test_media_player.py @@ -18,6 +18,7 @@ from homeassistant.components.media_player.const import ( SERVICE_PLAY_MEDIA, SERVICE_SELECT_SOURCE, SUPPORT_NEXT_TRACK, + SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK, @@ -30,6 +31,8 @@ from homeassistant.components.media_player.const import ( from homeassistant.const import ( ATTR_ENTITY_ID, SERVICE_MEDIA_NEXT_TRACK, + SERVICE_MEDIA_PAUSE, + SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PLAY_PAUSE, SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_TURN_OFF, @@ -142,6 +145,7 @@ async def test_supported_features( | SUPPORT_VOLUME_STEP | SUPPORT_VOLUME_MUTE | SUPPORT_SELECT_SOURCE + | SUPPORT_PAUSE | SUPPORT_PLAY | SUPPORT_PLAY_MEDIA | SUPPORT_TURN_ON @@ -170,6 +174,7 @@ async def test_tv_supported_features( | SUPPORT_VOLUME_STEP | SUPPORT_VOLUME_MUTE | SUPPORT_SELECT_SOURCE + | SUPPORT_PAUSE | SUPPORT_PLAY | SUPPORT_PLAY_MEDIA | SUPPORT_TURN_ON @@ -267,6 +272,26 @@ async def test_services( remote_mock.assert_called_once_with("poweron") + with patch("homeassistant.components.roku.Roku.remote") as remote_mock: + await hass.services.async_call( + MP_DOMAIN, + SERVICE_MEDIA_PAUSE, + {ATTR_ENTITY_ID: MAIN_ENTITY_ID}, + blocking=True, + ) + + remote_mock.assert_called_once_with("play") + + with patch("homeassistant.components.roku.Roku.remote") as remote_mock: + await hass.services.async_call( + MP_DOMAIN, + SERVICE_MEDIA_PLAY, + {ATTR_ENTITY_ID: MAIN_ENTITY_ID}, + blocking=True, + ) + + remote_mock.assert_called_once_with("play") + with patch("homeassistant.components.roku.Roku.remote") as remote_mock: await hass.services.async_call( MP_DOMAIN,