From a232f2ce7d6fff23b9d8b782bf6ae1466b189cc5 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Fri, 4 Jun 2021 00:42:59 +0200 Subject: [PATCH] Fix last activity consideration for AVM Fritz!Tools device tracker (#51375) --- homeassistant/components/fritz/common.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/fritz/common.py b/homeassistant/components/fritz/common.py index ec7e402f760..84288fe7fb3 100644 --- a/homeassistant/components/fritz/common.py +++ b/homeassistant/components/fritz/common.py @@ -217,21 +217,22 @@ class FritzDevice: """Update device info.""" utc_point_in_time = dt_util.utcnow() - if not self._name: - self._name = dev_info.name or self._mac.replace(":", "_") - - if not dev_home and self._last_activity: - self._connected = ( + if self._last_activity: + consider_home_evaluated = ( utc_point_in_time - self._last_activity ).total_seconds() < consider_home else: - self._connected = dev_home + consider_home_evaluated = dev_home - if self._connected: - self._ip_address = dev_info.ip_address + if not self._name: + 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 - else: - self._ip_address = None + + self._ip_address = dev_info.ip_address if self._connected else None @property def is_connected(self):