From a445ebdf3c280ea8e07efe3a865384e589daed90 Mon Sep 17 00:00:00 2001 From: ktnrg45 <38207570+ktnrg45@users.noreply.github.com> Date: Fri, 3 Jul 2020 11:34:11 -0700 Subject: [PATCH] Fix undesired power toggling (#37427) --- homeassistant/components/ps4/manifest.json | 2 +- homeassistant/components/ps4/media_player.py | 4 ++++ requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/ps4/test_media_player.py | 16 ++++++++++++++++ 5 files changed, 23 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/ps4/manifest.json b/homeassistant/components/ps4/manifest.json index 4cc86f109f8..3527a05e5b3 100644 --- a/homeassistant/components/ps4/manifest.json +++ b/homeassistant/components/ps4/manifest.json @@ -3,6 +3,6 @@ "name": "Sony PlayStation 4", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/ps4", - "requirements": ["pyps4-2ndscreen==1.1.0"], + "requirements": ["pyps4-2ndscreen==1.1.1"], "codeowners": ["@ktnrg45"] } diff --git a/homeassistant/components/ps4/media_player.py b/homeassistant/components/ps4/media_player.py index 9bd4ddbefbe..3ecd268f92b 100644 --- a/homeassistant/components/ps4/media_player.py +++ b/homeassistant/components/ps4/media_player.py @@ -453,6 +453,10 @@ class PS4Device(MediaPlayerEntity): """Turn on the media player.""" self._ps4.wakeup() + async def async_toggle(self): + """Toggle media player.""" + await self._ps4.toggle() + async def async_media_pause(self): """Send keypress ps to return to menu.""" await self.async_send_remote_control("ps") diff --git a/requirements_all.txt b/requirements_all.txt index f2e063c4ea8..1fd0d49fcea 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1546,7 +1546,7 @@ pypjlink2==1.2.1 pypoint==1.1.2 # homeassistant.components.ps4 -pyps4-2ndscreen==1.1.0 +pyps4-2ndscreen==1.1.1 # homeassistant.components.qvr_pro pyqvrpro==0.52 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index ece27c3e2bc..9bb3527ac11 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -708,7 +708,7 @@ pyotp==2.3.0 pypoint==1.1.2 # homeassistant.components.ps4 -pyps4-2ndscreen==1.1.0 +pyps4-2ndscreen==1.1.1 # homeassistant.components.qwikswitch pyqwikswitch==0.93 diff --git a/tests/components/ps4/test_media_player.py b/tests/components/ps4/test_media_player.py index 8ff8dea71ce..4e22591d3b0 100644 --- a/tests/components/ps4/test_media_player.py +++ b/tests/components/ps4/test_media_player.py @@ -379,6 +379,22 @@ async def test_turn_off(hass): assert len(mock_call.mock_calls) == 1 +async def test_toggle(hass): + """Test that toggle service calls function.""" + mock_entity_id = await setup_mock_component(hass) + mock_func = "{}{}".format( + "homeassistant.components.ps4.media_player.", "pyps4.Ps4Async.toggle" + ) + + with patch(mock_func) as mock_call: + await hass.services.async_call( + "media_player", "toggle", {ATTR_ENTITY_ID: mock_entity_id} + ) + await hass.async_block_till_done() + + assert len(mock_call.mock_calls) == 1 + + async def test_media_pause(hass): """Test that media pause service calls function.""" mock_entity_id = await setup_mock_component(hass)