Files
brewpi/components/actor/heater_hendi.py
T
jens ddf8003f5c - refactored
- integrated stirrer
2020-12-17 16:28:50 +01:00

42 lines
995 B
Python

from components.aheater import AHeater
from hendiCtrl import HendiCtrl
class HeaterHendi(AHeater):
def __init__(self, params):
AHeater.__init__(self)
self.power_set = self.get_power_min()
self.is_active = False
self.power_eff = 0
self.hendi = HendiCtrl(params['port'], params['baudrate'])
def get_power_min(self):
caps = self.hendi.getCapabilties()
return caps['pwr_watts_min']
def get_power_max(self):
caps = self.hendi.getCapabilties()
return caps['pwr_watts_max']
def activate(self, enable):
self.is_active = enable
if enable:
self.hendi.setSwitch(1)
else:
self.hendi.setSwitch(0)
def is_activated(self):
s = self.hendi.getSwitch()
return '1' in s
def process(self):
power_eff = self.power_set if self.is_active else 0
self.hendi.setPowerWatts(power_eff)
def set_power(self, power):
self.power_set = max(self.get_power_min(), min(self.get_power_max(), power))
def get_power(self):
result = self.hendi.getPowerWatts()
return result