{"record":{"id":"09732e8969289f72","repo":"home-assistant/core","slug":"invalid-assist-satellite-entity-id-satellite-ent","errorCode":null,"errorMessage":"Invalid Assist satellite entity id: {satellite_entity_id}","messagePattern":"Invalid Assist satellite entity id: (.+?)","errorType":"exception","errorClass":"HomeAssistantError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/assist_satellite/__init__.py","lineNumber":130,"sourceCode":"            if user is None:\n                raise UnknownUser(\n                    context=call.context,\n                    permission=POLICY_CONTROL,\n                    user_id=call.context.user_id,\n                )\n            if not user.permissions.check_entity(satellite_entity_id, POLICY_CONTROL):\n                raise Unauthorized(\n                    context=call.context,\n                    permission=POLICY_CONTROL,\n                    user_id=call.context.user_id,\n                    perm_category=CAT_ENTITIES,\n                )\n\n        satellite_entity: AssistSatelliteEntity | None = component.get_entity(\n            satellite_entity_id\n        )\n        if satellite_entity is None:\n            raise HomeAssistantError(\n                f\"Invalid Assist satellite entity id: {satellite_entity_id}\"\n            )\n\n        ask_question_args = {\n            \"question\": call.data.get(\"question\"),\n            \"question_media_id\": call.data.get(\"question_media_id\"),\n            \"preannounce\": call.data.get(\"preannounce\", True),\n            \"answers\": call.data.get(\"answers\"),\n        }\n\n        if preannounce_media_id := call.data.get(\"preannounce_media_id\"):\n            ask_question_args[\"preannounce_media_id\"] = preannounce_media_id\n\n        answer = await satellite_entity.async_internal_ask_question(**ask_question_args)\n\n        if answer is None:\n            raise HomeAssistantError(\"No answer from satellite\")\n","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/assist_satellite/__init__.py#L112-L148","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Check the entity exists in Developer Tools > States before calling the service","Fix or update the entity_id in the calling automation/script","If the entity should exist, verify its integration loaded successfully (Settings > Devices & Services) and reload it","For programmatic callers, use hass.states.async_get(entity_id) or the entity registry to validate first"],"exampleFix":"# before\nawait hass.services.async_call(\n    \"assist_satellite\", \"ask_question\",\n    {\"entity_id\": \"assist_satellite.living_room\", \"question\": \"Hello?\"},\n)\n\n# after\nif hass.states.get(\"assist_satellite.living_room\") is None:\n    raise HomeAssistantError(\"Satellite entity not present\")\nawait hass.services.async_call(\n    \"assist_satellite\", \"ask_question\",\n    {\"entity_id\": \"assist_satellite.living_room\", \"question\": \"Hello?\"},\n)","handlingStrategy":"validation","validationCode":"from homeassistant.helpers import entity_registry as er\nent_reg = er.async_get(hass)\nentry = ent_reg.async_get(satellite_entity_id)\nif entry is None or entry.disabled_by:\n    raise ValueError(f\"{satellite_entity_id} is not an available satellite\")","typeGuard":null,"tryCatchPattern":"try:\n    await hass.services.async_call(\"assist_satellite\", \"ask_question\", data)\nexcept HomeAssistantError as err:\n    if str(err).startswith(\"Invalid Assist satellite entity id\"):\n        # refresh your entity list / notify user\n        ...","preventionTips":["Resolve entity_ids from the entity registry or labels instead of hardcoding strings","Wait for HA startup (homeassistant_started event) before calling entity services","When a satellite device is removed, update dependent automations immediately"],"tags":["service-call","entity","validation","assist-satellite"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}