mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Improve type hints in blebox climate (#145282)
This commit is contained in:
parent
a12bc70543
commit
fd1ddbd93d
@ -21,7 +21,6 @@ from .entity import BleBoxEntity
|
|||||||
SCAN_INTERVAL = timedelta(seconds=5)
|
SCAN_INTERVAL = timedelta(seconds=5)
|
||||||
|
|
||||||
BLEBOX_TO_HVACMODE = {
|
BLEBOX_TO_HVACMODE = {
|
||||||
None: None,
|
|
||||||
0: HVACMode.OFF,
|
0: HVACMode.OFF,
|
||||||
1: HVACMode.HEAT,
|
1: HVACMode.HEAT,
|
||||||
2: HVACMode.COOL,
|
2: HVACMode.COOL,
|
||||||
@ -59,12 +58,14 @@ class BleBoxClimateEntity(BleBoxEntity[blebox_uniapi.climate.Climate], ClimateEn
|
|||||||
_attr_temperature_unit = UnitOfTemperature.CELSIUS
|
_attr_temperature_unit = UnitOfTemperature.CELSIUS
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hvac_modes(self):
|
def hvac_modes(self) -> list[HVACMode]:
|
||||||
"""Return list of supported HVAC modes."""
|
"""Return list of supported HVAC modes."""
|
||||||
|
if self._feature.mode is None:
|
||||||
|
return [HVACMode.OFF]
|
||||||
return [HVACMode.OFF, BLEBOX_TO_HVACMODE[self._feature.mode]]
|
return [HVACMode.OFF, BLEBOX_TO_HVACMODE[self._feature.mode]]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hvac_mode(self):
|
def hvac_mode(self) -> HVACMode | None:
|
||||||
"""Return the desired HVAC mode."""
|
"""Return the desired HVAC mode."""
|
||||||
if self._feature.is_on is None:
|
if self._feature.is_on is None:
|
||||||
return None
|
return None
|
||||||
@ -75,7 +76,7 @@ class BleBoxClimateEntity(BleBoxEntity[blebox_uniapi.climate.Climate], ClimateEn
|
|||||||
return HVACMode.HEAT if self._feature.is_on else HVACMode.OFF
|
return HVACMode.HEAT if self._feature.is_on else HVACMode.OFF
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hvac_action(self):
|
def hvac_action(self) -> HVACAction | None:
|
||||||
"""Return the actual current HVAC action."""
|
"""Return the actual current HVAC action."""
|
||||||
if self._feature.hvac_action is not None:
|
if self._feature.hvac_action is not None:
|
||||||
if not self._feature.is_on:
|
if not self._feature.is_on:
|
||||||
@ -88,22 +89,22 @@ class BleBoxClimateEntity(BleBoxEntity[blebox_uniapi.climate.Climate], ClimateEn
|
|||||||
return HVACAction.HEATING if self._feature.is_heating else HVACAction.IDLE
|
return HVACAction.HEATING if self._feature.is_heating else HVACAction.IDLE
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def max_temp(self):
|
def max_temp(self) -> float:
|
||||||
"""Return the maximum temperature supported."""
|
"""Return the maximum temperature supported."""
|
||||||
return self._feature.max_temp
|
return self._feature.max_temp
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def min_temp(self):
|
def min_temp(self) -> float:
|
||||||
"""Return the maximum temperature supported."""
|
"""Return the maximum temperature supported."""
|
||||||
return self._feature.min_temp
|
return self._feature.min_temp
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def current_temperature(self):
|
def current_temperature(self) -> float | None:
|
||||||
"""Return the current temperature."""
|
"""Return the current temperature."""
|
||||||
return self._feature.current
|
return self._feature.current
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def target_temperature(self):
|
def target_temperature(self) -> float | None:
|
||||||
"""Return the desired thermostat temperature."""
|
"""Return the desired thermostat temperature."""
|
||||||
return self._feature.desired
|
return self._feature.desired
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ async def test_init(
|
|||||||
supported_features = state.attributes[ATTR_SUPPORTED_FEATURES]
|
supported_features = state.attributes[ATTR_SUPPORTED_FEATURES]
|
||||||
assert supported_features & ClimateEntityFeature.TARGET_TEMPERATURE
|
assert supported_features & ClimateEntityFeature.TARGET_TEMPERATURE
|
||||||
|
|
||||||
assert state.attributes[ATTR_HVAC_MODES] == [HVACMode.OFF, None]
|
assert state.attributes[ATTR_HVAC_MODES] == [HVACMode.OFF]
|
||||||
|
|
||||||
assert ATTR_DEVICE_CLASS not in state.attributes
|
assert ATTR_DEVICE_CLASS not in state.attributes
|
||||||
assert ATTR_HVAC_MODE not in state.attributes
|
assert ATTR_HVAC_MODE not in state.attributes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user