- fixed activated
This commit is contained in:
@@ -52,14 +52,15 @@ class HeaterTask(ATask):
|
||||
def __init__(self, heater: AHeater, interval, msg_handler: MsgIo):
|
||||
ATask.__init__(self, interval)
|
||||
|
||||
self.heater = heater
|
||||
self.interval = interval
|
||||
self.msg_handler = msg_handler
|
||||
msg_handler.set_recv_handler(self.recv)
|
||||
self.heater = heater
|
||||
|
||||
def actor(self, y):
|
||||
self.heater.setPower(max(0, 0 + self.heater.get_power_max() * y))
|
||||
|
||||
def on_changed_activated(self, is_activated):
|
||||
def on_changed_active(self, is_activated):
|
||||
asyncio.create_task(self.send({'Activate': int(is_activated)}))
|
||||
|
||||
def on_changed_power(self, power):
|
||||
@@ -80,8 +81,10 @@ class HeaterTask(ATask):
|
||||
print("{}: Started with interval {} s".format(self.msg_handler.get_key(), self.interval))
|
||||
await self.send({'Capabilities': {'Power': {'Min': self.heater.get_power_min(), 'Max': self.heater.get_power_max()}}})
|
||||
|
||||
self.heater.set_on_changed('is_activated', ChangedInteger(self.on_changed_activated).set)
|
||||
self.heater.set_on_changed('is_active', ChangedInteger(self.on_changed_active).set)
|
||||
self.heater.set_on_changed('power_eff', ChangedInteger(self.on_changed_power).set)
|
||||
self.heater.activate(False)
|
||||
|
||||
while True:
|
||||
self.heater.process()
|
||||
await asyncio.sleep(self.interval)
|
||||
|
||||
@@ -38,6 +38,7 @@ class ChangedInteger(object):
|
||||
self.value = initial
|
||||
|
||||
def set(self, value):
|
||||
value = round(value)
|
||||
has_changed = True
|
||||
if self.value is not None:
|
||||
has_changed = self.value != value
|
||||
|
||||
Reference in New Issue
Block a user