Fix ema_temp unknown and remove slope smoothing
This commit is contained in:
@@ -253,7 +253,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity):
|
|||||||
|
|
||||||
self._underlyings = []
|
self._underlyings = []
|
||||||
|
|
||||||
self._smooth_temp = None
|
self._ema_temp = None
|
||||||
self._ema_algo = None
|
self._ema_algo = None
|
||||||
self.post_init(entry_infos)
|
self.post_init(entry_infos)
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# pylint: disable=line-too-long
|
||||||
""" This file implements the Open Window by temperature algorithm
|
""" This file implements the Open Window by temperature algorithm
|
||||||
This algo works the following way:
|
This algo works the following way:
|
||||||
- each time a new temperature is measured
|
- each time a new temperature is measured
|
||||||
@@ -71,10 +72,10 @@ class WindowOpenDetectionAlgorithm:
|
|||||||
)
|
)
|
||||||
return lspe
|
return lspe
|
||||||
|
|
||||||
if self._last_slope is None:
|
# if self._last_slope is None:
|
||||||
self._last_slope = new_slope
|
self._last_slope = round(new_slope, 4)
|
||||||
else:
|
# else:
|
||||||
self._last_slope = (0.5 * self._last_slope) + (0.5 * new_slope)
|
# self._last_slope = (0.5 * self._last_slope) + (0.5 * new_slope)
|
||||||
|
|
||||||
self._last_datetime = datetime_measure
|
self._last_datetime = datetime_measure
|
||||||
self._last_temperature = temperature
|
self._last_temperature = temperature
|
||||||
|
|||||||
@@ -386,6 +386,7 @@ async def test_multiple_climates(
|
|||||||
CONF_THERMOSTAT_TYPE: CONF_THERMOSTAT_CLIMATE,
|
CONF_THERMOSTAT_TYPE: CONF_THERMOSTAT_CLIMATE,
|
||||||
CONF_TEMP_SENSOR: "sensor.mock_temp_sensor",
|
CONF_TEMP_SENSOR: "sensor.mock_temp_sensor",
|
||||||
CONF_EXTERNAL_TEMP_SENSOR: "sensor.mock_ext_temp_sensor",
|
CONF_EXTERNAL_TEMP_SENSOR: "sensor.mock_ext_temp_sensor",
|
||||||
|
CONF_CYCLE_MIN: 8,
|
||||||
CONF_TEMP_MIN: 15,
|
CONF_TEMP_MIN: 15,
|
||||||
CONF_TEMP_MAX: 30,
|
CONF_TEMP_MAX: 30,
|
||||||
"eco_temp": 17,
|
"eco_temp": 17,
|
||||||
@@ -486,6 +487,7 @@ async def test_multiple_climates_underlying_changes(
|
|||||||
CONF_THERMOSTAT_TYPE: CONF_THERMOSTAT_CLIMATE,
|
CONF_THERMOSTAT_TYPE: CONF_THERMOSTAT_CLIMATE,
|
||||||
CONF_TEMP_SENSOR: "sensor.mock_temp_sensor",
|
CONF_TEMP_SENSOR: "sensor.mock_temp_sensor",
|
||||||
CONF_EXTERNAL_TEMP_SENSOR: "sensor.mock_ext_temp_sensor",
|
CONF_EXTERNAL_TEMP_SENSOR: "sensor.mock_ext_temp_sensor",
|
||||||
|
CONF_CYCLE_MIN: 8,
|
||||||
CONF_TEMP_MIN: 15,
|
CONF_TEMP_MIN: 15,
|
||||||
CONF_TEMP_MAX: 30,
|
CONF_TEMP_MAX: 30,
|
||||||
"eco_temp": 17,
|
"eco_temp": 17,
|
||||||
|
|||||||
Reference in New Issue
Block a user