home-assistant/core · error · HomeAssistantError

Invalid Assist satellite entity id: {satellite_entity_id}

Error message

Invalid Assist satellite entity id: {satellite_entity_id}

What it means

A plain HomeAssistantError raised when component.get_entity(satellite_entity_id) returns None for the assist_satellite component. The voluptuous schema only validates the entity_id's domain (cv.entity_domain), not that the entity exists, so a well-formed id referencing a missing/not-yet-loaded entity reaches this check and fails.

Source

Thrown at homeassistant/components/assist_satellite/__init__.py:130

            if user is None:
                raise UnknownUser(
                    context=call.context,
                    permission=POLICY_CONTROL,
                    user_id=call.context.user_id,
                )
            if not user.permissions.check_entity(satellite_entity_id, POLICY_CONTROL):
                raise Unauthorized(
                    context=call.context,
                    permission=POLICY_CONTROL,
                    user_id=call.context.user_id,
                    perm_category=CAT_ENTITIES,
                )

        satellite_entity: AssistSatelliteEntity | None = component.get_entity(
            satellite_entity_id
        )
        if satellite_entity is None:
            raise HomeAssistantError(
                f"Invalid Assist satellite entity id: {satellite_entity_id}"
            )

        ask_question_args = {
            "question": call.data.get("question"),
            "question_media_id": call.data.get("question_media_id"),
            "preannounce": call.data.get("preannounce", True),
            "answers": call.data.get("answers"),
        }

        if preannounce_media_id := call.data.get("preannounce_media_id"):
            ask_question_args["preannounce_media_id"] = preannounce_media_id

        answer = await satellite_entity.async_internal_ask_question(**ask_question_args)

        if answer is None:
            raise HomeAssistantError("No answer from satellite")

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Check the entity exists in Developer Tools > States before calling the service
  2. Fix or update the entity_id in the calling automation/script
  3. If the entity should exist, verify its integration loaded successfully (Settings > Devices & Services) and reload it
  4. For programmatic callers, use hass.states.async_get(entity_id) or the entity registry to validate first

Example fix

# before
await hass.services.async_call(
    "assist_satellite", "ask_question",
    {"entity_id": "assist_satellite.living_room", "question": "Hello?"},
)

# after
if hass.states.get("assist_satellite.living_room") is None:
    raise HomeAssistantError("Satellite entity not present")
await hass.services.async_call(
    "assist_satellite", "ask_question",
    {"entity_id": "assist_satellite.living_room", "question": "Hello?"},
)
Defensive patterns

Strategy: validation

Validate before calling

from homeassistant.helpers import entity_registry as er
ent_reg = er.async_get(hass)
entry = ent_reg.async_get(satellite_entity_id)
if entry is None or entry.disabled_by:
    raise ValueError(f"{satellite_entity_id} is not an available satellite")

Try / catch

try:
    await hass.services.async_call("assist_satellite", "ask_question", data)
except HomeAssistantError as err:
    if str(err).startswith("Invalid Assist satellite entity id"):
        # refresh your entity list / notify user
        ...

Prevention

When it happens

Trigger: Calling assist_satellite.ask_question with an entity_id whose domain is assist_satellite but which does not exist or belongs to an integration that failed setup; calling during HA startup before the satellite platform is loaded; entity was removed but the automation still references it.

Common situations: Stale entity_id in an automation or script after the satellite device was removed; race at startup where the service is invoked before platform setup completes; typo in the entity name portion of the id.

Related errors


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/09732e8969289f72. Report an issue: GitHub.