Use _attr_state in horizon media player (#82827)

This commit is contained in:
epenet 2022-11-28 09:29:04 +01:00 committed by GitHub
parent 9ea8e0a7ca
commit 3e35d869d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -86,7 +86,6 @@ class HorizonDevice(MediaPlayerEntity):
"""Initialize the remote.""" """Initialize the remote."""
self._client = client self._client = client
self._name = name self._name = name
self._state = None
self._keys = remote_keys self._keys = remote_keys
@property @property
@ -94,66 +93,61 @@ class HorizonDevice(MediaPlayerEntity):
"""Return the name of the remote.""" """Return the name of the remote."""
return self._name return self._name
@property
def state(self):
"""Return the state of the device."""
return self._state
@util.Throttle(MIN_TIME_BETWEEN_SCANS, MIN_TIME_BETWEEN_FORCED_SCANS) @util.Throttle(MIN_TIME_BETWEEN_SCANS, MIN_TIME_BETWEEN_FORCED_SCANS)
def update(self) -> None: def update(self) -> None:
"""Update State using the media server running on the Horizon.""" """Update State using the media server running on the Horizon."""
try: try:
if self._client.is_powered_on(): if self._client.is_powered_on():
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
else: else:
self._state = MediaPlayerState.OFF self._attr_state = MediaPlayerState.OFF
except OSError: except OSError:
self._state = MediaPlayerState.OFF self._attr_state = MediaPlayerState.OFF
def turn_on(self) -> None: def turn_on(self) -> None:
"""Turn the device on.""" """Turn the device on."""
if self._state == MediaPlayerState.OFF: if self.state == MediaPlayerState.OFF:
self._send_key(self._keys.POWER) self._send_key(self._keys.POWER)
def turn_off(self) -> None: def turn_off(self) -> None:
"""Turn the device off.""" """Turn the device off."""
if self._state != MediaPlayerState.OFF: if self.state != MediaPlayerState.OFF:
self._send_key(self._keys.POWER) self._send_key(self._keys.POWER)
def media_previous_track(self) -> None: def media_previous_track(self) -> None:
"""Channel down.""" """Channel down."""
self._send_key(self._keys.CHAN_DOWN) self._send_key(self._keys.CHAN_DOWN)
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
def media_next_track(self) -> None: def media_next_track(self) -> None:
"""Channel up.""" """Channel up."""
self._send_key(self._keys.CHAN_UP) self._send_key(self._keys.CHAN_UP)
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
def media_play(self) -> None: def media_play(self) -> None:
"""Send play command.""" """Send play command."""
self._send_key(self._keys.PAUSE) self._send_key(self._keys.PAUSE)
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
def media_pause(self) -> None: def media_pause(self) -> None:
"""Send pause command.""" """Send pause command."""
self._send_key(self._keys.PAUSE) self._send_key(self._keys.PAUSE)
self._state = MediaPlayerState.PAUSED self._attr_state = MediaPlayerState.PAUSED
def media_play_pause(self) -> None: def media_play_pause(self) -> None:
"""Send play/pause command.""" """Send play/pause command."""
self._send_key(self._keys.PAUSE) self._send_key(self._keys.PAUSE)
if self._state == MediaPlayerState.PAUSED: if self.state == MediaPlayerState.PAUSED:
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
else: else:
self._state = MediaPlayerState.PAUSED self._attr_state = MediaPlayerState.PAUSED
def play_media(self, media_type: str, media_id: str, **kwargs: Any) -> None: def play_media(self, media_type: str, media_id: str, **kwargs: Any) -> None:
"""Play media / switch to channel.""" """Play media / switch to channel."""
if MediaType.CHANNEL == media_type: if MediaType.CHANNEL == media_type:
try: try:
self._select_channel(int(media_id)) self._select_channel(int(media_id))
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
except ValueError: except ValueError:
_LOGGER.error("Invalid channel: %s", media_id) _LOGGER.error("Invalid channel: %s", media_id)
else: else: