home-assistant/core · error · HomeAssistantError
failed_to_read_hvac_mode
failed_to_read_hvac_mode
Error message
Failed to read current HVAC mode
What it means
HomeAssistantError with translation_key 'failed_to_read_hvac_mode', raised in _read_hvac_mode when the Evolution client's read_hvac_mode() returns a falsy value — the gateway did not return the expected S30/Bryant gateway mode register. This is a communications/parse failure with the Bryant Evolution gateway, not a user-input problem.
Source
Thrown at homeassistant/components/bryant_evolution/climate.py:149
self._attr_target_temperature_high = (
await self._client.read_cooling_setpoint()
)
self._attr_target_temperature_low = (
await self._client.read_heating_setpoint()
)
case HVACMode.OFF:
pass
case _:
_LOGGER.error("Unknown HVAC mode %s", self._attr_hvac_mode)
# Note: depends on current temperature and target temperature low read
# above.
self._attr_hvac_action = await self._read_hvac_action()
async def _read_hvac_mode(self) -> HVACMode:
mode_and_active = await self._client.read_hvac_mode()
if not mode_and_active:
raise HomeAssistantError(
translation_domain=DOMAIN, translation_key="failed_to_read_hvac_mode"
)
mode = mode_and_active[0]
mode_enum = {
"HEAT": HVACMode.HEAT,
"COOL": HVACMode.COOL,
"AUTO": HVACMode.HEAT_COOL,
"OFF": HVACMode.OFF,
}.get(mode.upper())
if mode_enum is None:
raise HomeAssistantError(
translation_domain=DOMAIN,
translation_key="failed_to_parse_hvac_mode",
translation_placeholders={"mode": mode},
)
return mode_enum
async def _read_hvac_action(self) -> HVACAction:View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Verify the Bryant/Carrier Evolution gateway is powered and reachable on the network
- Reload the bryant_evolution integration to re-establish the client connection
- Update the integration / evolutionhttp library if a firmware change altered responses
- Retry the climate entity action after connectivity returns
Defensive patterns
Strategy: retry
Validate before calling
# Only act when the entity has fresh data
if climate.available and climate.hvac_mode is not None:
# gateway session healthy; proceed Try / catch
try:
await climate.async_update_hvac_mode() # or entity service call
except HomeAssistantError as err:
if 'failed_to_read_hvac_mode' in str(err):
# gateway not answering; reload integration or wait for reconnect Prevention
- Keep the Evolution gateway on wired/reliable network
- Reload the integration after gateway reboots to rebuild the client session
When it happens
Trigger: The Evolution gateway is offline or the websocket/SAM session dropped so read_hvac_mode returns None/empty; firmware returning an unexpected payload that the client library cannot decode into (mode, is_active).
Common situations: Power outage or router reboot taking the gateway down; HA restarted before the gateway connection re-established; gateway firmware update changing response format.
Related errors
- failed_to_parse_hvac_mode
- failed_to_read_hvac_action
- failed_to_set_hvac_mode
- Unsupported HVAC mode {hvac_mode}
- failed_to_parse_hvac_action
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/1cbe384bc7e1090b.
Report an issue: GitHub.