{"record":{"id":"97f77089fefc7a41","repo":"home-assistant/core","slug":"failed-to-set-dhw-error","errorCode":null,"errorMessage":"Failed to set DHW: {error}","messagePattern":"Failed to set DHW: (.+?)","errorType":"exception","errorClass":"HomeAssistantError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/airzone/entity.py","lineNumber":153,"sourceCode":"            )\n        self._attr_unique_id = entry.unique_id or entry.entry_id\n\n    @override\n    def get_airzone_value(self, key: str) -> Any:\n        \"\"\"Return DHW value by key.\"\"\"\n        return self.coordinator.data[AZD_HOT_WATER].get(key)\n\n    async def _async_update_dhw_params(self, params: dict[str, Any]) -> None:\n        \"\"\"Send DHW parameters to API.\"\"\"\n        _params = {\n            API_SYSTEM_ID: 0,\n            **params,\n        }\n        _LOGGER.debug(\"update_dhw_params=%s\", _params)\n        try:\n            await self.coordinator.airzone.set_dhw_parameters(_params)\n        except AirzoneError as error:\n            raise HomeAssistantError(f\"Failed to set DHW: {error}\") from error\n\n        self.coordinator.async_set_updated_data(self.coordinator.airzone.data())\n\n\nclass AirzoneWebServerEntity(AirzoneEntity):\n    \"\"\"Define an Airzone WebServer entity.\"\"\"\n\n    def __init__(\n        self,\n        coordinator: AirzoneUpdateCoordinator,\n        entry: ConfigEntry,\n    ) -> None:\n        \"\"\"Initialize.\"\"\"\n        super().__init__(coordinator)\n\n        mac = self.get_airzone_value(AZD_MAC)\n\n        self._attr_device_info = DeviceInfo(","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/airzone/entity.py#L135-L171","documentation":"HomeAssistantError raised by AirzoneHotWaterEntity._async_update_dhw_params when the local API call set_dhw_parameters() (always with API_SYSTEM_ID 0) fails with AirzoneError. It surfaces failures of domestic-hot-water changes (e.g. turning DHW on/off or changing its target temperature) with the library's reason embedded.","triggerScenarios":"Calling water heater services (turn on/off, set_temperature) on an Airzone DHW entity when the WebServer rejects or fails the request — device offline, HTTP error, or unsupported DHW payload on that firmware.","commonSituations":"Systems without a DHW module installed but entity exposed; firmware that requires DHW support flags; network drop during the write.","solutions":["Confirm the Airzone installation actually has a DHW module and it appears in the WebServer UI.","Check network reachability of the WebServer and retry.","Update WebServer firmware if DHW writes are consistently rejected.","If the entity is spurious, remove/re-add the integration so the entity registry matches discovered capabilities."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try:\n    await entity._async_update_dhw_params(params)\nexcept HomeAssistantError as err:\n    _LOGGER.error(\"DHW write failed: %s\", err)","preventionTips":["Confirm a DHW module exists before exposing/using its entities.","Retry writes once after transient network drops.","Keep WebServer firmware current for DHW API support."],"tags":["airzone","dhw","water-heater","api-write"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}