From 03ea95dfd4a94fabc201b54cc36a158510e3a5fe Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 17 May 2026 22:44:02 +0200 Subject: [PATCH] Handle Daikin connection errors gracefully in coordinator (#171017) --- homeassistant/components/daikin/coordinator.py | 12 ++++++++++-- homeassistant/components/daikin/strings.json | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/daikin/coordinator.py b/homeassistant/components/daikin/coordinator.py index 9bd8d17bf485..d7ee2730929e 100644 --- a/homeassistant/components/daikin/coordinator.py +++ b/homeassistant/components/daikin/coordinator.py @@ -4,10 +4,11 @@ from datetime import timedelta import logging from pydaikin.daikin_base import Appliance +from pydaikin.exceptions import DaikinException from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant -from homeassistant.helpers.update_coordinator import DataUpdateCoordinator +from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from .const import DOMAIN, TIMEOUT_SEC @@ -33,4 +34,11 @@ class DaikinCoordinator(DataUpdateCoordinator[None]): self.device = device async def _async_update_data(self) -> None: - await self.device.update_status() + try: + await self.device.update_status() + except DaikinException as err: + raise UpdateFailed( + translation_domain=DOMAIN, + translation_key="error_communicating", + translation_placeholders={"error": str(err)}, + ) from err diff --git a/homeassistant/components/daikin/strings.json b/homeassistant/components/daikin/strings.json index b3326454d375..b7efa24a31d1 100644 --- a/homeassistant/components/daikin/strings.json +++ b/homeassistant/components/daikin/strings.json @@ -59,6 +59,9 @@ } }, "exceptions": { + "error_communicating": { + "message": "Error communicating with Daikin device: {error}" + }, "zone_hvac_mode_unsupported": { "message": "Zone temperature can only be changed when the main climate mode is heat or cool." },