diff --git a/src/octoprint/util/comm_acc.py b/src/octoprint/util/comm_acc.py index 025a6f16..83d6b82f 100644 --- a/src/octoprint/util/comm_acc.py +++ b/src/octoprint/util/comm_acc.py @@ -256,6 +256,15 @@ class MachineCom(object): if self._state == newState: return + if newState == self.STATE_PRINTING: + if self._temperature_timer is not None: + self._temperature_timer.cancel() + elif newState == self.STATE_OPERATIONAL: + if self._temperature_timer is not None: + self._temperature_timer.cancel() + self._temperature_timer = RepeatedTimer(1, self._poll_temperature, run_first=True) + self._temperature_timer.start() + if newState == self.STATE_CLOSED or newState == self.STATE_CLOSED_WITH_ERROR: if settings().get(["feature", "sdSupport"]): self._sdFileList = False