self.last_seen = time.time()
self.last_command = time.time()
+ def set_available(self, available: bool) -> None:
+ """Set the availability of the player."""
+ self._attr_available = available
+
async def _device_connect(self) -> None:
"""Connect DLNA/DMR Device."""
self.logger.debug("Connecting to device at %s", self.description_url)
finally:
self._discovery_running = False
- def reschedule() -> None:
- self.mass.create_task(self.discover_players(use_multicast=not use_multicast))
+ def reschedule() -> None:
+ self.mass.create_task(self.discover_players(use_multicast=not use_multicast))
- # reschedule self once finished
- self.mass.loop.call_later(300, reschedule)
+ # reschedule self once finished
+ self.mass.loop.call_later(300, reschedule)
async def _device_disconnect(self, dlna_player: DLNAPlayer) -> None:
"""
dlna_player.device.on_event = None
old_device = dlna_player.device
dlna_player.device = None
+ dlna_player.set_available(False)
await old_device.async_unsubscribe_services()
async def _device_discovered(self, udn: str, description_url: str) -> None: