- set power from slider

This commit is contained in:
jens
2020-11-25 10:09:28 +01:00
parent 4cde362642
commit 337ed1e5cd
3 changed files with 21 additions and 12 deletions
+9 -2
View File
@@ -4,9 +4,10 @@ import json
class MsgIo:
def __init__(self, key, send):
def __init__(self, key, send, send_from_thread):
self.key = key
self.sender = send
self.send_from_thread_cb = send_from_thread
self.receiver = None
def set_recv_handler(self, handler):
@@ -20,6 +21,9 @@ class MsgIo:
async def send(self, data):
return await self.sender({self.key: data})
def send_from_thread(self, data):
return self.send_from_thread_cb({self.key: data})
def can_key(self, key):
return self.key == key
@@ -50,9 +54,10 @@ class MessageDispatcher(IConnection):
self.state = None
self.state = asyncio.Queue(loop=loop)
self.auto_subscribe = auto_subscribe
self.loop = loop
def msgio_get(self, key):
obj = MsgIo(key, self.send)
obj = MsgIo(key, self.send, self.send_from_thread)
if key not in self.msg_handlers:
self.msg_handlers.append(obj)
return obj
@@ -81,3 +86,5 @@ class MessageDispatcher(IConnection):
async def send(self, data):
await self.state.put(data)
def send_from_thread(self, data):
asyncio.ensure_future(self.send(data), loop=self.loop)