- fixed activated

This commit is contained in:
jens
2020-12-07 10:23:40 +01:00
parent df33398c2d
commit fd312fdff9
2 changed files with 7 additions and 3 deletions
+6 -3
View File
@@ -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)
+1
View File
@@ -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