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

Added Exception handling for wrong KNX Datagram

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2168 b32b6428-25c9-4566-ad07-03861ab6144f
parent 6979b994
No related branches found
No related tags found
No related merge requests found
from gevent import monkey; monkey.patch_all()
from gevent import monkey;monkey.patch_all()
import gevent
from xaal.lib import tools,Device,Engine
from .knxrouter import KNXConnector
from .knxrouter import KNXConnector,KNXcEMIException
from . import devices
import inspect
......@@ -13,7 +13,7 @@ PACKAGE_NAME = 'xaal.knx'
logger = logging.getLogger(PACKAGE_NAME)
def device_class_finder():
""" look trought the device module to find binding class"""
""" look trought the devices module to find binding class"""
BLACK_LIST = ['KNXDev','partial']
result = {}
dict_ = devices.__dict__
......@@ -50,7 +50,7 @@ class GW(gevent.Greenlet):
self.knx = KNXConnector(addr)
else:
self.knx = KNXConnector()
devs = self.cfg['devices']
devices_class = device_class_finder()
for k in devs:
......@@ -68,10 +68,13 @@ class GW(gevent.Greenlet):
l = [k.dev for k in self.devices]
self.engine.add_devices(l)
def _run(self):
while 1:
cemi = self.knx.receive()
try:
cemi = self.knx.receive()
except KNXcEMIException as e:
logger.warn("Wrong cemi frame: " +str(e))
cemi = None
if cemi:
logger.debug("Receing: %s" % cemi)
self.handle(cemi)
......@@ -94,6 +97,5 @@ class GW(gevent.Greenlet):
self.cfg.write()
def setup(eng):
logger.info('Starting %s' % PACKAGE_NAME)
GW.spawn(eng)
return True
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment