Integration tests ok

This commit is contained in:
Jean-Marc Collin
2025-01-04 17:38:17 +00:00
parent c01f96c955
commit 10c8281b32
3 changed files with 13 additions and 5 deletions

View File

@@ -1452,7 +1452,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]):
control_heating to turn all off"""
for under in self._underlyings:
await under.turn_off()
await under.turn_off_and_cancel_cycle()
def save_preset_mode(self):
"""Save the current preset mode to be restored later
@@ -1464,7 +1464,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]):
):
self._saved_preset_mode = self._attr_preset_mode
async def restore_preset_mode(self):
async def restore_preset_mode(self, force=False):
"""Restore a previous preset mode
We never restore a hidden preset mode. Normally that is not possible
"""
@@ -1472,7 +1472,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]):
self._saved_preset_mode not in HIDDEN_PRESETS
and self._saved_preset_mode is not None
):
await self.async_set_preset_mode_internal(self._saved_preset_mode)
await self.async_set_preset_mode_internal(self._saved_preset_mode, force=force)
def save_hvac_mode(self):
"""Save the current hvac-mode to be restored later"""

View File

@@ -179,7 +179,7 @@ class FeaturePowerManager(BaseFeatureManager):
self._vtherm.save_preset_mode()
await self._vtherm.async_underlying_entity_turn_off()
await self._vtherm.async_set_preset_mode_internal(PRESET_POWER)
await self._vtherm.async_set_preset_mode_internal(PRESET_POWER, force=True)
self._vtherm.send_event(
EventType.POWER_EVENT,
{
@@ -198,9 +198,12 @@ class FeaturePowerManager(BaseFeatureManager):
)
self._overpowering_state = STATE_OFF
# restore state
if self._vtherm.is_over_climate:
await self._vtherm.restore_hvac_mode(False)
await self._vtherm.restore_hvac_mode()
await self._vtherm.restore_preset_mode()
# restart cycle
await self._vtherm.async_control_heating(force=True)
self._vtherm.send_event(
EventType.POWER_EVENT,
{

View File

@@ -190,6 +190,11 @@ class UnderlyingEntity:
"""capping of the value send to the underlying eqt"""
return value
async def turn_off_and_cancel_cycle(self):
"""Turn off and cancel eventual running cycle"""
self._cancel_cycle()
await self.turn_off()
class UnderlyingSwitch(UnderlyingEntity):
"""Represent a underlying switch"""