From bc5bd3544865e83ded3f6d8ea208fe0688899e32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 1 Jun 2021 20:12:54 +0200 Subject: [PATCH] Filter adapters with information from the Supervisor (#9322) Co-authored-by: Bram Kragten --- src/panels/config/core/ha-config-network.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/panels/config/core/ha-config-network.ts b/src/panels/config/core/ha-config-network.ts index 6793673711..bded44d3d5 100644 --- a/src/panels/config/core/ha-config-network.ts +++ b/src/panels/config/core/ha-config-network.ts @@ -9,13 +9,14 @@ import { } from "lit"; import { customElement, property, state } from "lit/decorators"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; -import "../../../components/ha-network"; import "../../../components/ha-card"; import "../../../components/ha-checkbox"; +import "../../../components/ha-network"; import "../../../components/ha-settings-row"; +import { fetchNetworkInfo } from "../../../data/hassio/network"; import { - NetworkConfig, getNetworkConfig, + NetworkConfig, setNetworkConfig, } from "../../../data/network"; import { haStyle } from "../../../resources/styles"; @@ -73,7 +74,19 @@ class ConfigNetwork extends LitElement { private async _load() { this._error = undefined; try { - this._networkConfig = await getNetworkConfig(this.hass); + const coreNetwork = await getNetworkConfig(this.hass); + if (isComponentLoaded(this.hass, "hassio")) { + const supervisorNetwork = await fetchNetworkInfo(this.hass); + const interfaces = new Set( + supervisorNetwork.interfaces.map((int) => int.interface) + ); + if (interfaces.size) { + coreNetwork.adapters = coreNetwork.adapters.filter((adapter) => + interfaces.has(adapter.name) + ); + } + } + this._networkConfig = coreNetwork; } catch (err) { this._error = err.message || err; }