from components.aheater import AHeater class Heater(AHeater): def __init__(self): self.power = 0 self.power_last = -1 self.is_active = False self.power_changed_callback = None def connect_power_changed(self, func): self.power_changed_callback = func def get_power_min(self): return 500 def get_power_max(self): return 3500 def activate(self, enable): self.is_active = enable def process(self): if self.getPower() != self.power_last: if self.power_changed_callback is not None: self.power_changed_callback(self.getPower()) self.power_last = self.getPower() def setPower(self, power): self.power = power def getPower(self): if self.is_active: return self.power else: return 0