diff --git a/src/data/conversation.ts b/src/data/conversation.ts index c76f6a2ecf..746fd84b4e 100644 --- a/src/data/conversation.ts +++ b/src/data/conversation.ts @@ -1,6 +1,10 @@ import { ensureArray } from "../common/array/ensure-array"; import { HomeAssistant } from "../types"; +export const enum ConversationEntityFeature { + CONTROL = 1, +} + interface IntentTarget { type: "area" | "device" | "entity" | "domain" | "device_class" | "custom"; name: string; diff --git a/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts b/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts index 59e023723a..169a7c1194 100644 --- a/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts +++ b/src/dialogs/voice-command-dialog/ha-voice-command-dialog.ts @@ -41,6 +41,8 @@ import { AudioRecorder } from "../../util/audio-recorder"; import { documentationUrl } from "../../util/documentation-url"; import { showAlertDialog } from "../generic/show-dialog-box"; import { VoiceCommandDialogParams } from "./show-ha-voice-command-dialog"; +import { supportsFeature } from "../../common/entity/supports-feature"; +import { ConversationEntityFeature } from "../../data/conversation"; interface Message { who: string; @@ -136,6 +138,12 @@ export class HaVoiceCommandDialog extends LitElement { return nothing; } + const controlHA = !this._pipeline + ? false + : supportsFeature( + this.hass.states[this._pipeline?.conversation_engine], + ConversationEntityFeature.CONTROL + ); const supportsMicrophone = AudioRecorder.isSupported; const supportsSTT = this._pipeline?.stt_engine; @@ -212,6 +220,15 @@ export class HaVoiceCommandDialog extends LitElement { > + ${controlHA + ? nothing + : html` + + ${this.hass.localize( + "ui.dialogs.voice_command.conversation_no_control" + )} + + `}
${this._conversation!.map( diff --git a/src/translations/en.json b/src/translations/en.json index 4308c64851..6e28e4e91c 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1129,6 +1129,7 @@ "did_not_understand": "Didn't quite get that", "found": "I found the following for you:", "error": "Oops, an error has occurred", + "conversation_no_control": "This assistant cannot control your home.", "how_can_i_help": "How can I assist?", "input_label": "Enter a request", "send_text": "Send text",