From ada1cff4b181b79d2bd1260092ccd664cb532357 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 15 Sep 2022 12:00:52 +0200 Subject: [PATCH] Use new media player enums in homekit_controller (#78105) * Use new media player enums in homekit_controller * Replace OK/PROBLEM with ON/OFF * Fix tests --- .../homekit_controller/media_player.py | 28 ++++++++----------- .../specific_devices/test_lg_tv.py | 2 +- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/homekit_controller/media_player.py b/homeassistant/components/homekit_controller/media_player.py index 092652ed17d..5c791f165e2 100644 --- a/homeassistant/components/homekit_controller/media_player.py +++ b/homeassistant/components/homekit_controller/media_player.py @@ -16,15 +16,9 @@ from homeassistant.components.media_player import ( MediaPlayerDeviceClass, MediaPlayerEntity, MediaPlayerEntityFeature, + MediaPlayerState, ) from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ( - STATE_IDLE, - STATE_OK, - STATE_PAUSED, - STATE_PLAYING, - STATE_PROBLEM, -) from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback @@ -35,9 +29,9 @@ _LOGGER = logging.getLogger(__name__) HK_TO_HA_STATE = { - CurrentMediaStateValues.PLAYING: STATE_PLAYING, - CurrentMediaStateValues.PAUSED: STATE_PAUSED, - CurrentMediaStateValues.STOPPED: STATE_IDLE, + CurrentMediaStateValues.PLAYING: MediaPlayerState.PLAYING, + CurrentMediaStateValues.PAUSED: MediaPlayerState.PAUSED, + CurrentMediaStateValues.STOPPED: MediaPlayerState.IDLE, } @@ -163,21 +157,21 @@ class HomeKitTelevision(HomeKitEntity, MediaPlayerEntity): return char.value @property - def state(self) -> str: + def state(self) -> MediaPlayerState: """State of the tv.""" active = self.service.value(CharacteristicsTypes.ACTIVE) if not active: - return STATE_PROBLEM + return MediaPlayerState.OFF homekit_state = self.service.value(CharacteristicsTypes.CURRENT_MEDIA_STATE) if homekit_state is not None: - return HK_TO_HA_STATE.get(homekit_state, STATE_OK) + return HK_TO_HA_STATE.get(homekit_state, MediaPlayerState.ON) - return STATE_OK + return MediaPlayerState.ON async def async_media_play(self) -> None: """Send play command.""" - if self.state == STATE_PLAYING: + if self.state == MediaPlayerState.PLAYING: _LOGGER.debug("Cannot play while already playing") return @@ -192,7 +186,7 @@ class HomeKitTelevision(HomeKitEntity, MediaPlayerEntity): async def async_media_pause(self) -> None: """Send pause command.""" - if self.state == STATE_PAUSED: + if self.state == MediaPlayerState.PAUSED: _LOGGER.debug("Cannot pause while already paused") return @@ -207,7 +201,7 @@ class HomeKitTelevision(HomeKitEntity, MediaPlayerEntity): async def async_media_stop(self) -> None: """Send stop command.""" - if self.state == STATE_IDLE: + if self.state == MediaPlayerState.IDLE: _LOGGER.debug("Cannot stop when already idle") return diff --git a/tests/components/homekit_controller/specific_devices/test_lg_tv.py b/tests/components/homekit_controller/specific_devices/test_lg_tv.py index 1140ee2dabe..ec26d3a7247 100644 --- a/tests/components/homekit_controller/specific_devices/test_lg_tv.py +++ b/tests/components/homekit_controller/specific_devices/test_lg_tv.py @@ -54,7 +54,7 @@ async def test_lg_tv(hass): # The LG TV doesn't (at least at this patch level) report # its media state via CURRENT_MEDIA_STATE. Therefore "ok" # is the best we can say. - state="ok", + state="on", ), ], ),