diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts index f8558fc5fb..4aeeaf1cce 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts @@ -8,6 +8,10 @@ import { } from "lit"; import { customElement, property, state } from "lit/decorators"; import { DeviceRegistryEntry } from "../../../../../../data/device_registry"; +import { + ConfigEntry, + getConfigEntries, +} from "../../../../../../data/config_entries"; import { fetchNodeStatus, getIdentifiersFromDevice, @@ -26,9 +30,11 @@ export class HaDeviceInfoZWaveJS extends LitElement { @state() private _entryId?: string; - @state() private _nodeId?: number; + @state() private _configEntry?: ConfigEntry; - @state() private _homeId?: string; + @state() private _multipleConfigEntries = false; + + @state() private _nodeId?: number; @state() private _node?: ZWaveJSNode; @@ -40,7 +46,6 @@ export class HaDeviceInfoZWaveJS extends LitElement { if (!identifiers) { return; } - this._homeId = identifiers.home_id; this._nodeId = identifiers.node_id; this._entryId = this.device.config_entries[0]; @@ -52,6 +57,25 @@ export class HaDeviceInfoZWaveJS extends LitElement { if (!this._nodeId || !this._entryId) { return; } + + const configEntries = await getConfigEntries(this.hass); + let zwaveJsConfEntries = 0; + for (const entry of configEntries) { + if (entry.domain !== "zwave_js") { + continue; + } + if (zwaveJsConfEntries) { + this._multipleConfigEntries = true; + } + if (entry.entry_id === this._entryId) { + this._configEntry = entry; + } + if (this._configEntry && this._multipleConfigEntries) { + break; + } + zwaveJsConfEntries++; + } + this._node = await fetchNodeStatus(this.hass, this._entryId, this._nodeId); } @@ -63,10 +87,14 @@ export class HaDeviceInfoZWaveJS extends LitElement {