Files
brewpi/components/actor/heater_hendi.py
T
2020-12-18 16:37:37 +01:00

44 lines
1.0 KiB
Python

from components.aheater import AHeater
from components.actor.hendiCtrl import HendiCtrl
class HeaterHendi(AHeater):
def __init__(self, params):
AHeater.__init__(self)
self.hendi = HendiCtrl(params['port'], params['speed'])
self.power_set = self.get_power_min()
self.power_eff = 0
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):
if enable:
self.hendi.remoteEnable(1)
else:
self.hendi.remoteEnable(0)
def is_activated(self):
s = self.hendi.isRemoteEnable()
return '1' in s
def process(self):
power = self.power_set
if power == 0:
self.hendi.setSwitch(0)
else:
self.hendi.setSwitch(1)
self.hendi.setPowerWatts(power)
self.power_eff = self.hendi.getPowerWatts() if self.hendi.getSwitch() == 1 else 0
def set_power(self, power):
self.power_set = min(self.get_power_max(), power)
def get_power(self):
return self.power_eff