|
- from modules import cbpi
- from modules.core.controller import KettleController, FermenterController
- from modules.core.props import Property
-
-
- @cbpi.fermentation_controller
- class Hysteresis(FermenterController):
-
- on = Property.Number("Offset On", True, 0)
- off = Property.Number("Offset Off", True, 0)
-
- def stop(self):
-
- super(FermenterController, self).stop()
- self.heater_off()
-
- def run(self):
- while self.is_running():
- print "Temp %s" % self.get_temp()
- if self.get_temp() < self.get_target_temp() - int(self.on):
- self.heater_on(100)
- elif self.get_temp() >= self.get_target_temp() - int(self.off):
- self.heater_off()
- else:
- self.heater_off()
- if self.get_temp() > self.get_target_temp() + int(self.on):
- self.cooler_on()
- elif self.get_temp() <= self.get_target_temp() + int(self.off):
- self.cooler_off()
- else:
- self.cooler_off()
- self.sleep(1)
|