diff --git a/src/panels/lovelace/cards/hui-entity-filter-card.ts b/src/panels/lovelace/cards/hui-entity-filter-card.ts index 734de7033d..efc2ec2c44 100644 --- a/src/panels/lovelace/cards/hui-entity-filter-card.ts +++ b/src/panels/lovelace/cards/hui-entity-filter-card.ts @@ -8,6 +8,7 @@ import { LovelaceCardConfig } from "../../../data/lovelace"; import { HomeAssistant } from "../../../types"; import { computeCardSize } from "../common/compute-card-size"; import { evaluateFilter } from "../common/evaluate-filter"; +import { findEntities } from "../common/find-entites"; import { processConfigEntities } from "../common/process-config-entities"; import { createCardElement } from "../create-element/create-card-element"; import { EntityFilterEntityConfig } from "../entity-rows/types"; @@ -15,6 +16,30 @@ import { LovelaceCard } from "../types"; import { EntityFilterCardConfig } from "./types"; class EntityFilterCard extends UpdatingElement implements LovelaceCard { + public static getStubConfig( + hass: HomeAssistant, + entities: string[], + entitiesFallback: string[] + ): EntityFilterCardConfig { + const maxEntities = 3; + const foundEntities = findEntities( + hass, + maxEntities, + entities, + entitiesFallback, + ["light", "switch", "sensor"] + ); + + return { + type: "entity-filter", + entities: foundEntities, + state_filter: [ + foundEntities[0] ? hass.states[foundEntities[0]].state : "", + ], + card: { type: "entities" }, + }; + } + @property({ attribute: false }) public hass?: HomeAssistant; @property() public isPanel = false; diff --git a/src/panels/lovelace/cards/types.ts b/src/panels/lovelace/cards/types.ts index 05330f9dbf..6f70d507ce 100644 --- a/src/panels/lovelace/cards/types.ts +++ b/src/panels/lovelace/cards/types.ts @@ -92,7 +92,7 @@ export interface EntityFilterCardConfig extends LovelaceCardConfig { type: "entity-filter"; entities: Array; state_filter: Array<{ key: string } | string>; - card: Partial; + card?: Partial; show_empty?: boolean; } diff --git a/src/translations/en.json b/src/translations/en.json index 1f821ec4d4..be81a0c290 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -2833,7 +2833,7 @@ "image": "Image Path", "maximum": "Maximum", "manual": "Manual", - "manual_description": "Need to add a custom card or just want to manually write the yaml?", + "manual_description": "Need to add a custom card or just want to manually write the YAML?", "minimum": "Minimum", "name": "Name", "refresh_interval": "Refresh Interval",