Issue #164 - multiple calls to regulation

This commit is contained in:
Jean-Marc Collin
2023-11-12 09:20:52 +00:00
parent 84c8ac4f59
commit ab1c6892df

View File

@@ -115,9 +115,22 @@ class ThermostatOverClimate(BaseThermostat):
force,
)
now: datetime = NowClass.get_now(self._hass)
period = float((now - self._last_regulation_change).total_seconds()) / 60.0
if not force and period < self._auto_regulation_period_min:
_LOGGER.info(
"%s - period (%.1f) min is < %.0f min -> forget the regulation send",
self,
period,
self._auto_regulation_period_min,
)
return
if not self._regulated_target_temp:
self._regulated_target_temp = self.target_temperature
_LOGGER.info("%s - regulation calculation will be done", self)
new_regulated_temp = round_to_nearest(
self._regulation_algo.calculate_regulated_temperature(
self.current_temperature, self._cur_ext_temp
@@ -127,7 +140,7 @@ class ThermostatOverClimate(BaseThermostat):
dtemp = new_regulated_temp - self._regulated_target_temp
if not force and abs(dtemp) < self._auto_regulation_dtemp:
_LOGGER.debug(
_LOGGER.info(
"%s - dtemp (%.1f) is < %.1f -> forget the regulation send",
self,
dtemp,
@@ -135,17 +148,6 @@ class ThermostatOverClimate(BaseThermostat):
)
return
now: datetime = NowClass.get_now(self._hass)
period = float((now - self._last_regulation_change).total_seconds()) / 60.0
if not force and period < self._auto_regulation_period_min:
_LOGGER.debug(
"%s - period (%.1f) is < %.0f -> forget the regulation send",
self,
period,
self._auto_regulation_period_min,
)
return
self._regulated_target_temp = new_regulated_temp
_LOGGER.info(
"%s - Regulated temp have changed to %.1f. Resend it to underlyings",