Issue #164 - multiple calls to regulation
This commit is contained in:
@@ -115,9 +115,22 @@ class ThermostatOverClimate(BaseThermostat):
|
|||||||
force,
|
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:
|
if not self._regulated_target_temp:
|
||||||
self._regulated_target_temp = self.target_temperature
|
self._regulated_target_temp = self.target_temperature
|
||||||
|
|
||||||
|
_LOGGER.info("%s - regulation calculation will be done", self)
|
||||||
|
|
||||||
new_regulated_temp = round_to_nearest(
|
new_regulated_temp = round_to_nearest(
|
||||||
self._regulation_algo.calculate_regulated_temperature(
|
self._regulation_algo.calculate_regulated_temperature(
|
||||||
self.current_temperature, self._cur_ext_temp
|
self.current_temperature, self._cur_ext_temp
|
||||||
@@ -127,7 +140,7 @@ class ThermostatOverClimate(BaseThermostat):
|
|||||||
dtemp = new_regulated_temp - self._regulated_target_temp
|
dtemp = new_regulated_temp - self._regulated_target_temp
|
||||||
|
|
||||||
if not force and abs(dtemp) < self._auto_regulation_dtemp:
|
if not force and abs(dtemp) < self._auto_regulation_dtemp:
|
||||||
_LOGGER.debug(
|
_LOGGER.info(
|
||||||
"%s - dtemp (%.1f) is < %.1f -> forget the regulation send",
|
"%s - dtemp (%.1f) is < %.1f -> forget the regulation send",
|
||||||
self,
|
self,
|
||||||
dtemp,
|
dtemp,
|
||||||
@@ -135,17 +148,6 @@ class ThermostatOverClimate(BaseThermostat):
|
|||||||
)
|
)
|
||||||
return
|
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
|
self._regulated_target_temp = new_regulated_temp
|
||||||
_LOGGER.info(
|
_LOGGER.info(
|
||||||
"%s - Regulated temp have changed to %.1f. Resend it to underlyings",
|
"%s - Regulated temp have changed to %.1f. Resend it to underlyings",
|
||||||
|
|||||||
Reference in New Issue
Block a user