Use _attr_state in ziggo mediabox xl media player (#82844)

This commit is contained in:
epenet 2022-11-28 10:31:16 +01:00 committed by GitHub
parent 622466b3d3
commit cee716b892
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -98,25 +98,24 @@ class ZiggoMediaboxXLDevice(MediaPlayerEntity):
"""Initialize the device.""" """Initialize the device."""
self._mediabox = mediabox self._mediabox = mediabox
self._host = host self._host = host
self._name = name self._attr_name = name
self._available = available self._attr_available = available
self._state = None
def update(self) -> None: def update(self) -> None:
"""Retrieve the state of the device.""" """Retrieve the state of the device."""
try: try:
if self._mediabox.test_connection(): if self._mediabox.test_connection():
if self._mediabox.turned_on(): if self._mediabox.turned_on():
if self._state != MediaPlayerState.PAUSED: if self.state != MediaPlayerState.PAUSED:
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
else: else:
self._state = MediaPlayerState.OFF self._attr_state = MediaPlayerState.OFF
self._available = True self._attr_available = True
else: else:
self._available = False self._attr_available = False
except OSError: except OSError:
_LOGGER.error("Couldn't fetch state from %s", self._host) _LOGGER.error("Couldn't fetch state from %s", self._host)
self._available = False self._attr_available = False
def send_keys(self, keys): def send_keys(self, keys):
"""Send keys to the device and handle exceptions.""" """Send keys to the device and handle exceptions."""
@ -126,22 +125,7 @@ class ZiggoMediaboxXLDevice(MediaPlayerEntity):
_LOGGER.error("Couldn't send keys to %s", self._host) _LOGGER.error("Couldn't send keys to %s", self._host)
@property @property
def name(self): def source_list(self) -> list[str]:
"""Return the name of the device."""
return self._name
@property
def state(self):
"""Return the state of the device."""
return self._state
@property
def available(self):
"""Return True if the device is available."""
return self._available
@property
def source_list(self):
"""List of available sources (channels).""" """List of available sources (channels)."""
return [ return [
self._mediabox.channels()[c] self._mediabox.channels()[c]
@ -159,30 +143,30 @@ class ZiggoMediaboxXLDevice(MediaPlayerEntity):
def media_play(self) -> None: def media_play(self) -> None:
"""Send play command.""" """Send play command."""
self.send_keys(["PLAY"]) self.send_keys(["PLAY"])
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_keys(["PAUSE"]) self.send_keys(["PAUSE"])
self._state = MediaPlayerState.PAUSED self._attr_state = MediaPlayerState.PAUSED
def media_play_pause(self) -> None: def media_play_pause(self) -> None:
"""Simulate play pause media player.""" """Simulate play pause media player."""
self.send_keys(["PAUSE"]) self.send_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 media_next_track(self) -> None: def media_next_track(self) -> None:
"""Channel up.""" """Channel up."""
self.send_keys(["CHAN_UP"]) self.send_keys(["CHAN_UP"])
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
def media_previous_track(self) -> None: def media_previous_track(self) -> None:
"""Channel down.""" """Channel down."""
self.send_keys(["CHAN_DOWN"]) self.send_keys(["CHAN_DOWN"])
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING
def select_source(self, source): def select_source(self, source):
"""Select the channel.""" """Select the channel."""
@ -201,4 +185,4 @@ class ZiggoMediaboxXLDevice(MediaPlayerEntity):
return return
self.send_keys([f"NUM_{digit}" for digit in str(digits)]) self.send_keys([f"NUM_{digit}" for digit in str(digits)])
self._state = MediaPlayerState.PLAYING self._attr_state = MediaPlayerState.PLAYING