mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 08:17:08 +00:00
Fix media_player Toggle when in idle (#78192)
* Remove idle as off state * Fix merge mistake * Fix merge mistake --------- Co-authored-by: Erik Montnemery <erik@montnemery.com>
This commit is contained in:
parent
2951eb5cc8
commit
160b98bd28
@ -1031,7 +1031,6 @@ class MediaPlayerEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
|
|||||||
|
|
||||||
if self.state in {
|
if self.state in {
|
||||||
MediaPlayerState.OFF,
|
MediaPlayerState.OFF,
|
||||||
MediaPlayerState.IDLE,
|
|
||||||
MediaPlayerState.STANDBY,
|
MediaPlayerState.STANDBY,
|
||||||
}:
|
}:
|
||||||
await self.async_turn_on()
|
await self.async_turn_on()
|
||||||
|
@ -69,6 +69,10 @@ class SimpleMediaPlayer(mp.MediaPlayerEntity):
|
|||||||
"""Put device in standby."""
|
"""Put device in standby."""
|
||||||
self._state = STATE_STANDBY
|
self._state = STATE_STANDBY
|
||||||
|
|
||||||
|
def idle(self):
|
||||||
|
"""Put device in idle."""
|
||||||
|
self._state = STATE_IDLE
|
||||||
|
|
||||||
|
|
||||||
class ExtendedMediaPlayer(SimpleMediaPlayer):
|
class ExtendedMediaPlayer(SimpleMediaPlayer):
|
||||||
"""Media player test class."""
|
"""Media player test class."""
|
||||||
@ -92,7 +96,7 @@ class ExtendedMediaPlayer(SimpleMediaPlayer):
|
|||||||
|
|
||||||
def toggle(self):
|
def toggle(self):
|
||||||
"""Toggle the power on the media player."""
|
"""Toggle the power on the media player."""
|
||||||
if self._state in [STATE_OFF, STATE_IDLE, STATE_STANDBY]:
|
if self._state in [STATE_OFF, STATE_STANDBY]:
|
||||||
self._state = STATE_ON
|
self._state = STATE_ON
|
||||||
else:
|
else:
|
||||||
self._state = STATE_OFF
|
self._state = STATE_OFF
|
||||||
@ -187,3 +191,7 @@ async def test_toggle(player) -> None:
|
|||||||
assert player.state == STATE_STANDBY
|
assert player.state == STATE_STANDBY
|
||||||
await player.async_toggle()
|
await player.async_toggle()
|
||||||
assert player.state == STATE_ON
|
assert player.state == STATE_ON
|
||||||
|
player.idle()
|
||||||
|
assert player.state == STATE_IDLE
|
||||||
|
await player.async_toggle()
|
||||||
|
assert player.state == STATE_OFF
|
||||||
|
Loading…
x
Reference in New Issue
Block a user