Fix area in device picker (#18955)

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
Simon Lamon 2023-12-08 10:17:40 +01:00 committed by GitHub
parent b855b3e103
commit 86a3c32844
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,7 +10,6 @@ import {
ScorableTextItem, ScorableTextItem,
fuzzyFilterSort, fuzzyFilterSort,
} from "../../common/string/filter/sequence-matching"; } from "../../common/string/filter/sequence-matching";
import { AreaRegistryEntry } from "../../data/area_registry";
import { import {
DeviceEntityDisplayLookup, DeviceEntityDisplayLookup,
DeviceRegistryEntry, DeviceRegistryEntry,
@ -102,7 +101,7 @@ export class HaDevicePicker extends LitElement {
private _getDevices = memoizeOne( private _getDevices = memoizeOne(
( (
devices: DeviceRegistryEntry[], devices: DeviceRegistryEntry[],
areas: AreaRegistryEntry[], areas: HomeAssistant["areas"],
entities: EntityRegistryDisplayEntry[], entities: EntityRegistryDisplayEntry[],
includeDomains: this["includeDomains"], includeDomains: this["includeDomains"],
excludeDomains: this["excludeDomains"], excludeDomains: this["excludeDomains"],
@ -133,8 +132,6 @@ export class HaDevicePicker extends LitElement {
deviceEntityLookup = getDeviceEntityDisplayLookup(entities); deviceEntityLookup = getDeviceEntityDisplayLookup(entities);
} }
const areaLookup = areas;
let inputDevices = devices.filter( let inputDevices = devices.filter(
(device) => device.id === this.value || !device.disabled_by (device) => device.id === this.value || !device.disabled_by
); );
@ -224,8 +221,8 @@ export class HaDevicePicker extends LitElement {
id: device.id, id: device.id,
name: name, name: name,
area: area:
device.area_id && areaLookup[device.area_id] device.area_id && areas[device.area_id]
? areaLookup[device.area_id].name ? areas[device.area_id].name
: this.hass.localize("ui.components.device-picker.no_area"), : this.hass.localize("ui.components.device-picker.no_area"),
strings: [name || ""], strings: [name || ""],
}; };
@ -267,7 +264,7 @@ export class HaDevicePicker extends LitElement {
this._init = true; this._init = true;
const devices = this._getDevices( const devices = this._getDevices(
Object.values(this.hass.devices), Object.values(this.hass.devices),
Object.values(this.hass.areas), this.hass.areas,
Object.values(this.hass.entities), Object.values(this.hass.entities),
this.includeDomains, this.includeDomains,
this.excludeDomains, this.excludeDomains,