Provide stub config for entity-filter (#8121)

* Provide stub config for entity-filter

* "card" option is optional since it has a default

* Search dynamically for stub config entities
This commit is contained in:
Philip Allgaier 2021-02-07 14:38:54 +01:00 committed by GitHub
parent 2c07a2c825
commit 01df01cd66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 2 deletions

View File

@ -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;

View File

@ -92,7 +92,7 @@ export interface EntityFilterCardConfig extends LovelaceCardConfig {
type: "entity-filter";
entities: Array<EntityFilterEntityConfig | string>;
state_filter: Array<{ key: string } | string>;
card: Partial<LovelaceCardConfig>;
card?: Partial<LovelaceCardConfig>;
show_empty?: boolean;
}

View File

@ -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",