Use shorthand attributes in touchline climate (#145292)

This commit is contained in:
epenet 2025-05-20 10:12:20 +02:00 committed by GitHub
parent 072bf75d71
commit 611d5be40a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -67,6 +67,7 @@ class Touchline(ClimateEntity):
_attr_hvac_mode = HVACMode.HEAT
_attr_hvac_modes = [HVACMode.HEAT]
_attr_preset_modes = list(PRESET_MODES)
_attr_supported_features = (
ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE
)
@ -75,52 +76,25 @@ class Touchline(ClimateEntity):
def __init__(self, touchline_thermostat):
"""Initialize the Touchline device."""
self.unit = touchline_thermostat
self._name = None
self._current_temperature = None
self._target_temperature = None
self._attr_name = None
self._current_operation_mode = None
self._preset_mode = None
self._attr_preset_mode = None
def update(self) -> None:
"""Update thermostat attributes."""
self.unit.update()
self._name = self.unit.get_name()
self._current_temperature = self.unit.get_current_temperature()
self._target_temperature = self.unit.get_target_temperature()
self._preset_mode = TOUCHLINE_HA_PRESETS.get(
self._attr_name = self.unit.get_name()
self._attr_current_temperature = self.unit.get_current_temperature()
self._attr_target_temperature = self.unit.get_target_temperature()
self._attr_preset_mode = TOUCHLINE_HA_PRESETS.get(
(self.unit.get_operation_mode(), self.unit.get_week_program())
)
@property
def name(self):
"""Return the name of the climate device."""
return self._name
@property
def current_temperature(self):
"""Return the current temperature."""
return self._current_temperature
@property
def target_temperature(self):
"""Return the temperature we try to reach."""
return self._target_temperature
@property
def preset_mode(self):
"""Return the current preset mode."""
return self._preset_mode
@property
def preset_modes(self):
"""Return available preset modes."""
return list(PRESET_MODES)
def set_preset_mode(self, preset_mode):
def set_preset_mode(self, preset_mode: str) -> None:
"""Set new target preset mode."""
preset_mode = PRESET_MODES[preset_mode]
self.unit.set_operation_mode(preset_mode.mode)
self.unit.set_week_program(preset_mode.program)
preset = PRESET_MODES[preset_mode]
self.unit.set_operation_mode(preset.mode)
self.unit.set_week_program(preset.program)
def set_hvac_mode(self, hvac_mode: HVACMode) -> None:
"""Set new target hvac mode."""
@ -129,5 +103,5 @@ class Touchline(ClimateEntity):
def set_temperature(self, **kwargs: Any) -> None:
"""Set new target temperature."""
if kwargs.get(ATTR_TEMPERATURE) is not None:
self._target_temperature = kwargs.get(ATTR_TEMPERATURE)
self.unit.set_target_temperature(self._target_temperature)
self._attr_target_temperature = kwargs.get(ATTR_TEMPERATURE)
self.unit.set_target_temperature(self._attr_target_temperature)