Files
brewpi/components/actor/heater_hendi.py
T
2020-12-17 17:33:38 +01:00

42 lines
992 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['speed'])
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