Skip to content
Snippets Groups Projects
Commit 06b33d2e authored by jkerdreu's avatar jkerdreu
Browse files

Merging some code.

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2104 b32b6428-25c9-4566-ad07-03861ab6144f
parent 8799bdd9
Branches
No related tags found
No related merge requests found
......@@ -49,6 +49,17 @@ class GW(gevent.Greenlet):
cfg.write()
self.cfg = cfg
def add_device(self,sid,model,base_addr):
klass = find_device_class(model)
if klass:
dev = klass(sid,model,base_addr)
self.engine.add_devices(dev.devices)
self.devices.update({sid:dev})
return dev
else:
logger.info('Unsupported device %s/%s' % (model,sid))
return None
def setup(self):
self.aqara = AqaraConnector()
devs = self.cfg['devices']
......@@ -58,13 +69,9 @@ class GW(gevent.Greenlet):
base_addr = cfg.get('base_addr',None)
# TBD : Merge this w/ handle new device
if model and base_addr:
klass = find_device_class(model)
if klass:
dev = klass(sid,model,base_addr)
if model == 'gateway':
dev.secret = devs[sid].get('secret',None)
self.engine.add_devices(dev.devices)
self.devices.update({sid:dev})
dev = self.add_device(sid,model,base_addr)
if dev and model == 'gateway':
dev.secret = devs[sid].get('secret',None)
def _run(self):
while 1:
......@@ -81,16 +88,11 @@ class GW(gevent.Greenlet):
else:
model = pkt.get('model',None)
if not model:return
klass = find_device_class(model)
if klass:
base_addr = tools.get_random_uuid()[:-2]
dev = klass(sid,model,base_addr)
self.engine.add_devices(dev.devices)
self.devices.update({sid:dev})
base_addr = tools.get_random_uuid()[:-2]
dev = self.add_device(sid,model,base_addr)
if dev:
cfg = {'base_addr' : base_addr,'model':model}
self.cfg['devices'].update({sid:cfg})
else:
logger.info('Unsupported device %s/%s' % (model,sid))
if dev:
dev.parse(pkt)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment