{"record":{"id":"b2c38a9ff8fb27a4","repo":"home-assistant/core","slug":"failed-to-set-system-self-entity-id-error","errorCode":null,"errorMessage":"Failed to set system {self.entity_id}: {error}","messagePattern":"Failed to set system (.+?): (.+?)","errorType":"exception","errorClass":"HomeAssistantError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/airzone/entity.py","lineNumber":104,"sourceCode":"    def get_airzone_value(self, key: str) -> Any:\n        \"\"\"Return system value by key.\"\"\"\n        value = None\n        if system := self.coordinator.data[AZD_SYSTEMS].get(self.system_id):\n            if key in system:\n                value = system[key]\n        return value\n\n    async def _async_update_sys_params(self, params: dict[str, Any]) -> None:\n        \"\"\"Send system parameters to API.\"\"\"\n        _params = {\n            API_SYSTEM_ID: self.system_id,\n            **params,\n        }\n        _LOGGER.debug(\"update_sys_params=%s\", _params)\n        try:\n            await self.coordinator.airzone.set_sys_parameters(_params)\n        except AirzoneError as error:\n            raise HomeAssistantError(\n                f\"Failed to set system {self.entity_id}: {error}\"\n            ) from error\n\n        self.coordinator.async_set_updated_data(self.coordinator.airzone.data())\n\n\nclass AirzoneHotWaterEntity(AirzoneEntity):\n    \"\"\"Define an Airzone Hot Water entity.\"\"\"\n\n    def __init__(\n        self,\n        coordinator: AirzoneUpdateCoordinator,\n        entry: ConfigEntry,\n    ) -> None:\n        \"\"\"Initialize.\"\"\"\n        super().__init__(coordinator)\n\n        self._attr_device_info = DeviceInfo(","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/airzone/entity.py#L86-L122","documentation":"HomeAssistantError raised by AirzoneSystemEntity._async_update_sys_params when the local API call set_sys_parameters() fails with AirzoneError. It wraps system-level settings (API_SYSTEM_ID plus params) sent to the WebServer; the entity_id and underlying library error are included so the UI shows which system failed and why.","triggerScenarios":"Calling a service that mutates system settings — e.g. setting the aux heater limit, changeover mode, or system-level sensor via select/switch/number entities backed by _async_update_sys_params — while the WebServer returns an error (HTTP failure, invalid parameter, device offline).","commonSituations":"User flips a system-level select/switch right as the coordinator refresh happens; device briefly unreachable; parameter rejected by firmware (value out of accepted range).","solutions":["Check the underlying library message ({error}) — it usually states whether it is connectivity or parameter rejection.","Retry the action once the device responds (verify with a manual poll); transient failures are common with the local HTTP API.","If parameter rejection, choose a value the Airzone system accepts (check the WebServer UI for allowed ranges).","Reload the integration if failures persist to re-sync coordinator state."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"from homeassistant.exceptions import HomeAssistantError\n\ntry:\n    await entity._async_update_sys_params(params)\nexcept HomeAssistantError as err:\n    _LOGGER.error(\"System write failed: %s\", err)","preventionTips":["Validate parameter ranges against the WebServer UI before writing.","Space out system-level writes from coordinator refreshes.","Log the embedded library error to classify connectivity vs. rejection."],"tags":["airzone","system","api-write","home-assistant-error"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}