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", ), ], ),