Fix last activity consideration for AVM Fritz!Tools device tracker (#51375)

This commit is contained in:
Michael 2021-06-04 00:42:59 +02:00 committed by GitHub
parent 65f23c45a8
commit a232f2ce7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -217,21 +217,22 @@ class FritzDevice:
"""Update device info.""" """Update device info."""
utc_point_in_time = dt_util.utcnow() utc_point_in_time = dt_util.utcnow()
if not self._name: if self._last_activity:
self._name = dev_info.name or self._mac.replace(":", "_") consider_home_evaluated = (
if not dev_home and self._last_activity:
self._connected = (
utc_point_in_time - self._last_activity utc_point_in_time - self._last_activity
).total_seconds() < consider_home ).total_seconds() < consider_home
else: else:
self._connected = dev_home consider_home_evaluated = dev_home
if self._connected: if not self._name:
self._ip_address = dev_info.ip_address self._name = dev_info.name or self._mac.replace(":", "_")
self._connected = dev_home or consider_home_evaluated
if dev_home:
self._last_activity = utc_point_in_time self._last_activity = utc_point_in_time
else:
self._ip_address = None self._ip_address = dev_info.ip_address if self._connected else None
@property @property
def is_connected(self): def is_connected(self):