From 470afcca05f1e705404aa5cf831ba926a209b0d3 Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 07:11:32 +0200 Subject: [PATCH 1/7] Update FAQ for cache instructions - Improved cache clearing documentation in the FAQ to clarify browser behavior with Developer Tools and cache disabling. - Fixed a typo in the installation guide for better accuracy and consistency. --- docs/faq.md | 7 ++++--- docs/getting-started/installation.md | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index c8465de4..ab04f604 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -93,9 +93,10 @@ ??? question "How to reload the dashboard after installing a new version manually?" - Standard cache clears like CTRL+F5 often fail in Home Assistant due to its reliance on Service Workers. + A reboot or standard cache clears like CTRL+F5 often fail in Home Assistant due to its reliance on Service Workers. To ensure a clean reload, open the Developer Tools (F12 for most browsers), enable 'Disable cache' in the Network - tab, and refresh the page twice to update all resources. + tab, and refresh the page at least twice to update all resources. - **Don't forget to re-enable the cache again when you're finished.** + The cache setting is constrained to the window/tab where the Developer Tools are open. + It does not affect other tabs or windows, and it does not affect your browser once you close the Developer Tools. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index c0393c2f..671d1df9 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -43,7 +43,7 @@ If you require testing a custom build for debug purposes, follow these steps: !!! note Refresh the cache of the client you use to access Home Assistant. - See the [FAQ](../faq.md) for instructions on desktop browers. + See the [FAQ](../faq.md) for instructions on desktop browsers. ## 🔄 Updating From 2bfb4c1355cf7c684b773885b22a34b838154246 Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 07:13:42 +0200 Subject: [PATCH 2/7] Add support for hiding domains in default domain - Added support for specifying `hidden_domains` in the `default` domain configuration. This allows excluding unsupported domains from being displayed while improving flexibility in strategy configurations. - Updated TypeScript interfaces to accommodate these changes, ensuring type safety and accurate structure representation. --- src/Registry.ts | 4 ++++ src/configurationDefaults.ts | 1 + src/types/strategy/strategy-generics.ts | 22 ++++++++++++++++++++-- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/Registry.ts b/src/Registry.ts index f15ec5af..1fd99be9 100644 --- a/src/Registry.ts +++ b/src/Registry.ts @@ -154,6 +154,10 @@ class Registry { ...Registry.strategyOptions.domains[domain], }; + if (Registry.strategyOptions.domains.default.hidden_domains.includes(entityDomain)) { + return false; + } + if (domainOptions.hide_config_entities && entity.entity_category === 'config') { return false; } diff --git a/src/configurationDefaults.ts b/src/configurationDefaults.ts index 3ff3e867..12ee2e93 100644 --- a/src/configurationDefaults.ts +++ b/src/configurationDefaults.ts @@ -160,6 +160,7 @@ export const ConfigurationDefaults: StrategyConfig = { title: localize('generic.miscellaneous'), show_controls: false, hidden: false, + hidden_domains: [], }, }, extra_cards: [], diff --git a/src/types/strategy/strategy-generics.ts b/src/types/strategy/strategy-generics.ts index 0e661f07..30b98c37 100644 --- a/src/types/strategy/strategy-generics.ts +++ b/src/types/strategy/strategy-generics.ts @@ -202,6 +202,18 @@ export interface SingleDomainConfig extends Partial { stack_count?: number; } +/** + * Configuration for the default domain. + * + * The default domain contains entities whose domain is not explicitly supported by the strategy. + * Use `hidden_domains` to exclude specific unsupported domains from being displayed. + * + * @property {string[]} [hidden_domains] List of unsupported domains to hide. + */ +export interface DefaultDomainConfig extends SingleDomainConfig { + hidden_domains: string[]; +} + /** * Strategy Configuration. * @@ -212,7 +224,7 @@ export interface SingleDomainConfig extends Partial { * @property {Object.} card_options - Card options for entities. * @property {BadgeConfig} badges - The configuration of badges in the Home view. * @property {boolean} debug - If True, the strategy outputs more verbose debug information in the console. - * @property {Object.} domains - List of domains. + * @property {Object} domains - List of domain configurations. * @property {LovelaceCardConfig[]} extra_cards - List of cards to show below room cards. * @property {StrategyViewConfig[]} extra_views - List of custom-defined views to add to the dashboard. * @property {Object} home_view - Configuration for the home view. @@ -231,7 +243,13 @@ export interface StrategyConfig { card_options: { [S: string]: CustomCardConfig }; badges: BadgeConfig; debug: boolean; - domains: { [K in SupportedDomains]: K extends '_' ? AllDomainsConfig : SingleDomainConfig }; + domains: { + [K in SupportedDomains]: K extends '_' + ? AllDomainsConfig + : K extends 'default' + ? DefaultDomainConfig + : SingleDomainConfig; + }; extra_cards: LovelaceCardConfig[]; extra_views: StrategyViewConfig[]; home_view: { From 0bee0da85b64ced7cdc2f8035123f11e507aa1f3 Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 10:18:09 +0200 Subject: [PATCH 3/7] Update documentation scripts - Added `docs:install` script to set up a Python virtual environment and install dependencies from `requirements.txt`. - Updated `docs:serve` and `docs:serve-versioned` scripts to activate the virtual environment before running `mkdocs` and `mike`. --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d40b5dcd..28ab7db3 100644 --- a/package.json +++ b/package.json @@ -59,8 +59,9 @@ "json:format": "prettier --write \"**/*.json\"", "md:lint": "markdownlint-cli2 \"**/*.md\" \"#node_modules\" \"#dist\"", "md:lint:fix": "markdownlint-cli2 \"**/*.md\" \"#node_modules\" \"#dist\" --fix", - "docs:serve": "mkdocs serve", - "docs:serve-versioned": "mike serve", + "docs:install": "python -m venv venv && call venv/Scripts/activate.bat && pip install -r requirements.txt", + "docs:serve": "call venv/Scripts/activate.bat && mkdocs serve", + "docs:serve-versioned": "call venv/Scripts/activate.bat && mike serve", "docs:list": "mike list", "build-dev": "webpack --config webpack.dev.config.ts", "build": "webpack", From 2d2c713253282874e9cb0707506ad5ede44b5923 Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 10:18:55 +0200 Subject: [PATCH 4/7] Update domain-options documentation - Added `hidden_domains` option under the `default` domain, enabling hiding of specific domains in the 'Miscellaneous' section of an Area view. --- docs/full-example.md | 4 ++++ docs/options/domain-options.md | 34 +++++++++++++++++++++++++++------- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/docs/full-example.md b/docs/full-example.md index 69322ac5..2fe339e9 100644 --- a/docs/full-example.md +++ b/docs/full-example.md @@ -23,6 +23,10 @@ strategy: _: hide_config_entities: true stack_count: 1 + default: + hidden_domains: + - automation + - script light: order: 10 stack_count: 2 diff --git a/docs/options/domain-options.md b/docs/options/domain-options.md index d943ca19..44ce48d5 100644 --- a/docs/options/domain-options.md +++ b/docs/options/domain-options.md @@ -32,17 +32,37 @@ Each configuration is identified by a domain name and can have the following opt | `hide_diagnostic_entities` | boolean | `true` | Set to `false` to include diagnostic-entities to the dashboard. | | `order` | number | domain specific | Ordering position of the domain entities in a view. | | `show_controls` | boolean | `true` | Whether to show controls in a view, to switch all entities of the domain. | -| `stack_count` | number | `1`
(set by `_`) | Cards per row.[^1] | +| `stack_count` | number | `1`
(set by `_`) | Cards per row. | | `title` | string | domain specific | Title of the domain in a view. | -[^1]: -In the different views, the cards belonging to a specific domain will be horizontally stacked into a row.
-The number of cards per row can be configured with this option. - !!! note - * Domain `default` represents any other domain than supported by this strategy. - * The `show_controls` option will default to false for domains that can't be controlled. + - In the different domain views, the cards belonging to a specific domain will be horizontally stacked into a row.
+ The number of cards per row can be configured with option `stack_count`. + - The `show_controls` option will fall back to `false` for domains that can't be controlled. + +## Default domain + +The `default` domain represents all other domains than supported by this strategy. + +This domain has an additional option to hide domain-specific entities from the 'Miscellaneous' section of an Area view. + +| Option | type | Default | Description | +|:-----------------|:------|:--------|:------------------------------------------------------------------------| +| `hidden_domains` | array | [] | A list of domains to hide in the Miscellaneoud sectiob of an Area view. | + +Example to hide Automations and Scripts from the 'Miscellaneous' section of an Area view: + +```yaml +strategy: + type: custom:mushroom-strategy + options: + domains: + default: # All other domains + hidden_domains: + - automation + - script +``` ## Sorting Domains From d602b6ab44032f4cb280196d6987666bac44e4af Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 10:43:45 +0200 Subject: [PATCH 5/7] Revert documentation scripts - Removed Python virtual environment activation from `docs:serve` and `docs:serve-versioned` scripts to simplify usage. - This change assumes the user has the required dependencies installed globally, reducing script complexity. --- package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 28ab7db3..d40b5dcd 100644 --- a/package.json +++ b/package.json @@ -59,9 +59,8 @@ "json:format": "prettier --write \"**/*.json\"", "md:lint": "markdownlint-cli2 \"**/*.md\" \"#node_modules\" \"#dist\"", "md:lint:fix": "markdownlint-cli2 \"**/*.md\" \"#node_modules\" \"#dist\" --fix", - "docs:install": "python -m venv venv && call venv/Scripts/activate.bat && pip install -r requirements.txt", - "docs:serve": "call venv/Scripts/activate.bat && mkdocs serve", - "docs:serve-versioned": "call venv/Scripts/activate.bat && mike serve", + "docs:serve": "mkdocs serve", + "docs:serve-versioned": "mike serve", "docs:list": "mike list", "build-dev": "webpack --config webpack.dev.config.ts", "build": "webpack", From d675be32cbb148fd443119d61e57f72e17d623ca Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 10:44:35 +0200 Subject: [PATCH 6/7] Update `hidden_domains` property - Changed the `hidden_domains` property in `DefaultDomainConfig` from optional to required in `strategy-generics.ts`. --- src/types/strategy/strategy-generics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/strategy/strategy-generics.ts b/src/types/strategy/strategy-generics.ts index 30b98c37..6506f130 100644 --- a/src/types/strategy/strategy-generics.ts +++ b/src/types/strategy/strategy-generics.ts @@ -208,7 +208,7 @@ export interface SingleDomainConfig extends Partial { * The default domain contains entities whose domain is not explicitly supported by the strategy. * Use `hidden_domains` to exclude specific unsupported domains from being displayed. * - * @property {string[]} [hidden_domains] List of unsupported domains to hide. + * @property {string[]} hidden_domains List of unsupported domains to hide. */ export interface DefaultDomainConfig extends SingleDomainConfig { hidden_domains: string[]; From 6e6a4d95ae37ac2d7a824acd42759c8d09d1b786 Mon Sep 17 00:00:00 2001 From: DigiLive Date: Mon, 15 Jun 2026 10:45:53 +0200 Subject: [PATCH 7/7] Fix typo in domain-options documentation --- docs/options/domain-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/options/domain-options.md b/docs/options/domain-options.md index 44ce48d5..78886fac 100644 --- a/docs/options/domain-options.md +++ b/docs/options/domain-options.md @@ -49,7 +49,7 @@ This domain has an additional option to hide domain-specific entities from the ' | Option | type | Default | Description | |:-----------------|:------|:--------|:------------------------------------------------------------------------| -| `hidden_domains` | array | [] | A list of domains to hide in the Miscellaneoud sectiob of an Area view. | +| `hidden_domains` | array | [] | A list of domains to hide in the Miscellaneous sectiob of an Area view. | Example to hide Automations and Scripts from the 'Miscellaneous' section of an Area view: