home-assistant/core · error · UpdateFailed
Connection failed during update for zone {self.state.zn}
Error message
Connection failed during update for zone {self.state.zn} What it means
UpdateFailed raised by the Arcam FMJ coordinator when state.update() raises ConnectionFailed while doing a manual refresh of a zone. It tells DataUpdateCoordinator that the AVR connection (telnet-style socket to the amplifier) dropped, marking entities unavailable and scheduling retries.
Source
Thrown at homeassistant/components/arcam_fmj/coordinator.py:80
device_name += f" Zone {zone}"
self.device_name = device_name
self.device_info = DeviceInfo(
identifiers={(DOMAIN, unique_id_device)},
manufacturer="Arcam",
model="Arcam FMJ AVR",
name=device_name,
)
self.zone_unique_id = f"{unique_id}-{zone}"
@override
async def _async_update_data(self) -> None:
"""Fetch data for manual refresh."""
try:
self.update_in_progress = True
await self.state.update()
except ConnectionFailed as err:
raise UpdateFailed(
f"Connection failed during update for zone {self.state.zn}"
) from err
finally:
self.update_in_progress = False
@callback
def _async_notify_packet(self, packet: ResponsePacket | AmxDuetResponse) -> None:
"""Packet callback to detect changes to state."""
if (
not isinstance(packet, ResponsePacket)
or packet.zn != self.state.zn
or self.update_in_progress
):
return
self.async_update_listeners()
@asynccontextmanagerView on GitHub (pinned to 58a3fdb3ea)
Solutions
- Verify the AVR is powered on and its IP is reachable (ping / check router for DHCP changes); reserve its IP.
- If the IP changed, reconfigure the integration host setting or rely on the configured hostname.
- Ensure no other control app holds the AVR's single TCP control session.
- Wait for the coordinator's next retry once connectivity is restored.
Defensive patterns
Strategy: try-catch
Try / catch
Catch ConnectionFailed around state.update() and raise UpdateFailed(...) from err so DataUpdateCoordinator handles backoff; do not swallow it, or entities will show stale data.
Prevention
- Reserve a static IP for the AVR.
- Keep the AVR's network standby enabled so the control port stays reachable.
- Avoid multiple simultaneous control clients.
When it happens
Trigger: Coordinator _async_update_data calls await self.state.update() and the underlying arcam-fmj client cannot reach the AVR: powered off, IP changed, port closed, or socket closed after idle. The f-string embeds self.state.zn to identify which zone failed.
Common situations: AVR in standby/off (socket refused), DHCP lease renewed giving the receiver a new IP, network drop, or multiple clients connected when the AVR only accepts one control connection.
Related errors
- connection_failed
- coordinator_connection_error
- Unable find multi-factor auth module: {mfa_module_id}
- update_error
- Failed to communicate with device.
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/b157cb778f419ec4.
Report an issue: GitHub.