Bump aioswitcher to 3.4.3 (#118123)

This commit is contained in:
Shay Levy 2024-05-26 01:04:44 +03:00 committed by GitHub
parent 5eeeb8c11f
commit 0ae5275f01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 32 additions and 23 deletions

View file

@ -9,6 +9,7 @@ from aioswitcher.api.remotes import SwitcherBreezeRemote
from aioswitcher.device import (
DeviceCategory,
DeviceState,
SwitcherThermostat,
ThermostatFanLevel,
ThermostatMode,
ThermostatSwing,
@ -68,9 +69,10 @@ async def async_setup_entry(
async def async_add_climate(coordinator: SwitcherDataUpdateCoordinator) -> None:
"""Get remote and add climate from Switcher device."""
data = cast(SwitcherThermostat, coordinator.data)
if coordinator.data.device_type.category == DeviceCategory.THERMOSTAT:
remote: SwitcherBreezeRemote = await hass.async_add_executor_job(
get_breeze_remote_manager(hass).get_remote, coordinator.data.remote_id
get_breeze_remote_manager(hass).get_remote, data.remote_id
)
async_add_entities([SwitcherClimateEntity(coordinator, remote)])
@ -133,13 +135,13 @@ class SwitcherClimateEntity(
def _update_data(self, force_update: bool = False) -> None:
"""Update data from device."""
data = self.coordinator.data
data = cast(SwitcherThermostat, self.coordinator.data)
features = self._remote.modes_features[data.mode]
if data.target_temperature == 0 and not force_update:
return
self._attr_current_temperature = cast(float, data.temperature)
self._attr_current_temperature = data.temperature
self._attr_target_temperature = float(data.target_temperature)
self._attr_hvac_mode = HVACMode.OFF
@ -162,7 +164,7 @@ class SwitcherClimateEntity(
async def _async_control_breeze_device(self, **kwargs: Any) -> None:
"""Call Switcher Control Breeze API."""
response: SwitcherBaseResponse = None
response: SwitcherBaseResponse | None = None
error = None
try:
@ -185,9 +187,8 @@ class SwitcherClimateEntity(
async def async_set_temperature(self, **kwargs: Any) -> None:
"""Set new target temperature."""
if not self._remote.modes_features[self.coordinator.data.mode][
"temperature_control"
]:
data = cast(SwitcherThermostat, self.coordinator.data)
if not self._remote.modes_features[data.mode]["temperature_control"]:
raise HomeAssistantError(
"Current mode doesn't support setting Target Temperature"
)
@ -199,7 +200,8 @@ class SwitcherClimateEntity(
async def async_set_fan_mode(self, fan_mode: str) -> None:
"""Set new target fan mode."""
if not self._remote.modes_features[self.coordinator.data.mode]["fan_levels"]:
data = cast(SwitcherThermostat, self.coordinator.data)
if not self._remote.modes_features[data.mode]["fan_levels"]:
raise HomeAssistantError("Current mode doesn't support setting Fan Mode")
await self._async_control_breeze_device(fan_level=HA_TO_DEVICE_FAN[fan_mode])
@ -215,7 +217,8 @@ class SwitcherClimateEntity(
async def async_set_swing_mode(self, swing_mode: str) -> None:
"""Set new target swing operation."""
if not self._remote.modes_features[self.coordinator.data.mode]["swing"]:
data = cast(SwitcherThermostat, self.coordinator.data)
if not self._remote.modes_features[data.mode]["swing"]:
raise HomeAssistantError("Current mode doesn't support setting Swing Mode")
if swing_mode == SWING_VERTICAL: