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
Branches main
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