home-assistant/core · error · HomeAssistantError
failed_to_set_fan_mode
failed_to_set_fan_mode
Error message
Failed to set fan mode
What it means
Raised by the Bryant/Carrier Evolution climate entity when the upstream client library call `set_fan_mode` returns falsy, meaning the HVAC system did not accept or confirm the requested fan mode. It wraps the failure in a HomeAssistantError with translation key `failed_to_set_fan_mode` so the UI shows a localized message. This indicates a communication or rejection problem at the Evolution gateway, not an invalid HA-side value (the climate platform already restricts fan_mode to the entity's fan_modes list).
Source
Thrown at homeassistant/components/bryant_evolution/climate.py:259
self._client.set_heating_setpoint
if self.hvac_mode == HVACMode.HEAT
else self._client.set_cooling_setpoint
)
if not await fn(temp):
raise HomeAssistantError(
translation_domain=DOMAIN, translation_key="failed_to_set_temp"
)
self._attr_target_temperature = temp
# If we get here, we must have changed something unless HA allowed an
# invalid service call (without any recognized kwarg).
self._async_write_ha_state()
@override
async def async_set_fan_mode(self, fan_mode: str) -> None:
"""Set new target fan mode."""
if not await self._client.set_fan_mode(fan_mode):
raise HomeAssistantError(
translation_domain=DOMAIN, translation_key="failed_to_set_fan_mode"
)
self._attr_fan_mode = fan_mode.lower()
self.async_write_ha_state()
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Verify the climate entity is reachable (check the integration's diagnostics / last successful update) and retry the action.
- Confirm the requested fan_mode appears in the entity's `fan_modes` attribute and is supported by the installed air handler.
- Reauthenticate or reload the bryant_evolution config entry if the gateway session has expired.
- Enable debug logging for the `bryant_evolution` integration to see the underlying client error from the evolution library.
Defensive patterns
Strategy: try-catch
Try / catch
# in an automation/script calling climate.set_fan_mode
service: climate.set_fan_mode
continue_on_error: true
# in Python:
try:
await climate.async_set_fan_mode(mode)
except HomeAssistantError:
_LOGGER.warning("Fan mode write failed for %s", entity_id) Prevention
- Check the entity's fan_modes attribute before invoking the action.
- Ensure the integration's data updates are succeeding (no coordinator errors) before writing.
- Wrap nightly mode-switch automations with continue_on_error so transient gateway drops don't abort the sequence.
When it happens
Trigger: Calling the `climate.set_fan_mode` action on a bryant_evolution climate entity while the Evolution gateway is unreachable, the SAS session expired, or the system rejected the mode (e.g. requesting 'circulate' on a system that only supports on/auto). Any falsy return from `self._client.set_fan_mode(fan_mode)` triggers it.
Common situations: Wi-Fi/local-network issues between HA and the Evolution server, the Bryant account being rate limited, gateway firmware changes, or the configured fan mode list not matching what the physical air handler supports.
Related errors
- Unsupported fan mode {fan_mode}
- failed_to_read_hvac_mode
- failed_to_parse_hvac_mode
- failed_to_read_hvac_action
- failed_to_parse_hvac_action
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/bcef7e40eb99d21d.
Report an issue: GitHub.