Skip to content

Commit 2dad5ba

Browse files
authored
Force use initial_hvac_mode if set in config.
If initial_hvac_mode is set in configuration YAML, use it after a restart instead of restoring old state. Should fix #36
1 parent 3338fdb commit 2dad5ba

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

custom_components/smart_thermostat/climate.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
vol.Required(CONF_KEEP_ALIVE): vol.All(cv.time_period, cv.positive_timedelta),
123123
vol.Optional(CONF_SAMPLING_PERIOD, default=DEFAULT_SAMPLING_PERIOD): vol.All(
124124
cv.time_period, cv.positive_timedelta),
125-
vol.Optional(CONF_INITIAL_HVAC_MODE, default=HVAC_MODE_OFF): vol.In(
125+
vol.Optional(CONF_INITIAL_HVAC_MODE): vol.In(
126126
[HVAC_MODE_COOL, HVAC_MODE_HEAT, HVAC_MODE_OFF]
127127
),
128128
vol.Optional(CONF_AWAY_TEMP): vol.Coerce(float),
@@ -240,7 +240,7 @@ def __init__(self, **kwargs):
240240
self._ac_mode = kwargs.get('ac_mode')
241241
self._keep_alive = kwargs.get('keep_alive')
242242
self._sampling_period = kwargs.get('sampling_period').seconds
243-
self._hvac_mode = kwargs.get('initial_hvac_mode')
243+
self._hvac_mode = kwargs.get('initial_hvac_mode', None)
244244
self._saved_target_temp = kwargs.get('target_temp', None) or kwargs.get('away_temp', None)
245245
self._temp_precision = kwargs.get('precision')
246246
self._target_temperature_step = kwargs.get('target_temp_step')
@@ -362,7 +362,7 @@ def _async_startup(event):
362362
self._pidController is not None:
363363
self._i = float(old_state.attributes.get('pid_i'))
364364
self._pidController.integral = self._i
365-
if old_state.state in self._hvac_list:
365+
if self._hvac_mode is None and old_state.state in self._hvac_list:
366366
self._hvac_mode = old_state.state
367367
if old_state.attributes.get('Kp') is not None and self._pidController is not None:
368368
self._kp = float(old_state.attributes.get('Kp'))

0 commit comments

Comments
 (0)