From f5bc6309ae0459102ea539af6da44f9adba26d72 Mon Sep 17 00:00:00 2001 From: Petar Petrov Date: Wed, 23 Jul 2025 14:13:09 +0300 Subject: [PATCH] Add features to light & cover groups more-info (#26187) * Add features to light & cover groups more-info * 12 column tiles --- src/dialogs/more-info/more-info-content.ts | 39 ++++++++++++++++------ 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/dialogs/more-info/more-info-content.ts b/src/dialogs/more-info/more-info-content.ts index 0cf3e3dbf0..3e3808ca21 100644 --- a/src/dialogs/more-info/more-info-content.ts +++ b/src/dialogs/more-info/more-info-content.ts @@ -11,6 +11,9 @@ import { importMoreInfoControl } from "../../panels/lovelace/custom-card-helpers import "../../panels/lovelace/sections/hui-section"; import type { HomeAssistant } from "../../types"; import { stateMoreInfoType } from "./state_more_info_control"; +import type { LovelaceCardFeatureConfig } from "../../panels/lovelace/card-features/types"; +import { supportsLightBrightnessCardFeature } from "../../panels/lovelace/card-features/hui-light-brightness-card-feature"; +import { supportsCoverPositionCardFeature } from "../../panels/lovelace/card-features/hui-cover-position-card-feature"; @customElement("more-info-content") class MoreInfoContent extends LitElement { @@ -73,16 +76,32 @@ class MoreInfoContent extends LitElement { ); } - private _entitiesSectionConfig = memoizeOne((entityIds: string[]) => ({ - type: "grid", - cards: entityIds.map( - (entityId) => - ({ - type: "tile", - entity: entityId, - }) as TileCardConfig - ), - })); + private _entitiesSectionConfig = memoizeOne((entityIds: string[]) => { + const cards = entityIds.map((entityId) => { + const features: LovelaceCardFeatureConfig[] = []; + const context = { entity_id: entityId }; + if (supportsCoverPositionCardFeature(this.hass!, context)) { + features.push({ + type: "cover-position", + }); + } else if (supportsLightBrightnessCardFeature(this.hass!, context)) { + features.push({ + type: "light-brightness", + }); + } + return { + type: "tile", + entity: entityId, + features_position: "inline", + features, + grid_options: { columns: 12 }, + } as TileCardConfig; + }); + return { + type: "grid", + cards, + }; + }); static styles = css` hui-section {