- fixed activated
This commit is contained in:
@@ -52,14 +52,15 @@ class HeaterTask(ATask):
|
|||||||
def __init__(self, heater: AHeater, interval, msg_handler: MsgIo):
|
def __init__(self, heater: AHeater, interval, msg_handler: MsgIo):
|
||||||
ATask.__init__(self, interval)
|
ATask.__init__(self, interval)
|
||||||
|
|
||||||
|
self.heater = heater
|
||||||
|
self.interval = interval
|
||||||
self.msg_handler = msg_handler
|
self.msg_handler = msg_handler
|
||||||
msg_handler.set_recv_handler(self.recv)
|
msg_handler.set_recv_handler(self.recv)
|
||||||
self.heater = heater
|
|
||||||
|
|
||||||
def actor(self, y):
|
def actor(self, y):
|
||||||
self.heater.setPower(max(0, 0 + self.heater.get_power_max() * 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)}))
|
asyncio.create_task(self.send({'Activate': int(is_activated)}))
|
||||||
|
|
||||||
def on_changed_power(self, power):
|
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))
|
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()}}})
|
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.set_on_changed('power_eff', ChangedInteger(self.on_changed_power).set)
|
||||||
|
self.heater.activate(False)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
self.heater.process()
|
self.heater.process()
|
||||||
await asyncio.sleep(self.interval)
|
await asyncio.sleep(self.interval)
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class ChangedInteger(object):
|
|||||||
self.value = initial
|
self.value = initial
|
||||||
|
|
||||||
def set(self, value):
|
def set(self, value):
|
||||||
|
value = round(value)
|
||||||
has_changed = True
|
has_changed = True
|
||||||
if self.value is not None:
|
if self.value is not None:
|
||||||
has_changed = self.value != value
|
has_changed = self.value != value
|
||||||
|
|||||||
Reference in New Issue
Block a user