from .config import TemperatureConfig class TemperaturePolicy: def __init__( self, config: TemperatureConfig, ): self._config = config def heater_required( self, temperature: float, target_temp: float, heater_on: bool, ) -> bool: # Нагреватель уже включён. # # Продолжаем греть, пока температура # не достигла целевой. if heater_on: return ( temperature < target_temp ) # Нагреватель выключен. # # Повторно включаем его только после # падения температуры ниже нижней # границы гистерезиса. return ( temperature < ( target_temp - self._config.hysteresis ) )