|
|
@@ -20,19 +20,27 @@ class Hysteresis(FermenterController): |
|
|
def run(self): |
|
|
def run(self): |
|
|
while self.is_running(): |
|
|
while self.is_running(): |
|
|
|
|
|
|
|
|
target_temp = self.get_target_temp() |
|
|
|
|
|
temp = self.get_temp() |
|
|
|
|
|
|
|
|
try: |
|
|
|
|
|
|
|
|
if temp + float(self.heater_offset_min) <= target_temp: |
|
|
|
|
|
self.heater_on(100) |
|
|
|
|
|
|
|
|
target_temp = self.get_target_temp() |
|
|
|
|
|
temp = self.get_temp() |
|
|
|
|
|
|
|
|
if temp + float(self.heater_offset_max) >= target_temp: |
|
|
|
|
|
self.heater_off() |
|
|
|
|
|
|
|
|
if target_temp is not None and temp is not None: |
|
|
|
|
|
|
|
|
if temp >= target_temp + float(self.cooler_offset_min): |
|
|
|
|
|
self.cooler_on(100) |
|
|
|
|
|
|
|
|
if temp + float(self.heater_offset_min) <= target_temp: |
|
|
|
|
|
self.heater_on(100) |
|
|
|
|
|
|
|
|
if temp <= target_temp + float(self.cooler_offset_max): |
|
|
|
|
|
self.cooler_off() |
|
|
|
|
|
|
|
|
if temp + float(self.heater_offset_max) >= target_temp: |
|
|
|
|
|
self.heater_off() |
|
|
|
|
|
|
|
|
|
|
|
if temp >= target_temp + float(self.cooler_offset_min): |
|
|
|
|
|
self.cooler_on(100) |
|
|
|
|
|
|
|
|
|
|
|
if temp <= target_temp + float(self.cooler_offset_max): |
|
|
|
|
|
self.cooler_off() |
|
|
|
|
|
|
|
|
|
|
|
except Exception as e: |
|
|
|
|
|
cbpi.notify("Fermentation Loop Stuck", "Please check the CraftBeerPi system.\r\nError %s" % (str(e)), type="danger", timeout=None) |
|
|
|
|
|
self.sleep(60) |
|
|
|
|
|
|
|
|
self.sleep(1) |
|
|
self.sleep(1) |