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""" control_heating to turn all off"""
for under in self._underlyings: for under in self._underlyings:
await under.turn_off() await under.turn_off_and_cancel_cycle()
def save_preset_mode(self): def save_preset_mode(self):
"""Save the current preset mode to be restored later """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 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 """Restore a previous preset mode
We never restore a hidden preset mode. Normally that is not possible 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 self._saved_preset_mode not in HIDDEN_PRESETS
and self._saved_preset_mode is not None 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): def save_hvac_mode(self):
"""Save the current hvac-mode to be restored later""" """Save the current hvac-mode to be restored later"""

View File

@@ -179,7 +179,7 @@ class FeaturePowerManager(BaseFeatureManager):
self._vtherm.save_preset_mode() self._vtherm.save_preset_mode()
await self._vtherm.async_underlying_entity_turn_off() 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( self._vtherm.send_event(
EventType.POWER_EVENT, EventType.POWER_EVENT,
{ {
@@ -198,9 +198,12 @@ class FeaturePowerManager(BaseFeatureManager):
) )
self._overpowering_state = STATE_OFF self._overpowering_state = STATE_OFF
# restore state
if self._vtherm.is_over_climate: 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() await self._vtherm.restore_preset_mode()
# restart cycle
await self._vtherm.async_control_heating(force=True)
self._vtherm.send_event( self._vtherm.send_event(
EventType.POWER_EVENT, EventType.POWER_EVENT,
{ {

View File

@@ -190,6 +190,11 @@ class UnderlyingEntity:
"""capping of the value send to the underlying eqt""" """capping of the value send to the underlying eqt"""
return value 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): class UnderlyingSwitch(UnderlyingEntity):
"""Represent a underlying switch""" """Represent a underlying switch"""