UniFi - handle device not having a name (#25713)

* Handle device not having a name
pull/25756/head
Robert Svensson 2019-08-06 07:00:06 +02:00 committed by Paulus Schoutsen
parent fee1568a85
commit 27cfda11f7
4 changed files with 18 additions and 8 deletions

View File

@ -188,7 +188,9 @@ def update_items(controller, async_add_entities, tracked):
tracked[client_id] = UniFiClientTracker(client, controller) tracked[client_id] = UniFiClientTracker(client, controller)
new_tracked.append(tracked[client_id]) new_tracked.append(tracked[client_id])
LOGGER.debug( 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): if not controller.unifi_config.get(CONF_DONT_TRACK_DEVICES, False):
@ -208,7 +210,11 @@ def update_items(controller, async_add_entities, tracked):
tracked[device_id] = UniFiDeviceTracker(device, controller) tracked[device_id] = UniFiDeviceTracker(device, controller)
new_tracked.append(tracked[device_id]) 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: if new_tracked:
async_add_entities(new_tracked) async_add_entities(new_tracked)
@ -311,7 +317,7 @@ class UniFiDeviceTracker(ScannerEntity):
@property @property
def name(self) -> str: def name(self) -> str:
"""Return the name of the device.""" """Return the name of the device."""
return self.device.name return self.device.name or self.device.model
@property @property
def unique_id(self) -> str: def unique_id(self) -> str:
@ -326,14 +332,18 @@ class UniFiDeviceTracker(ScannerEntity):
@property @property
def device_info(self): def device_info(self):
"""Return a device description for device registry.""" """Return a device description for device registry."""
return { info = {
"connections": {(CONNECTION_NETWORK_MAC, self.device.mac)}, "connections": {(CONNECTION_NETWORK_MAC, self.device.mac)},
"manufacturer": ATTR_MANUFACTURER, "manufacturer": ATTR_MANUFACTURER,
"model": self.device.model, "model": self.device.model,
"name": self.device.name,
"sw_version": self.device.version, "sw_version": self.device.version,
} }
if self.device.name:
info["name"] = self.device.name
return info
@property @property
def device_state_attributes(self): def device_state_attributes(self):
"""Return the device state attributes.""" """Return the device state attributes."""

View File

@ -4,7 +4,7 @@
"config_flow": true, "config_flow": true,
"documentation": "https://www.home-assistant.io/components/unifi", "documentation": "https://www.home-assistant.io/components/unifi",
"requirements": [ "requirements": [
"aiounifi==9" "aiounifi==10"
], ],
"dependencies": [], "dependencies": [],
"codeowners": [ "codeowners": [

View File

@ -170,7 +170,7 @@ aiopvapi==1.6.14
aioswitcher==2019.4.26 aioswitcher==2019.4.26
# homeassistant.components.unifi # homeassistant.components.unifi
aiounifi==9 aiounifi==10
# homeassistant.components.wwlln # homeassistant.components.wwlln
aiowwlln==1.0.0 aiowwlln==1.0.0

View File

@ -68,7 +68,7 @@ aionotion==1.1.0
aioswitcher==2019.4.26 aioswitcher==2019.4.26
# homeassistant.components.unifi # homeassistant.components.unifi
aiounifi==9 aiounifi==10
# homeassistant.components.wwlln # homeassistant.components.wwlln
aiowwlln==1.0.0 aiowwlln==1.0.0