mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 16:57:10 +00:00
Remove support of UniFi device tracker configuration import (#26587)
This commit is contained in:
parent
0f204b34fa
commit
0221d136de
@ -1,4 +1,4 @@
|
|||||||
"""Config flow for Unifi."""
|
"""Config flow for UniFi."""
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
@ -164,20 +164,6 @@ class UnifiFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
errors=errors,
|
errors=errors,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_step_import(self, import_config):
|
|
||||||
"""Import from UniFi device tracker config."""
|
|
||||||
config = {
|
|
||||||
CONF_HOST: import_config[CONF_HOST],
|
|
||||||
CONF_USERNAME: import_config[CONF_USERNAME],
|
|
||||||
CONF_PASSWORD: import_config[CONF_PASSWORD],
|
|
||||||
CONF_PORT: import_config.get(CONF_PORT),
|
|
||||||
CONF_VERIFY_SSL: import_config.get(CONF_VERIFY_SSL),
|
|
||||||
}
|
|
||||||
|
|
||||||
self.desc = import_config[CONF_SITE_ID]
|
|
||||||
|
|
||||||
return await self.async_step_user(user_input=config)
|
|
||||||
|
|
||||||
|
|
||||||
class UnifiOptionsFlowHandler(config_entries.OptionsFlow):
|
class UnifiOptionsFlowHandler(config_entries.OptionsFlow):
|
||||||
"""Handle Unifi options."""
|
"""Handle Unifi options."""
|
||||||
|
@ -1,36 +1,20 @@
|
|||||||
"""Support for Unifi WAP controllers."""
|
"""Track devices using UniFi controllers."""
|
||||||
from datetime import timedelta
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant import config_entries
|
|
||||||
from homeassistant.components.unifi.config_flow import get_controller_from_config_entry
|
from homeassistant.components.unifi.config_flow import get_controller_from_config_entry
|
||||||
from homeassistant.components.device_tracker import DOMAIN, PLATFORM_SCHEMA
|
from homeassistant.components.device_tracker import DOMAIN, PLATFORM_SCHEMA
|
||||||
from homeassistant.components.device_tracker.config_entry import ScannerEntity
|
from homeassistant.components.device_tracker.config_entry import ScannerEntity
|
||||||
from homeassistant.components.device_tracker.const import SOURCE_TYPE_ROUTER
|
from homeassistant.components.device_tracker.const import SOURCE_TYPE_ROUTER
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.const import (
|
|
||||||
CONF_HOST,
|
|
||||||
CONF_USERNAME,
|
|
||||||
CONF_PASSWORD,
|
|
||||||
CONF_PORT,
|
|
||||||
CONF_VERIFY_SSL,
|
|
||||||
)
|
|
||||||
from homeassistant.helpers import entity_registry
|
from homeassistant.helpers import entity_registry
|
||||||
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.entity_registry import DISABLED_CONFIG_ENTRY
|
from homeassistant.helpers.entity_registry import DISABLED_CONFIG_ENTRY
|
||||||
|
|
||||||
import homeassistant.helpers.config_validation as cv
|
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
from .const import (
|
from .const import ATTR_MANUFACTURER
|
||||||
ATTR_MANUFACTURER,
|
|
||||||
CONF_CONTROLLER,
|
|
||||||
CONF_SITE_ID,
|
|
||||||
DOMAIN as UNIFI_DOMAIN,
|
|
||||||
)
|
|
||||||
|
|
||||||
LOGGER = logging.getLogger(__name__)
|
LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -55,51 +39,11 @@ DEVICE_ATTRIBUTES = [
|
|||||||
"vlan",
|
"vlan",
|
||||||
]
|
]
|
||||||
|
|
||||||
CONF_DT_SITE_ID = "site_id"
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({}, extra=vol.ALLOW_EXTRA)
|
||||||
|
|
||||||
DEFAULT_HOST = "localhost"
|
|
||||||
DEFAULT_PORT = 8443
|
|
||||||
DEFAULT_VERIFY_SSL = True
|
|
||||||
DEFAULT_DETECTION_TIME = timedelta(seconds=300)
|
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
|
||||||
{
|
|
||||||
vol.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string,
|
|
||||||
vol.Optional(CONF_DT_SITE_ID, default="default"): cv.string,
|
|
||||||
vol.Required(CONF_PASSWORD): cv.string,
|
|
||||||
vol.Required(CONF_USERNAME): cv.string,
|
|
||||||
vol.Required(CONF_PORT, default=DEFAULT_PORT): cv.port,
|
|
||||||
vol.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): vol.Any(
|
|
||||||
cv.boolean, cv.isfile
|
|
||||||
),
|
|
||||||
},
|
|
||||||
extra=vol.ALLOW_EXTRA,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_scanner(hass, config, sync_see, discovery_info):
|
async def async_setup_scanner(hass, config, sync_see, discovery_info):
|
||||||
"""Set up the Unifi integration."""
|
"""Set up the Unifi integration."""
|
||||||
config[CONF_SITE_ID] = config.pop(CONF_DT_SITE_ID) # Current from legacy
|
|
||||||
|
|
||||||
exist = False
|
|
||||||
|
|
||||||
for entry in hass.config_entries.async_entries(UNIFI_DOMAIN):
|
|
||||||
if (
|
|
||||||
config[CONF_HOST] == entry.data[CONF_CONTROLLER][CONF_HOST]
|
|
||||||
and config[CONF_SITE_ID] == entry.data[CONF_CONTROLLER][CONF_SITE_ID]
|
|
||||||
):
|
|
||||||
exist = True
|
|
||||||
break
|
|
||||||
|
|
||||||
if not exist:
|
|
||||||
hass.async_create_task(
|
|
||||||
hass.config_entries.flow.async_init(
|
|
||||||
UNIFI_DOMAIN,
|
|
||||||
context={"source": config_entries.SOURCE_IMPORT},
|
|
||||||
data=config,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
"""The tests for the Unifi WAP device tracker platform."""
|
"""The tests for the UniFi device tracker platform."""
|
||||||
from collections import deque
|
from collections import deque
|
||||||
from copy import copy
|
from copy import copy
|
||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
@ -32,7 +32,6 @@ from homeassistant.helpers import entity_registry
|
|||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
|
||||||
import homeassistant.components.device_tracker as device_tracker
|
import homeassistant.components.device_tracker as device_tracker
|
||||||
import homeassistant.components.unifi.device_tracker as unifi_dt
|
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
DEFAULT_DETECTION_TIME = timedelta(seconds=300)
|
DEFAULT_DETECTION_TIME = timedelta(seconds=300)
|
||||||
@ -275,14 +274,14 @@ async def test_restoring_client(hass, mock_controller):
|
|||||||
registry = await entity_registry.async_get_registry(hass)
|
registry = await entity_registry.async_get_registry(hass)
|
||||||
registry.async_get_or_create(
|
registry.async_get_or_create(
|
||||||
device_tracker.DOMAIN,
|
device_tracker.DOMAIN,
|
||||||
unifi_dt.UNIFI_DOMAIN,
|
unifi.DOMAIN,
|
||||||
"{}-mock-site".format(CLIENT_1["mac"]),
|
"{}-mock-site".format(CLIENT_1["mac"]),
|
||||||
suggested_object_id=CLIENT_1["hostname"],
|
suggested_object_id=CLIENT_1["hostname"],
|
||||||
config_entry=config_entry,
|
config_entry=config_entry,
|
||||||
)
|
)
|
||||||
registry.async_get_or_create(
|
registry.async_get_or_create(
|
||||||
device_tracker.DOMAIN,
|
device_tracker.DOMAIN,
|
||||||
unifi_dt.UNIFI_DOMAIN,
|
unifi.DOMAIN,
|
||||||
"{}-mock-site".format(CLIENT_2["mac"]),
|
"{}-mock-site".format(CLIENT_2["mac"]),
|
||||||
suggested_object_id=CLIENT_2["hostname"],
|
suggested_object_id=CLIENT_2["hostname"],
|
||||||
config_entry=config_entry,
|
config_entry=config_entry,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user