Use _attr_available in denonavr (#77486)

This commit is contained in:
epenet 2022-08-30 19:19:36 +02:00 committed by GitHub
parent 9cdb7bba4c
commit 50663bbc5d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -157,32 +157,32 @@ def async_log_errors(
return await func(self, *args, **kwargs) return await func(self, *args, **kwargs)
except AvrTimoutError: except AvrTimoutError:
available = False available = False
if self._available is True: if self.available:
_LOGGER.warning( _LOGGER.warning(
"Timeout connecting to Denon AVR receiver at host %s. " "Timeout connecting to Denon AVR receiver at host %s. "
"Device is unavailable", "Device is unavailable",
self._receiver.host, self._receiver.host,
) )
self._available = False self._attr_available = False
except AvrNetworkError: except AvrNetworkError:
available = False available = False
if self._available is True: if self.available:
_LOGGER.warning( _LOGGER.warning(
"Network error connecting to Denon AVR receiver at host %s. " "Network error connecting to Denon AVR receiver at host %s. "
"Device is unavailable", "Device is unavailable",
self._receiver.host, self._receiver.host,
) )
self._available = False self._attr_available = False
except AvrForbiddenError: except AvrForbiddenError:
available = False available = False
if self._available is True: if self.available:
_LOGGER.warning( _LOGGER.warning(
"Denon AVR receiver at host %s responded with HTTP 403 error. " "Denon AVR receiver at host %s responded with HTTP 403 error. "
"Device is unavailable. Please consider power cycling your " "Device is unavailable. Please consider power cycling your "
"receiver", "receiver",
self._receiver.host, self._receiver.host,
) )
self._available = False self._attr_available = False
except AvrCommandError as err: except AvrCommandError as err:
available = False available = False
_LOGGER.error( _LOGGER.error(
@ -199,12 +199,12 @@ def async_log_errors(
exc_info=True, exc_info=True,
) )
finally: finally:
if available is True and self._available is False: if available and not self.available:
_LOGGER.info( _LOGGER.info(
"Denon AVR receiver at host %s is available again", "Denon AVR receiver at host %s is available again",
self._receiver.host, self._receiver.host,
) )
self._available = True self._attr_available = True
return None return None
return wrapper return wrapper
@ -242,7 +242,6 @@ class DenonDevice(MediaPlayerEntity):
self._receiver.support_sound_mode self._receiver.support_sound_mode
and MediaPlayerEntityFeature.SELECT_SOUND_MODE and MediaPlayerEntityFeature.SELECT_SOUND_MODE
) )
self._available = True
@async_log_errors @async_log_errors
async def async_update(self) -> None: async def async_update(self) -> None:
@ -251,11 +250,6 @@ class DenonDevice(MediaPlayerEntity):
if self._update_audyssey: if self._update_audyssey:
await self._receiver.async_update_audyssey() await self._receiver.async_update_audyssey()
@property
def available(self):
"""Return True if entity is available."""
return self._available
@property @property
def state(self): def state(self):
"""Return the state of the device.""" """Return the state of the device."""