mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-24 09:46:36 +00:00
Use supported_languages for stt, tts and conversation (#16256)
* Use supported_languages for stt, tts and conversation * Fix disabled condition
This commit is contained in:
parent
a43f49f4af
commit
be1867900e
@ -63,7 +63,7 @@ export class HaConversationAgentPicker extends LitElement {
|
||||
(agent) =>
|
||||
html`<ha-list-item
|
||||
.value=${agent.id}
|
||||
.disabled=${agent.language_supported === false}
|
||||
.disabled=${agent.supported_languages?.length === 0}
|
||||
>
|
||||
${agent.name}
|
||||
</ha-list-item>`
|
||||
@ -88,11 +88,13 @@ export class HaConversationAgentPicker extends LitElement {
|
||||
|
||||
this._agents = agents;
|
||||
|
||||
if (
|
||||
this.value &&
|
||||
agents.find((agent) => agent.id === this.value)?.language_supported ===
|
||||
false
|
||||
) {
|
||||
if (!this.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
const selectedAgent = agents.find((agent) => agent.id === this.value);
|
||||
|
||||
if (!selectedAgent || selectedAgent.supported_languages?.length === 0) {
|
||||
this.value = undefined;
|
||||
fireEvent(this, "value-changed", { value: this.value });
|
||||
}
|
||||
|
@ -42,7 +42,9 @@ export class HaSTTPicker extends LitElement {
|
||||
const value =
|
||||
this.value ??
|
||||
(this.required
|
||||
? this._engines.find((engine) => engine.language_supported)
|
||||
? this._engines.find(
|
||||
(engine) => engine.supported_languages?.length !== 0
|
||||
)
|
||||
: NONE);
|
||||
return html`
|
||||
<ha-select
|
||||
@ -65,7 +67,7 @@ export class HaSTTPicker extends LitElement {
|
||||
const stateObj = this.hass!.states[engine.engine_id];
|
||||
return html`<ha-list-item
|
||||
.value=${engine.engine_id}
|
||||
.disabled=${engine.language_supported === false}
|
||||
.disabled=${engine.supported_languages?.length === 0}
|
||||
>
|
||||
${stateObj ? computeStateName(stateObj) : engine.engine_id}
|
||||
</ha-list-item>`;
|
||||
@ -88,11 +90,15 @@ export class HaSTTPicker extends LitElement {
|
||||
private async _updateEngines() {
|
||||
this._engines = (await listSTTEngines(this.hass, this.language)).providers;
|
||||
|
||||
if (
|
||||
this.value &&
|
||||
this._engines.find((engine) => engine.engine_id === this.value)
|
||||
?.language_supported === false
|
||||
) {
|
||||
if (!this.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
const selectedEngine = this._engines.find(
|
||||
(engine) => engine.engine_id === this.value
|
||||
);
|
||||
|
||||
if (!selectedEngine || selectedEngine.supported_languages?.length === 0) {
|
||||
this.value = undefined;
|
||||
fireEvent(this, "value-changed", { value: this.value });
|
||||
}
|
||||
|
@ -42,7 +42,9 @@ export class HaTTSPicker extends LitElement {
|
||||
const value =
|
||||
this.value ??
|
||||
(this.required
|
||||
? this._engines.find((engine) => engine.language_supported)
|
||||
? this._engines.find(
|
||||
(engine) => engine.supported_languages?.length !== 0
|
||||
)
|
||||
: NONE);
|
||||
return html`
|
||||
<ha-select
|
||||
@ -65,7 +67,7 @@ export class HaTTSPicker extends LitElement {
|
||||
const stateObj = this.hass!.states[engine.engine_id];
|
||||
return html`<ha-list-item
|
||||
.value=${engine.engine_id}
|
||||
.disabled=${engine.language_supported === false}
|
||||
.disabled=${engine.supported_languages?.length === 0}
|
||||
>
|
||||
${stateObj ? computeStateName(stateObj) : engine.engine_id}
|
||||
</ha-list-item>`;
|
||||
@ -88,11 +90,15 @@ export class HaTTSPicker extends LitElement {
|
||||
private async _updateEngines() {
|
||||
this._engines = (await listTTSEngines(this.hass, this.language)).providers;
|
||||
|
||||
if (
|
||||
this.value &&
|
||||
this._engines.find((engine) => engine.engine_id === this.value)
|
||||
?.language_supported === false
|
||||
) {
|
||||
if (!this.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
const selectedEngine = this._engines.find(
|
||||
(engine) => engine.engine_id === this.value
|
||||
);
|
||||
|
||||
if (!selectedEngine || selectedEngine.supported_languages?.length === 0) {
|
||||
this.value = undefined;
|
||||
fireEvent(this, "value-changed", { value: this.value });
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ export interface AgentInfo {
|
||||
export interface Agent {
|
||||
id: string;
|
||||
name: string;
|
||||
language_supported: boolean;
|
||||
supported_languages?: string[];
|
||||
}
|
||||
|
||||
export const processConversationInput = (
|
||||
|
@ -20,7 +20,7 @@ export interface SpeechMetadata {
|
||||
|
||||
export interface STTEngine {
|
||||
engine_id: string;
|
||||
language_supported?: boolean;
|
||||
supported_languages?: string[];
|
||||
}
|
||||
|
||||
export const listSTTEngines = (
|
||||
|
@ -2,7 +2,7 @@ import { HomeAssistant } from "../types";
|
||||
|
||||
export interface TTSEngine {
|
||||
engine_id: string;
|
||||
language_supported?: boolean;
|
||||
supported_languages?: string[];
|
||||
}
|
||||
|
||||
export interface TTSVoice {
|
||||
|
Loading…
x
Reference in New Issue
Block a user