Turns off the relay once when the thermostat is switched off to prevent it from being kept on forever, as a safety precaution.

This commit is contained in:
Luc Boudreau 2021-12-09 17:35:29 -05:00
parent a7f96c4e69
commit b0b1b79fbd
1 changed files with 6 additions and 0 deletions

View File

@ -1400,6 +1400,12 @@ void CmndThermostatModeSet(void)
Thermostat[ctr_output].status.thermostat_mode = value;
Thermostat[ctr_output].timestamp_input_on = 0; // Reset last manual switch timer if command set externally
}
if ((value == THERMOSTAT_OFF) && (Thermostat[ctr_output].status.enable_output == IFACE_ON)) {
// Make sure the relay is switched to off once if the thermostat is being disabled,
// or it will get stuck on (danger!)
Thermostat[ctr_output].status.command_output = IFACE_OFF;
ThermostatOutputRelay(ctr_output, Thermostat[ctr_output].status.command_output);
}
}
ResponseCmndIdxNumber((int)Thermostat[ctr_output].status.thermostat_mode);
}