mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Orphaned MAC addresses breaks UniFi options flow (#64327)
This commit is contained in:
parent
deed5f327c
commit
d4e509422a
@ -316,6 +316,10 @@ class UnifiOptionsFlowHandler(config_entries.OptionsFlow):
|
|||||||
)
|
)
|
||||||
ssid_filter = {ssid: ssid for ssid in sorted(ssids)}
|
ssid_filter = {ssid: ssid for ssid in sorted(ssids)}
|
||||||
|
|
||||||
|
selected_ssids_to_filter = [
|
||||||
|
ssid for ssid in self.controller.option_ssid_filter if ssid in ssid_filter
|
||||||
|
]
|
||||||
|
|
||||||
return self.async_show_form(
|
return self.async_show_form(
|
||||||
step_id="device_tracker",
|
step_id="device_tracker",
|
||||||
data_schema=vol.Schema(
|
data_schema=vol.Schema(
|
||||||
@ -333,7 +337,7 @@ class UnifiOptionsFlowHandler(config_entries.OptionsFlow):
|
|||||||
default=self.controller.option_track_devices,
|
default=self.controller.option_track_devices,
|
||||||
): bool,
|
): bool,
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_SSID_FILTER, default=self.controller.option_ssid_filter
|
CONF_SSID_FILTER, default=selected_ssids_to_filter
|
||||||
): cv.multi_select(ssid_filter),
|
): cv.multi_select(ssid_filter),
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_DETECTION_TIME,
|
CONF_DETECTION_TIME,
|
||||||
@ -365,12 +369,18 @@ class UnifiOptionsFlowHandler(config_entries.OptionsFlow):
|
|||||||
client.mac
|
client.mac
|
||||||
] = f"{client.name or client.hostname} ({client.mac})"
|
] = f"{client.name or client.hostname} ({client.mac})"
|
||||||
|
|
||||||
|
selected_clients_to_block = [
|
||||||
|
client
|
||||||
|
for client in self.options.get(CONF_BLOCK_CLIENT, [])
|
||||||
|
if client in clients_to_block
|
||||||
|
]
|
||||||
|
|
||||||
return self.async_show_form(
|
return self.async_show_form(
|
||||||
step_id="client_control",
|
step_id="client_control",
|
||||||
data_schema=vol.Schema(
|
data_schema=vol.Schema(
|
||||||
{
|
{
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_BLOCK_CLIENT, default=self.options[CONF_BLOCK_CLIENT]
|
CONF_BLOCK_CLIENT, default=selected_clients_to_block
|
||||||
): cv.multi_select(clients_to_block),
|
): cv.multi_select(clients_to_block),
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_POE_CLIENTS,
|
CONF_POE_CLIENTS,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user