|
6 | 6 | from typing import Any |
7 | 7 |
|
8 | 8 | from aiocomfoconnect.const import VentilationMode, VentilationSpeed |
| 9 | +from aiocomfoconnect.exceptions import ComfoConnectNotConnected, ComfoConnectRmiError |
9 | 10 | from aiocomfoconnect.sensors import ( |
10 | 11 | SENSOR_FAN_SPEED_MODE, |
11 | 12 | SENSOR_OPERATING_MODE, |
|
14 | 15 | from homeassistant.components.fan import FanEntity, FanEntityFeature |
15 | 16 | from homeassistant.config_entries import ConfigEntry |
16 | 17 | from homeassistant.core import HomeAssistant |
| 18 | +from homeassistant.exceptions import HomeAssistantError |
17 | 19 | from homeassistant.helpers.dispatcher import async_dispatcher_connect |
18 | 20 | from homeassistant.helpers.entity import DeviceInfo |
19 | 21 | from homeassistant.helpers.entity_platform import AddEntitiesCallback |
@@ -145,12 +147,22 @@ async def async_set_percentage(self, percentage: int) -> None: |
145 | 147 | else: |
146 | 148 | speed = percentage_to_ordered_list_item(FAN_SPEEDS, percentage) |
147 | 149 |
|
148 | | - await self._ccb.set_speed(speed) |
| 150 | + try: |
| 151 | + await self._ccb.set_speed(speed) |
| 152 | + except ComfoConnectNotConnected as err: |
| 153 | + raise HomeAssistantError(f"Not connected to ComfoConnect bridge: {err}") from err |
| 154 | + except ComfoConnectRmiError as err: |
| 155 | + raise HomeAssistantError(f"Failed to set fan speed: {err}") from err |
149 | 156 |
|
150 | 157 | async def async_set_preset_mode(self, preset_mode: str) -> None: |
151 | 158 | """Set new preset mode.""" |
152 | 159 | if preset_mode not in self.preset_modes: |
153 | 160 | raise ValueError(f"Invalid preset mode: {preset_mode}") |
154 | 161 |
|
155 | 162 | _LOGGER.debug("Changing preset mode to %s", preset_mode) |
156 | | - await self._ccb.set_mode(preset_mode) |
| 163 | + try: |
| 164 | + await self._ccb.set_mode(preset_mode) |
| 165 | + except ComfoConnectNotConnected as err: |
| 166 | + raise HomeAssistantError(f"Not connected to ComfoConnect bridge: {err}") from err |
| 167 | + except ComfoConnectRmiError as err: |
| 168 | + raise HomeAssistantError(f"Failed to set preset mode: {err}") from err |
0 commit comments