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

Use static group_id for HA.


git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@2971 b32b6428-25c9-4566-ad07-03861ab6144f
parent d8d916ba
No related branches found
No related tags found
No related merge requests found
......@@ -12,11 +12,6 @@ import time
PACKAGE_NAME = "xaal.edisio"
logger = logging.getLogger(PACKAGE_NAME)
def hex_to_str(data):
r = ""
for k in data:
r = r + '%02x ' % k
return r
def addr_to_str(addr):
r = ""
......@@ -37,7 +32,7 @@ class GW(gevent.Greenlet):
def config(self):
cfg = tools.load_cfg(PACKAGE_NAME)
if not cfg:
cfg= tools.new_cfg(PACKAGE_NAME)
cfg = tools.new_cfg(PACKAGE_NAME)
cfg['config']['port'] = '/dev/ttyUSB0'
cfg['config']['base_addr'] = str(tools.get_random_base_uuid())
logger.warn("Created an empty config file")
......@@ -109,33 +104,33 @@ class GW(gevent.Greenlet):
if self.filter(pkt):
addr = addr_to_str(pkt[3:7])
btn = int(pkt[7])
logger.debug("%s %s" % (addr,btn))
self.send_notif(addr,btn)
logger.debug("%s %s" % (addr, btn))
self.send_notif(addr, btn)
def send_notif(self,addr,btn):
def send_notif(self, addr, btn):
if addr not in self.devices.keys():
self.add_buttons(addr)
dev = self.devices[addr][btn-1]
if dev:
dev.send_notification('click')
def add_buttons(self,addr):
base_addr = self.cfg['config'].get('base_addr')
group_id = tools.get_random_uuid()
def add_buttons(self, addr):
base_addr = tools.get_uuid(self.cfg['config'].get('base_addr'))
group_id = base_addr + (int(addr, 16) << 8) + 0xff
l = []
addr_list = []
for i in range(0,8):
tmp = tools.get_uuid( base_addr+addr+'%02d'%(i+1) )
for i in range(0, 8):
tmp = base_addr + (int(addr, 16) << 8) + (i + 1)
btn = Device('button.basic',tmp)
btn.vendor_id = 'Edisio'
btn.product_id = 'Edision Switches'
btn.hw_id = 'Btn:%s/%s' % (addr,i)
btn.hw_id = 'Btn:%s/%s' % (addr, i)
btn.info = 'Edisio ' + btn.hw_id
btn.group_id = group_id
l.append(btn)
addr_list.append(btn.address)
self.engine.add_device(btn)
self.devices.update({addr:l})
self.devices.update({addr: l})
self.gw.attributes['embedded'] = self.gw.attributes['embedded'] + addr_list
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment