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`