From 3f21c87a3d9063a7923828f4b5d64ce24d42be8c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 23 Apr 2021 00:25:09 -0700 Subject: [PATCH] Allow config entries to show the reason (#8974) --- gallery/src/demos/demo-integration-card.ts | 6 ++++++ src/data/config_entries.ts | 1 + .../config/integrations/ha-integration-card.ts | 18 ++++++++++-------- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/gallery/src/demos/demo-integration-card.ts b/gallery/src/demos/demo-integration-card.ts index e8c1694700..35c6b46b3b 100644 --- a/gallery/src/demos/demo-integration-card.ts +++ b/gallery/src/demos/demo-integration-card.ts @@ -39,6 +39,7 @@ const createConfigEntry = ( supports_options: false, supports_unload: true, disabled_by: null, + reason: null, ...override, }); @@ -76,6 +77,10 @@ const migrationErrorEntry = createConfigEntry("Migration Error", { const setupRetryEntry = createConfigEntry("Setup Retry", { state: "setup_retry", }); +const setupRetryReasonEntry = createConfigEntry("Setup Retry", { + state: "setup_retry", + reason: "Unable to connect", +}); const failedUnloadEntry = createConfigEntry("Failed Unload", { state: "failed_unload", }); @@ -135,6 +140,7 @@ const configEntries: Array<{ { items: [setupErrorEntry] }, { items: [migrationErrorEntry] }, { items: [setupRetryEntry] }, + { items: [setupRetryReasonEntry] }, { items: [failedUnloadEntry] }, { items: [notLoadedEntry] }, { diff --git a/src/data/config_entries.ts b/src/data/config_entries.ts index 603aab6d06..9bb203c942 100644 --- a/src/data/config_entries.ts +++ b/src/data/config_entries.ts @@ -16,6 +16,7 @@ export interface ConfigEntry { supports_options: boolean; supports_unload: boolean; disabled_by: "user" | null; + reason: string | null; } export interface ConfigEntryMutableParams { diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index d4f64bb232..934a2f4f11 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -199,14 +199,16 @@ export class HaIntegrationCard extends LitElement { stateText = [ `ui.panel.config.integrations.config_entry.state.${item.state}`, ]; - stateTextExtra = html` -
- ${this.hass.localize( - "ui.panel.config.integrations.config_entry.check_the_logs" - )} - `; + stateTextExtra = item.reason + ? html`: ${item.reason}` + : html` +
+ ${this.hass.localize( + "ui.panel.config.integrations.config_entry.check_the_logs" + )} + `; } return html`