diff --git a/src/external_app/external_messaging.ts b/src/external_app/external_messaging.ts index c4d56f8aac..13a0663221 100644 --- a/src/external_app/external_messaging.ts +++ b/src/external_app/external_messaging.ts @@ -128,6 +128,9 @@ interface EMOutgoingMessageAssistShow extends EMMessage { start_listening: boolean; }; } +interface EMOutgoingMessageImprovScan extends EMMessage { + type: "improv/scan"; +} interface EMOutgoingMessageThreadStoreInPlatformKeychain extends EMMessage { type: "thread/store_in_platform_keychain"; @@ -156,7 +159,8 @@ type EMOutgoingMessageWithoutAnswer = | EMOutgoingMessageSidebarShow | EMOutgoingMessageTagWrite | EMOutgoingMessageThemeUpdate - | EMOutgoingMessageThreadStoreInPlatformKeychain; + | EMOutgoingMessageThreadStoreInPlatformKeychain + | EMOutgoingMessageImprovScan; interface EMIncomingMessageRestart { id: number; @@ -252,6 +256,7 @@ export interface ExternalConfig { canTransferThreadCredentialsToKeychain: boolean; hasAssist: boolean; hasBarCodeScanner: number; + canSetupImprov: boolean; } export class ExternalMessaging { diff --git a/src/panels/config/integrations/ha-config-integrations-dashboard.ts b/src/panels/config/integrations/ha-config-integrations-dashboard.ts index 8c1dacbf3e..d103cbf3bc 100644 --- a/src/panels/config/integrations/ha-config-integrations-dashboard.ts +++ b/src/panels/config/integrations/ha-config-integrations-dashboard.ts @@ -593,6 +593,11 @@ class HaConfigIntegrationsDashboard extends SubscribeMixin(LitElement) { showAddIntegrationDialog(this, { initialFilter: this._filter, }); + if (this.hass.auth.external?.config.canSetupImprov) { + this.hass.auth.external!.fireMessage({ + type: "improv/scan", + }); + } } private _handleMenuAction(ev: CustomEvent) {