From c2b37c514d9f1958c44dbb668ff387a701d88ef2 Mon Sep 17 00:00:00 2001 From: Wendelin Date: Mon, 3 Nov 2025 11:24:35 +0100 Subject: [PATCH] Fix assist conversation language picker --- .../dialog-voice-assistant-pipeline-detail.ts | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts b/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts index 9786c6a89b..915932bf34 100644 --- a/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts +++ b/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts @@ -43,6 +43,8 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement { @state() private _supportedLanguages?: string[]; + @state() private _supportedConversationLanguages?: string[]; + public showDialog(params: VoiceAssistantPipelineDetailsDialogParams): void { this._params = params; this._error = undefined; @@ -173,6 +175,8 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement { .data=${this._data} keys="conversation_engine,conversation_language,prefer_local_intents" @value-changed=${this._valueChanged} + @supported-languages-changed=${this + ._supportedConversationLanguagesChanged} > ${!this._cloudActive && (this._data.tts_engine === "cloud" || @@ -214,7 +218,7 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement { ${this._params.pipeline?.id @@ -253,7 +257,10 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement { name: data.name!, language: data.language!, conversation_engine: data.conversation_engine!, - conversation_language: data.conversation_language ?? null, + conversation_language: + data.conversation_language ?? + this._supportedConversationLanguages?.[0] ?? + null, prefer_local_intents: data.prefer_local_intents ?? true, stt_engine: data.stt_engine ?? null, stt_language: data.stt_language ?? null, @@ -279,6 +286,19 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement { } } + private _supportedConversationLanguagesChanged(ev) { + this._supportedConversationLanguages = ev.detail.value; + if ( + this._data?.conversation_language && + !this._supportedConversationLanguages?.includes( + this._data.conversation_engine! + ) + ) { + this._data.conversation_language = + this._supportedConversationLanguages?.[0]; + } + } + static get styles(): CSSResultGroup { return [ haStyleDialog,