Skip to content
Snippets Groups Projects
Commit 1c226939 authored by jkerdreu's avatar jkerdreu
Browse files

Schedule discovery

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@2382 b32b6428-25c9-4566-ad07-03861ab6144f
parent f7031993
No related branches found
No related tags found
No related merge requests found
......@@ -43,11 +43,11 @@ class GW(object):
return None
def setup(self):
"""Start Aqara mutlicast receiver"""
#self.aqara = AqaraConnector()
"""Start Aqara mutlicast senders / receivers"""
self.aqara = AqaraConnector.spawn(self)
self.discovery = AqaraDiscovery.spawn(self)
self.disco = AqaraDiscovery.spawn(self)
# schedule a whois request every 2 min
self.engine.add_timer(self.disco.whois,120,-1)
def get_device(self,sid,model):
cfg = self.cfg['devices']
......
......@@ -4,6 +4,7 @@ from xaal.lib import network
import logging
import json
import gevent
import time
logger = logging.getLogger(__name__)
......@@ -36,6 +37,9 @@ class AqaraConnector(gevent.Greenlet):
self.gw.on_receive(pkt)
def now():
return time.time()
class AqaraDiscovery(gevent.Greenlet):
""" Aqara Hubs discovery."""
......@@ -54,13 +58,14 @@ class AqaraDiscovery(gevent.Greenlet):
logger.debug('JSON decoder Error %s' % buf)
return None
def discover(self):
def whois(self):
""" forge and send a whois packet"""
h = {"cmd":"whois"}
self.nc.send(json.dumps(h).encode('utf-8'))
def _run(self):
logger.info("AqaraDiscovery ready, let's discover")
self.discover()
self.whois()
while 1:
pkt = self.receive()
if pkt:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment