diff --git a/src/panels/lovelace/cards/hui-picture-elements-card.ts b/src/panels/lovelace/cards/hui-picture-elements-card.ts index 16e22e1bb6..96140c94f8 100644 --- a/src/panels/lovelace/cards/hui-picture-elements-card.ts +++ b/src/panels/lovelace/cards/hui-picture-elements-card.ts @@ -10,7 +10,11 @@ import { LovelaceElementConfig, LovelaceElement } from "../elements/types"; interface Config extends LovelaceCardConfig { title?: string; - image: string; + image?: string; + camera_image?: string; + state_image?: {}; + aspect_ratio?: string; + entity?: string; elements: LovelaceElementConfig[]; } @@ -39,7 +43,10 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard { public setConfig(config: Config): void { if (!config) { throw new Error("Invalid Configuration"); - } else if (!config.image) { + } else if ( + !(config.image || config.camera_image || config.state_image) || + (config.state_image && !config.entity) + ) { throw new Error("Invalid Configuration: image required"); } else if (!Array.isArray(config.elements)) { throw new Error("Invalid Configuration: elements required"); @@ -56,13 +63,19 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard { return html` ${this.renderStyle()} -
- ${ - this._config.elements.map((elementConfig: LovelaceElementConfig) => - this._createHuiElement(elementConfig) - ) - } -
+ + ${ + this._config.elements.map((elementConfig: LovelaceElementConfig) => + this._createHuiElement(elementConfig) + ) + }
`; } @@ -72,14 +85,7 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard {