home-assistant/core · warning · HomeAssistantError
Mode can't be changed on slave zone {self.entity_id}
Error message
Mode can't be changed on slave zone {self.entity_id} What it means
Same master/slave guard as the local integration, but for Airzone Cloud: AirzoneZoneClimate.async_set_hvac_mode raises HomeAssistantError when a non-master zone is asked to change mode. The power parameter (API_POWER true) is still sent first, then the error is raised — so the zone powers on but keeps the master's mode.
Source
Thrown at homeassistant/components/airzone_cloud/climate.py:529
}
else:
mode = HVAC_MODE_HASS_TO_LIB[hvac_mode]
cur_mode = self.get_airzone_value(AZD_MODE)
if hvac_mode != HVAC_MODE_LIB_TO_HASS[cur_mode]:
if self.get_airzone_value(AZD_MASTER):
params[API_MODE] = {
API_VALUE: mode.value,
}
else:
slave_raise = True
params[API_POWER] = {
API_VALUE: True,
}
await self._async_update_params(params)
if slave_raise:
raise HomeAssistantError(
f"Mode can't be changed on slave zone {self.entity_id}"
)
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Set hvac_mode only on the master zone; slave zones follow.
- Use set_temperature on slave zones to control their comfort individually.
- Filter entities by the master/slave attribute in automations before calling set_hvac_mode.
- Catch HomeAssistantError when broadcasting intentionally.
Example fix
# before
- service: climate.set_hvac_mode
target:
area_id: downstairs
data: {hvac_mode: 'cool'}
# after
- service: climate.set_hvac_mode
target:
entity_id: climate.downstairs_master
data: {hvac_mode: 'cool'} Defensive patterns
Strategy: validation
Validate before calling
if entity.get_airzone_value(AZD_MASTER):
await entity.async_set_hvac_mode(HVACMode.COOL) Type guard
def is_master_zone(entity) -> bool:
return bool(entity.get_airzone_value(AZD_MASTER)) Try / catch
try:
await entity.async_set_hvac_mode(mode)
except HomeAssistantError as err:
if "slave zone" not in str(err):
raise Prevention
- Target master zones for mode changes in cloud installations.
- Use setpoint changes for slave-zone comfort control.
- Tag master/slave in entity labels for automation filtering.
When it happens
Trigger: climate.set_hvac_mode on an Airzone Cloud zone whose AZD_MASTER is false and whose current mode (mapped via HVAC_MODE_LIB_TO_HASS) differs from the requested one. Note the comparison is on the HASS-mode mapping of the current value, not the raw library mode.
Common situations: Cloud setups where users group all zone climates in one dashboard card and apply a mode to all; automation broadcasting mode changes; assuming per-zone autonomy in a shared-system group.
Related errors
- Mode can't be changed on slave zone {self.entity_id}
- failed_to_set_fan_mode
- Heat/Cool is not supported in this mode
- Failed to set temperature to {temperature}.
- Failed to set preset mode to {preset_mode}.
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/332bc9d0b7bebeca.
Report an issue: GitHub.