diff --git a/homeassistant/components/daikin/coordinator.py b/homeassistant/components/daikin/coordinator.py index 9bd8d17bf485b..d7ee2730929e1 100644 --- a/homeassistant/components/daikin/coordinator.py +++ b/homeassistant/components/daikin/coordinator.py @@ -4,10 +4,11 @@ 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 @@ def __init__( 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 b3326454d375b..b7efa24a31d1a 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." },