From a1a407ca3c13b02a6243fdd91d1a77667334f2b2 Mon Sep 17 00:00:00 2001 From: tomaae <23486452+tomaae@users.noreply.github.com> Date: Sat, 11 Apr 2020 06:08:50 +0200 Subject: [PATCH] fixed default values when tracking is disabled --- .../mikrotik_router/mikrotik_controller.py | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/custom_components/mikrotik_router/mikrotik_controller.py b/custom_components/mikrotik_router/mikrotik_controller.py index 1e04bea..89bc8e7 100644 --- a/custom_components/mikrotik_router/mikrotik_controller.py +++ b/custom_components/mikrotik_router/mikrotik_controller.py @@ -285,20 +285,21 @@ class MikrotikControllerData: return for uid, vals in self.data["host"].items(): - # Add missing default values - for key, default in zip( - [ - "address", - "mac-address", - "interface", - "host-name", - "last-seen", - "available", - ], - ["unknown", "unknown", "unknown", "unknown", False, False], - ): - if key not in self.data["host"][uid]: - self.data["host"][uid][key] = default + if not self.host_tracking_initialized: + # Add missing default values + for key, default in zip( + [ + "address", + "mac-address", + "interface", + "host-name", + "last-seen", + "available", + ], + ["unknown", "unknown", "unknown", "unknown", False, False], + ): + if key not in self.data["host"][uid]: + self.data["host"][uid][key] = default # Check host availability if ( @@ -965,6 +966,22 @@ class MikrotikControllerData: self.data["host"][uid]["mac-address"] = uid self.data["host"][uid]["host-name"] = self.data["host_hass"][uid] + for uid, vals in self.data["host"].items(): + # Add missing default values + for key, default in zip( + [ + "address", + "mac-address", + "interface", + "host-name", + "last-seen", + "available", + ], + ["unknown", "unknown", "unknown", "unknown", False, False], + ): + if key not in self.data["host"][uid]: + self.data["host"][uid][key] = default + if not self.host_tracking_initialized: await self.async_ping_tracked_hosts(utcnow())