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