integrattion tests - Do startup works
This commit is contained in:
@@ -444,10 +444,6 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# start listening for all managers
|
|
||||||
for manager in self._managers:
|
|
||||||
manager.start_listening()
|
|
||||||
|
|
||||||
self.async_on_remove(self.remove_thermostat)
|
self.async_on_remove(self.remove_thermostat)
|
||||||
|
|
||||||
# issue 428. Link to others entities will start at link
|
# issue 428. Link to others entities will start at link
|
||||||
@@ -480,6 +476,10 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]):
|
|||||||
_LOGGER.debug("%s - Calling async_startup_internal", self)
|
_LOGGER.debug("%s - Calling async_startup_internal", self)
|
||||||
need_write_state = False
|
need_write_state = False
|
||||||
|
|
||||||
|
# start listening for all managers
|
||||||
|
for manager in self._managers:
|
||||||
|
manager.start_listening()
|
||||||
|
|
||||||
await self.get_my_previous_state()
|
await self.get_my_previous_state()
|
||||||
|
|
||||||
await self.init_presets(central_configuration)
|
await self.init_presets(central_configuration)
|
||||||
@@ -1609,7 +1609,9 @@ class BaseThermostat(ClimateEntity, RestoreEntity, Generic[T]):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
# Check overpowering condition
|
# Check overpowering condition
|
||||||
# Not necessary for switch because each switch is checking at startup
|
await VersatileThermostatAPI.get_vtherm_api().central_power_manager.refresh_state()
|
||||||
|
|
||||||
|
# TODO remove this
|
||||||
# overpowering is now centralized
|
# overpowering is now centralized
|
||||||
# overpowering = await self._power_manager.check_overpowering()
|
# overpowering = await self._power_manager.check_overpowering()
|
||||||
# if overpowering == STATE_ON:
|
# if overpowering == STATE_ON:
|
||||||
|
|||||||
@@ -208,8 +208,7 @@ class CentralFeaturePowerManager(BaseFeatureManager):
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
total_affected_power += power_consumption_max
|
total_affected_power += power_consumption_max
|
||||||
# Always set to false
|
# Always set to false to init the state
|
||||||
# if vtherm.power_manager.is_overpowering_detected:
|
|
||||||
_LOGGER.debug(
|
_LOGGER.debug(
|
||||||
"%s - vtherm %s should not be in overpowering state",
|
"%s - vtherm %s should not be in overpowering state",
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ class FeaturePowerManager(BaseFeatureManager):
|
|||||||
self._overpowering_state = STATE_UNAVAILABLE
|
self._overpowering_state = STATE_UNAVAILABLE
|
||||||
self._is_configured: bool = False
|
self._is_configured: bool = False
|
||||||
self._device_power: float = 0
|
self._device_power: float = 0
|
||||||
|
self._use_power_feature: bool = False
|
||||||
|
|
||||||
@overrides
|
@overrides
|
||||||
def post_init(self, entry_infos: ConfigData):
|
def post_init(self, entry_infos: ConfigData):
|
||||||
@@ -56,16 +57,35 @@ class FeaturePowerManager(BaseFeatureManager):
|
|||||||
self._power_temp = entry_infos.get(CONF_PRESET_POWER)
|
self._power_temp = entry_infos.get(CONF_PRESET_POWER)
|
||||||
|
|
||||||
self._device_power = entry_infos.get(CONF_DEVICE_POWER) or 0
|
self._device_power = entry_infos.get(CONF_DEVICE_POWER) or 0
|
||||||
|
self._use_power_feature = entry_infos.get(CONF_USE_POWER_FEATURE, False)
|
||||||
self._is_configured = False
|
self._is_configured = False
|
||||||
if entry_infos.get(CONF_USE_POWER_FEATURE, False) and self._device_power:
|
|
||||||
self._is_configured = True
|
|
||||||
self._overpowering_state = STATE_UNKNOWN
|
|
||||||
else:
|
|
||||||
_LOGGER.info("%s - Power management is not fully configured", self)
|
|
||||||
|
|
||||||
@overrides
|
@overrides
|
||||||
def start_listening(self):
|
def start_listening(self):
|
||||||
"""Start listening the underlying entity. There is nothing to listen"""
|
"""Start listening the underlying entity. There is nothing to listen"""
|
||||||
|
central_power_configuration = (
|
||||||
|
VersatileThermostatAPI.get_vtherm_api().central_power_manager.is_configured
|
||||||
|
)
|
||||||
|
|
||||||
|
if (
|
||||||
|
self._use_power_feature
|
||||||
|
and self._device_power
|
||||||
|
and central_power_configuration
|
||||||
|
):
|
||||||
|
self._is_configured = True
|
||||||
|
self._overpowering_state = STATE_UNKNOWN
|
||||||
|
else:
|
||||||
|
if self._use_power_feature:
|
||||||
|
if not central_power_configuration:
|
||||||
|
_LOGGER.warning(
|
||||||
|
"%s - Power management is not fully configured. You have to configure the central configuration power",
|
||||||
|
self,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
_LOGGER.warning(
|
||||||
|
"%s - Power management is not fully configured. You have to configure the power feature of the VTherm",
|
||||||
|
self,
|
||||||
|
)
|
||||||
|
|
||||||
def add_custom_attributes(self, extra_state_attributes: dict[str, Any]):
|
def add_custom_attributes(self, extra_state_attributes: dict[str, Any]):
|
||||||
"""Add some custom attributes"""
|
"""Add some custom attributes"""
|
||||||
|
|||||||
Reference in New Issue
Block a user