No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

35 líneas
1.1KB

  1. from modules import cbpi
  2. from modules.core.controller import KettleController, FermenterController
  3. from modules.core.props import Property
  4. @cbpi.fermentation_controller
  5. class Hysteresis(FermenterController):
  6. on = Property.Number("Offset On", True, 0)
  7. off = Property.Number("Offset Off", True, 0)
  8. def stop(self):
  9. super(FermenterController, self).stop()
  10. self.heater_off()
  11. self.cooler_off()
  12. def run(self):
  13. while self.is_running():
  14. print "Temp %s" % self.get_temp()
  15. if self.get_temp() < self.get_target_temp() - int(self.on):
  16. self.heater_on(100)
  17. elif self.get_temp() >= self.get_target_temp() - int(self.off):
  18. self.heater_off()
  19. else:
  20. self.heater_off()
  21. if self.get_temp() > self.get_target_temp() + int(self.on):
  22. self.cooler_on()
  23. elif self.get_temp() <= self.get_target_temp() + int(self.off):
  24. self.cooler_off()
  25. else:
  26. self.cooler_off()
  27. self.sleep(1)