diff --git a/pytec/pytec/gui/model/pid_autotuner.py b/pytec/pytec/gui/model/pid_autotuner.py index 22837cd..3973dbf 100644 --- a/pytec/pytec/gui/model/pid_autotuner.py +++ b/pytec/pytec/gui/model/pid_autotuner.py @@ -44,7 +44,8 @@ class PIDAutoTuner(QObject): async def stop_pid_from_running(self, ch): self.autotuners[ch].setOff() self.autotune_state_changed.emit(ch, self.autotuners[ch].state()) - await self._thermostat.set_param("pwm", ch, "i_set", 0) + if self._thermostat.connected(): + await self._thermostat.set_param("pwm", ch, "i_set", 0) @asyncSlot(list) async def tick(self, report): diff --git a/pytec/tec_qt.py b/pytec/tec_qt.py index b81c437..9cf00f6 100755 --- a/pytec/tec_qt.py +++ b/pytec/tec_qt.py @@ -152,11 +152,7 @@ class MainWindow(QtWidgets.QMainWindow): self.report_box.setChecked(False) for ch in range(self.NUM_CHANNELS): if self.autotuners.get_state(ch) != PIDAutotuneState.STATE_OFF: - if self.thermostat.connection_errored: - # Don't send any commands, just reset local state - self.autotuners.autotuners[ch].setOff() - else: - await self.autotuners.stop_pid_from_running(ch) + await self.autotuners.stop_pid_from_running(ch) @asyncSlot(int) async def on_report_box_stateChanged(self, enabled):