From 9cbbfa2a84affe978fccd1a9077dfcd8b3bced45 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Mon, 5 Aug 2019 20:35:00 +0200 Subject: [PATCH 1/3] Handle device not having a name --- homeassistant/components/unifi/device_tracker.py | 2 +- homeassistant/components/unifi/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/unifi/device_tracker.py b/homeassistant/components/unifi/device_tracker.py index 8ab5140dc48e3..6a9708b8e2534 100644 --- a/homeassistant/components/unifi/device_tracker.py +++ b/homeassistant/components/unifi/device_tracker.py @@ -311,7 +311,7 @@ def source_type(self): @property def name(self) -> str: """Return the name of the device.""" - return self.device.name + return self.device.name or self.device.model @property def unique_id(self) -> str: diff --git a/homeassistant/components/unifi/manifest.json b/homeassistant/components/unifi/manifest.json index e849fd34d2582..bcee022e1c416 100644 --- a/homeassistant/components/unifi/manifest.json +++ b/homeassistant/components/unifi/manifest.json @@ -4,7 +4,7 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/components/unifi", "requirements": [ - "aiounifi==9" + "aiounifi==10" ], "dependencies": [], "codeowners": [ diff --git a/requirements_all.txt b/requirements_all.txt index 412e15b825bf7..5b6e2f9a5b822 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -169,7 +169,7 @@ aiopvapi==1.6.14 aioswitcher==2019.4.26 # homeassistant.components.unifi -aiounifi==9 +aiounifi==10 # homeassistant.components.wwlln aiowwlln==1.0.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 23e6896d89036..6cd7c3e398c0b 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -68,7 +68,7 @@ aionotion==1.1.0 aioswitcher==2019.4.26 # homeassistant.components.unifi -aiounifi==9 +aiounifi==10 # homeassistant.components.wwlln aiowwlln==1.0.0 From c5cb3c3b32fd49fb2e77a65621db991f8eaae27b Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Mon, 5 Aug 2019 23:00:11 +0200 Subject: [PATCH 2/3] Missed a spot --- homeassistant/components/unifi/device_tracker.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/unifi/device_tracker.py b/homeassistant/components/unifi/device_tracker.py index 6a9708b8e2534..393a8e213d5c1 100644 --- a/homeassistant/components/unifi/device_tracker.py +++ b/homeassistant/components/unifi/device_tracker.py @@ -208,7 +208,11 @@ def update_items(controller, async_add_entities, tracked): tracked[device_id] = UniFiDeviceTracker(device, controller) new_tracked.append(tracked[device_id]) - LOGGER.debug("New UniFi device tracker %s (%s)", device.name, device.mac) + LOGGER.debug( + "New UniFi device tracker %s (%s)", + device.name or device.model, + device.mac, + ) if new_tracked: async_add_entities(new_tracked) From c335a37249636a754c88c7a0cf9efc29c6964fca Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Mon, 5 Aug 2019 23:28:02 +0200 Subject: [PATCH 3/3] Fix device registry --- homeassistant/components/unifi/device_tracker.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/unifi/device_tracker.py b/homeassistant/components/unifi/device_tracker.py index 393a8e213d5c1..d0c2684ff536a 100644 --- a/homeassistant/components/unifi/device_tracker.py +++ b/homeassistant/components/unifi/device_tracker.py @@ -188,7 +188,9 @@ def update_items(controller, async_add_entities, tracked): tracked[client_id] = UniFiClientTracker(client, controller) new_tracked.append(tracked[client_id]) LOGGER.debug( - "New UniFi client tracker %s (%s)", client.hostname, client.mac + "New UniFi client tracker %s (%s)", + client.name or client.hostname, + client.mac, ) if not controller.unifi_config.get(CONF_DONT_TRACK_DEVICES, False): @@ -330,14 +332,18 @@ def available(self) -> bool: @property def device_info(self): """Return a device description for device registry.""" - return { + info = { "connections": {(CONNECTION_NETWORK_MAC, self.device.mac)}, "manufacturer": ATTR_MANUFACTURER, "model": self.device.model, - "name": self.device.name, "sw_version": self.device.version, } + if self.device.name: + info["name"] = self.device.name + + return info + @property def device_state_attributes(self): """Return the device state attributes."""