Add support for device configuration URL to UniFi Controller (#58237)
This commit is contained in:
parent
e5255cf21f
commit
9c1bee9c16
3 changed files with 13 additions and 0 deletions
|
@ -61,6 +61,7 @@ async def async_setup_entry(hass, config_entry):
|
||||||
device_registry = dr.async_get(hass)
|
device_registry = dr.async_get(hass)
|
||||||
device_registry.async_get_or_create(
|
device_registry.async_get_or_create(
|
||||||
config_entry_id=config_entry.entry_id,
|
config_entry_id=config_entry.entry_id,
|
||||||
|
configuration_url=controller.api.url,
|
||||||
connections={(CONNECTION_NETWORK_MAC, controller.mac)},
|
connections={(CONNECTION_NETWORK_MAC, controller.mac)},
|
||||||
default_manufacturer=ATTR_MANUFACTURER,
|
default_manufacturer=ATTR_MANUFACTURER,
|
||||||
default_model="UniFi Controller",
|
default_model="UniFi Controller",
|
||||||
|
|
|
@ -40,6 +40,8 @@ from homeassistant.const import (
|
||||||
CONF_VERIFY_SSL,
|
CONF_VERIFY_SSL,
|
||||||
CONTENT_TYPE_JSON,
|
CONTENT_TYPE_JSON,
|
||||||
)
|
)
|
||||||
|
from homeassistant.helpers import device_registry as dr
|
||||||
|
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.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
@ -256,6 +258,14 @@ async def test_controller_mac(hass, aioclient_mock):
|
||||||
controller = hass.data[UNIFI_DOMAIN][config_entry.entry_id]
|
controller = hass.data[UNIFI_DOMAIN][config_entry.entry_id]
|
||||||
assert controller.mac == CONTROLLER_HOST["mac"]
|
assert controller.mac == CONTROLLER_HOST["mac"]
|
||||||
|
|
||||||
|
device_registry = dr.async_get(hass)
|
||||||
|
device_entry = device_registry.async_get_or_create(
|
||||||
|
config_entry_id=config_entry.entry_id,
|
||||||
|
connections={(CONNECTION_NETWORK_MAC, controller.mac)},
|
||||||
|
)
|
||||||
|
|
||||||
|
assert device_entry.configuration_url == controller.api.url
|
||||||
|
|
||||||
|
|
||||||
async def test_controller_not_accessible(hass):
|
async def test_controller_not_accessible(hass):
|
||||||
"""Retry to login gets scheduled when connection fails."""
|
"""Retry to login gets scheduled when connection fails."""
|
||||||
|
|
|
@ -48,6 +48,7 @@ async def test_controller_mac(hass):
|
||||||
with patch("homeassistant.components.unifi.UniFiController") as mock_controller:
|
with patch("homeassistant.components.unifi.UniFiController") as mock_controller:
|
||||||
mock_controller.return_value.async_setup = AsyncMock(return_value=True)
|
mock_controller.return_value.async_setup = AsyncMock(return_value=True)
|
||||||
mock_controller.return_value.mac = "mac1"
|
mock_controller.return_value.mac = "mac1"
|
||||||
|
mock_controller.return_value.api.url = "https://123:443"
|
||||||
assert await unifi.async_setup_entry(hass, entry) is True
|
assert await unifi.async_setup_entry(hass, entry) is True
|
||||||
|
|
||||||
assert len(mock_controller.mock_calls) == 2
|
assert len(mock_controller.mock_calls) == 2
|
||||||
|
@ -56,6 +57,7 @@ async def test_controller_mac(hass):
|
||||||
device = device_registry.async_get_or_create(
|
device = device_registry.async_get_or_create(
|
||||||
config_entry_id=entry.entry_id, connections={(CONNECTION_NETWORK_MAC, "mac1")}
|
config_entry_id=entry.entry_id, connections={(CONNECTION_NETWORK_MAC, "mac1")}
|
||||||
)
|
)
|
||||||
|
assert device.configuration_url == "https://123:443"
|
||||||
assert device.manufacturer == "Ubiquiti Networks"
|
assert device.manufacturer == "Ubiquiti Networks"
|
||||||
assert device.model == "UniFi Controller"
|
assert device.model == "UniFi Controller"
|
||||||
assert device.name == "UniFi Controller"
|
assert device.name == "UniFi Controller"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue