def do_work(self, data): self.pause_all_devices() self.current_set_temperature = float(data.target) self.hold_timer = None self.hold_pause_timer = None seconds = data.hold_time * data.time_unit_seconds if self.simulation: seconds /= MASH_DEBUG_TIME_DIVIDER self.inputs['Temperature'].test_temperature = MASH_DEBUG_INIT_TEMP self.current_hold_time = timedelta(seconds=seconds) cycle_time = float(self.inputs['Temperature'].cycle_time) if self.pid is None: self.pid = PID(None, self.current_set_temperature, cycle_time) else: self.pid = PID(self.pid.pid_params, self.current_set_temperature, cycle_time) self.resume_all_devices()