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`
+