home-assistant/core · error · HomeAssistantError
Failed to set DHW: {error}
Error message
Failed to set DHW: {error} What it means
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.
Source
Thrown at homeassistant/components/airzone/entity.py:153
)
self._attr_unique_id = entry.unique_id or entry.entry_id
@override
def get_airzone_value(self, key: str) -> Any:
"""Return DHW value by key."""
return self.coordinator.data[AZD_HOT_WATER].get(key)
async def _async_update_dhw_params(self, params: dict[str, Any]) -> None:
"""Send DHW parameters to API."""
_params = {
API_SYSTEM_ID: 0,
**params,
}
_LOGGER.debug("update_dhw_params=%s", _params)
try:
await self.coordinator.airzone.set_dhw_parameters(_params)
except AirzoneError as error:
raise HomeAssistantError(f"Failed to set DHW: {error}") from error
self.coordinator.async_set_updated_data(self.coordinator.airzone.data())
class AirzoneWebServerEntity(AirzoneEntity):
"""Define an Airzone WebServer entity."""
def __init__(
self,
coordinator: AirzoneUpdateCoordinator,
entry: ConfigEntry,
) -> None:
"""Initialize."""
super().__init__(coordinator)
mac = self.get_airzone_value(AZD_MAC)
self._attr_device_info = DeviceInfo(View on GitHub (pinned to 58a3fdb3ea)
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.
Defensive patterns
Strategy: try-catch
Try / catch
try:
await entity._async_update_dhw_params(params)
except HomeAssistantError as err:
_LOGGER.error("DHW write failed: %s", err) Prevention
- 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.
When it happens
Trigger: 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.
Common situations: Systems without a DHW module installed but entity exposed; firmware that requires DHW support flags; network drop during the write.
Related errors
- Failed to set system {self.entity_id}: {error}
- Failed to set zone {self.entity_id}: {error}
- Mode can't be changed on slave zone {self.entity_id}
- cannot_connect
- {error}
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/97f77089fefc7a41.
Report an issue: GitHub.