Home Assistant corrects a timing error that could leave a generic thermostat’s heater running or idle past its configured waiting period. When a temperature reading arrived partway through a minimum cycle or cooldown, the next check waited the elapsed time plus the full period instead of just the time remaining.
Franck Nijhof makes the thermostat recheck at the actual deadline. In the reported failure, a heater stayed on until the next sensor reading half an hour later; regression tests cover a reading arriving midway through both kinds of waiting period.