From e99ba1b0dad9edc71d71509c450dee65162c14a3 Mon Sep 17 00:00:00 2001 From: dougiteixeira <31328123+dougiteixeira@users.noreply.github.com> Date: Thu, 27 Jul 2023 05:21:22 -0300 Subject: [PATCH] Move async_client_device_info_fn to entity.py (#97270) Move client device info --- homeassistant/components/unifi/entity.py | 11 +++++++++++ homeassistant/components/unifi/sensor.py | 15 +-------------- homeassistant/components/unifi/switch.py | 13 +------------ 3 files changed, 13 insertions(+), 26 deletions(-) diff --git a/homeassistant/components/unifi/entity.py b/homeassistant/components/unifi/entity.py index 54b9cb12157..db7b414b3b0 100644 --- a/homeassistant/components/unifi/entity.py +++ b/homeassistant/components/unifi/entity.py @@ -74,6 +74,17 @@ def async_wlan_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceIn ) +@callback +def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: + """Create device registry entry for client.""" + client = api.clients[obj_id] + return DeviceInfo( + connections={(CONNECTION_NETWORK_MAC, obj_id)}, + default_manufacturer=client.oui, + default_name=client.name or client.hostname, + ) + + @dataclass class UnifiDescription(Generic[HandlerT, ApiItemT]): """Validate and load entities from different UniFi handlers.""" diff --git a/homeassistant/components/unifi/sensor.py b/homeassistant/components/unifi/sensor.py index 8cdc0dcbb71..7dc086878e3 100644 --- a/homeassistant/components/unifi/sensor.py +++ b/homeassistant/components/unifi/sensor.py @@ -10,7 +10,6 @@ from dataclasses import dataclass from datetime import datetime, timedelta from typing import Generic -import aiounifi from aiounifi.interfaces.api_handlers import ItemEvent from aiounifi.interfaces.clients import Clients from aiounifi.interfaces.ports import Ports @@ -28,8 +27,6 @@ from homeassistant.components.sensor import ( from homeassistant.config_entries import ConfigEntry from homeassistant.const import EntityCategory, UnitOfInformation, UnitOfPower from homeassistant.core import HomeAssistant, callback -from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC -from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback import homeassistant.util.dt as dt_util @@ -39,6 +36,7 @@ from .entity import ( HandlerT, UnifiEntity, UnifiEntityDescription, + async_client_device_info_fn, async_device_available_fn, async_device_device_info_fn, async_wlan_device_info_fn, @@ -83,17 +81,6 @@ def async_wlan_client_value_fn(controller: UniFiController, wlan: Wlan) -> int: ) -@callback -def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: - """Create device registry entry for client.""" - client = api.clients[obj_id] - return DeviceInfo( - connections={(CONNECTION_NETWORK_MAC, obj_id)}, - default_manufacturer=client.oui, - default_name=client.name or client.hostname, - ) - - @dataclass class UnifiSensorEntityDescriptionMixin(Generic[HandlerT, ApiItemT]): """Validate and load entities from different UniFi handlers.""" diff --git a/homeassistant/components/unifi/switch.py b/homeassistant/components/unifi/switch.py index 64e3ec2455c..140da492a96 100644 --- a/homeassistant/components/unifi/switch.py +++ b/homeassistant/components/unifi/switch.py @@ -42,7 +42,6 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import EntityCategory from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.device_registry import ( - CONNECTION_NETWORK_MAC, DeviceEntryType, ) from homeassistant.helpers.entity import DeviceInfo @@ -55,6 +54,7 @@ from .entity import ( SubscriptionT, UnifiEntity, UnifiEntityDescription, + async_client_device_info_fn, async_device_available_fn, async_device_device_info_fn, async_wlan_device_info_fn, @@ -77,17 +77,6 @@ def async_dpi_group_is_on_fn( ) -@callback -def async_client_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: - """Create device registry entry for client.""" - client = api.clients[obj_id] - return DeviceInfo( - connections={(CONNECTION_NETWORK_MAC, obj_id)}, - default_manufacturer=client.oui, - default_name=client.name or client.hostname, - ) - - @callback def async_dpi_group_device_info_fn(api: aiounifi.Controller, obj_id: str) -> DeviceInfo: """Create device registry entry for DPI group."""