diff --git a/panels/fan.py b/panels/fan.py index b4858904..e5cd6c1d 100644 --- a/panels/fan.py +++ b/panels/fan.py @@ -88,7 +88,9 @@ class FanPanel(ScreenPanel): def set_fan_on(self, widget, fanon): speed = 100 if fanon == True else 0 - self.labels["scale"].disconnect_by_func(self.select_fan_speed) - self.labels["scale"].set_value(speed) - self.labels["scale"].connect("value-changed", self.select_fan_speed) self._screen._ws.klippy.gcode_script(KlippyGcodes.set_fan_speed(speed)) + self.fan_speed = float(speed) + self.labels["scale"].disconnect_by_func(self.select_fan_speed) + self.labels["scale"].set_value(self.fan_speed) + self.labels["scale"].connect("value-changed", self.select_fan_speed) + self.cancel_select_fan_speed(widget)