diff --git a/src/panels/lovelace/cards/hui-gauge-card.ts b/src/panels/lovelace/cards/hui-gauge-card.ts index 13824d6a7c..8edb38253a 100644 --- a/src/panels/lovelace/cards/hui-gauge-card.ts +++ b/src/panels/lovelace/cards/hui-gauge-card.ts @@ -24,6 +24,9 @@ import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; import type { GaugeCardConfig } from "./types"; +export const DEFAULT_MIN = 0; +export const DEFAULT_MAX = 100; + export const severityMap = { red: "var(--error-color)", green: "var(--success-color)", @@ -76,7 +79,7 @@ class HuiGaugeCard extends LitElement implements LovelaceCard { throw new Error("Invalid entity"); } - this._config = { min: 0, max: 100, ...config }; + this._config = { min: DEFAULT_MIN, max: DEFAULT_MAX, ...config }; } protected render() { diff --git a/src/panels/lovelace/cards/hui-grid-card.ts b/src/panels/lovelace/cards/hui-grid-card.ts index 02a871f4ea..97b336c529 100644 --- a/src/panels/lovelace/cards/hui-grid-card.ts +++ b/src/panels/lovelace/cards/hui-grid-card.ts @@ -4,7 +4,7 @@ import { LovelaceCardEditor } from "../types"; import { HuiStackCard } from "./hui-stack-card"; import { GridCardConfig } from "./types"; -const DEFAULT_COLUMNS = 3; +export const DEFAULT_COLUMNS = 3; const SQUARE_ROW_HEIGHTS_BY_COLUMNS = { 1: 5, 2: 3, diff --git a/src/panels/lovelace/cards/hui-history-graph-card.ts b/src/panels/lovelace/cards/hui-history-graph-card.ts index 3b23878515..4ec01f79c8 100644 --- a/src/panels/lovelace/cards/hui-history-graph-card.ts +++ b/src/panels/lovelace/cards/hui-history-graph-card.ts @@ -22,6 +22,8 @@ import { processConfigEntities } from "../common/process-config-entities"; import { LovelaceCard } from "../types"; import { HistoryGraphCardConfig } from "./types"; +export const DEFAULT_HOURS_TO_SHOW = 24; + @customElement("hui-history-graph-card") export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { public static async getConfigElement() { @@ -46,7 +48,7 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { private _entityIds: string[] = []; - private _hoursToShow = 24; + private _hoursToShow = DEFAULT_HOURS_TO_SHOW; private _interval?: number; @@ -77,7 +79,7 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { } }); - this._hoursToShow = config.hours_to_show || 24; + this._hoursToShow = config.hours_to_show || DEFAULT_HOURS_TO_SHOW; this._config = config; } diff --git a/src/panels/lovelace/cards/hui-logbook-card.ts b/src/panels/lovelace/cards/hui-logbook-card.ts index c6f8852789..590220eb47 100644 --- a/src/panels/lovelace/cards/hui-logbook-card.ts +++ b/src/panels/lovelace/cards/hui-logbook-card.ts @@ -21,6 +21,8 @@ import type { EntityConfig } from "../entity-rows/types"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; import type { LogbookCardConfig } from "./types"; +export const DEFAULT_HOURS_TO_SHOW = 24; + @customElement("hui-logbook-card") export class HuiLogbookCard extends LitElement implements LovelaceCard { public static async getConfigElement(): Promise { @@ -66,7 +68,7 @@ export class HuiLogbookCard extends LitElement implements LovelaceCard { } this._config = { - hours_to_show: 24, + hours_to_show: DEFAULT_HOURS_TO_SHOW, ...config, }; this._time = { diff --git a/src/panels/lovelace/cards/hui-map-card.ts b/src/panels/lovelace/cards/hui-map-card.ts index 6c06d04f2a..3f16d4d319 100644 --- a/src/panels/lovelace/cards/hui-map-card.ts +++ b/src/panels/lovelace/cards/hui-map-card.ts @@ -41,7 +41,9 @@ import { EntityConfig } from "../entity-rows/types"; import { LovelaceCard } from "../types"; import { MapCardConfig } from "./types"; -const DEFAULT_HOURS_TO_SHOW = 0; +export const DEFAULT_HOURS_TO_SHOW = 0; +export const DEFAULT_ZOOM = 14; + @customElement("hui-map-card") class HuiMapCard extends LitElement implements LovelaceCard { @property({ attribute: false }) public hass!: HomeAssistant; @@ -149,7 +151,7 @@ class HuiMapCard extends LitElement implements LovelaceCard { this._config, this._configEntities )} - .zoom=${this._config.default_zoom ?? 14} + .zoom=${this._config.default_zoom ?? DEFAULT_ZOOM} .paths=${this._getHistoryPaths(this._config, this._stateHistory)} .autoFit=${this._config.auto_fit} .darkMode=${this._config.dark_mode} diff --git a/src/panels/lovelace/cards/hui-sensor-card.ts b/src/panels/lovelace/cards/hui-sensor-card.ts index 576856e4c1..e24a3f2c15 100644 --- a/src/panels/lovelace/cards/hui-sensor-card.ts +++ b/src/panels/lovelace/cards/hui-sensor-card.ts @@ -10,6 +10,8 @@ import { EntityCardConfig, SensorCardConfig } from "./types"; const includeDomains = ["counter", "input_number", "number", "sensor"]; +export const DEFAULT_HOURS_TO_SHOW = 24; + @customElement("hui-sensor-card") class HuiSensorCard extends HuiEntityCard { public static async getConfigElement(): Promise { @@ -59,7 +61,7 @@ class HuiSensorCard extends HuiEntityCard { type: "graph", entity: config.entity, detail: detail || 1, - hours_to_show: hours_to_show || 24, + hours_to_show: hours_to_show || DEFAULT_HOURS_TO_SHOW, limits: config.limits!, }; diff --git a/src/panels/lovelace/cards/hui-statistics-graph-card.ts b/src/panels/lovelace/cards/hui-statistics-graph-card.ts index d97005ffb3..49a3428adc 100644 --- a/src/panels/lovelace/cards/hui-statistics-graph-card.ts +++ b/src/panels/lovelace/cards/hui-statistics-graph-card.ts @@ -28,6 +28,8 @@ import { processConfigEntities } from "../common/process-config-entities"; import { LovelaceCard } from "../types"; import { StatisticsGraphCardConfig } from "./types"; +export const DEFAULT_DAYS_TO_SHOW = 30; + @customElement("hui-statistics-graph-card") export class HuiStatisticsGraphCard extends LitElement implements LovelaceCard { public static async getConfigElement() { @@ -225,7 +227,10 @@ export class HuiStatisticsGraphCard extends LitElement implements LovelaceCard { const startDate = new Date(); startDate.setTime( startDate.getTime() - - 1000 * 60 * 60 * (24 * (this._config!.days_to_show || 30) + 1) + 1000 * + 60 * + 60 * + (24 * (this._config!.days_to_show || DEFAULT_DAYS_TO_SHOW) + 1) ); try { let unitClass; diff --git a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts index b30dcf043f..4055c1eea7 100644 --- a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts @@ -19,6 +19,7 @@ import type { HomeAssistant } from "../../../../types"; import type { GaugeCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; +import { DEFAULT_MIN, DEFAULT_MAX } from "../../cards/hui-gauge-card"; const gaugeSegmentStruct = object({ from: number(), @@ -79,8 +80,16 @@ export class HuiGaugeCardEditor name: "", type: "grid", schema: [ - { name: "min", selector: { number: { mode: "box" } } }, - { name: "max", selector: { number: { mode: "box" } } }, + { + name: "min", + default: DEFAULT_MIN, + selector: { number: { mode: "box" } }, + }, + { + name: "max", + default: DEFAULT_MAX, + selector: { number: { mode: "box" } }, + }, ], }, { diff --git a/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts index 10b96a51df..b683e8e13e 100644 --- a/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts @@ -16,6 +16,7 @@ import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { GridCardConfig } from "../../cards/types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { HuiStackCardEditor } from "./hui-stack-card-editor"; +import { DEFAULT_COLUMNS } from "../../cards/hui-grid-card"; const cardConfigStruct = assign( baseLovelaceCardConfig, @@ -32,7 +33,11 @@ const SCHEMA = [ type: "grid", name: "", schema: [ - { name: "columns", selector: { number: { min: 1, mode: "box" } } }, + { + name: "columns", + default: DEFAULT_COLUMNS, + selector: { number: { min: 1, mode: "box" } }, + }, { name: "square", selector: { boolean: {} } }, ], }, @@ -50,7 +55,7 @@ export class HuiGridCardEditor extends HuiStackCardEditor { return nothing; } - const data = { square: true, columns: 3, ...this._config }; + const data = { square: true, ...this._config }; return html`