home-assistant/core · error · WakeWordDetectionError
wake-engine-missing
wake-engine-missing
Error message
No wake word engine
What it means
WakeWordDetectionError with code 'wake-engine-missing' raised by PipelineRun.prepare_wake_word_detection when no wake word entity can be resolved: the pipeline's wake_word_entity is unset and wake_word.async_default_entity(hass) returns None, meaning no wake-word-detection integration (e.g. openWakeWord, microWakeWord) is loaded.
Source
Thrown at homeassistant/components/assist_pipeline/pipeline.py:701
# This ensures that files are properly closed if the event handler reads them.
await self._stop_debug_recording_thread()
self.process_event(
PipelineEvent(
PipelineEventType.RUN_END,
)
)
pipeline_data = self.hass.data[KEY_ASSIST_PIPELINE]
pipeline_data.pipeline_runs.remove_run(self)
async def prepare_wake_word_detection(self) -> None:
"""Prepare wake-word-detection."""
entity_id = self.pipeline.wake_word_entity or wake_word.async_default_entity(
self.hass
)
if entity_id is None:
raise WakeWordDetectionError(
code="wake-engine-missing",
message="No wake word engine",
)
wake_word_entity = wake_word.async_get_wake_word_detection_entity(
self.hass, entity_id
)
if wake_word_entity is None:
raise WakeWordDetectionError(
code="wake-provider-missing",
message=f"No wake-word-detection provider for: {entity_id}",
)
self.wake_word_entity_id = entity_id
self.wake_word_entity = wake_word_entity
async def wake_word_detection(
self,View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Install/enable a wake word detection integration (e.g. openWakeWord via HACS or microWakeWord bundled with voice pipelines).
- Restart or reload so async_default_entity finds the provider, then retry.
- Alternatively pin pipeline.wake_word_entity to a specific existing entity id.
Defensive patterns
Strategy: validation
Validate before calling
from homeassistant.components import wake_word
def wake_available(hass, pipeline) -> bool:
entity_id = pipeline.wake_word_entity or wake_word.async_default_entity(hass)
return entity_id is not None Try / catch
Catch WakeWordDetectionError around prepare_wake_word_detection() and branch on err.code: 'wake-engine-missing' -> prompt the user to install a wake word integration; 'wake-provider-missing' -> fix the configured entity.
Prevention
- Install and enable a wake word integration before exposing wake-word pipelines.
- Check async_default_entity(hass) is not None before preparing wake detection.
- Load wake word providers before starting satellites at startup.
When it happens
Trigger: Calling prepare_wake_word_detection() (directly or via a satellite starting wake-word mode) on a system with zero wake word entities, or where the provider integration is not loaded/enabled.
Common situations: Voice satellite or Assist voice setup attempted before installing a wake word add-on/integration; provider integration disabled after setup; ESPHome satellites relying on the host for wake detection.
Related errors
- wake-provider-missing
- duplicate_wake_up_detected
- pipeline_not_found
- wake-stream-failed
- wake-word-timeout
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/90f713f8f99846a2.
Report an issue: GitHub.