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

  1. Confirm the Airzone installation actually has a DHW module and it appears in the WebServer UI.
  2. Check network reachability of the WebServer and retry.
  3. Update WebServer firmware if DHW writes are consistently rejected.
  4. 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

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


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