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

Added addr autosaving

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@1991 b32b6428-25c9-4566-ad07-03861ab6144f
parent 5793b109
No related branches found
No related tags found
No related merge requests found
from xaal.schemas import devices
from xaal.lib import tools
from .bindings import funct
import logging
......@@ -12,10 +14,15 @@ class KNXDev:
self.gateway= gw
self.cfg = cfg
self.attributes_binding = {}
# search for xaal address, if None, the device will produce a new one
self.addr = cfg.get('addr',None)
if self.addr == None:
cfg['addr'] = self.addr = tools.get_random_uuid()
gw.save_config = True
self.dev = None
self.setup()
def setup(self):
logger.warn("Please define setup() in this device")
......
......@@ -6,6 +6,7 @@ from .knxrouter import KNXConnector
from . import devices
import inspect
import atexit
PACKAGE_NAME = 'xaal.knx'
logger = tools.get_logger(PACKAGE_NAME,'DEBUG')
......@@ -28,7 +29,8 @@ class GW(gevent.Greenlet):
gevent.Greenlet.__init__(self)
self.engine = engine
self.devices = []
self.save_config = False
atexit.register(self._exit)
self.config()
self.setup()
self.init()
......@@ -85,6 +87,10 @@ class GW(gevent.Greenlet):
for ga in dev.attributes_binding:
self.knx.read(ga)
def _exit(self):
if self.save_config:
logger.info('Saving configuration file')
self.cfg.write()
def setup(eng):
logger.info('Starting %s' % PACKAGE_NAME)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment