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

Added missing labo script

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2184 b32b6428-25c9-4566-ad07-03861ab6144f
parent 146e4859
No related branches found
No related tags found
No related merge requests found
from xaal.lib import helpers
from xaal.schemas import devices
from xaal.monitor import Monitor
import platform
import logging
PKG_NAME = 'btn_relay_labo'
LAMPS=['ccc44227-d4fc-46eb-8578-159e2c47da03','ccc44227-d4fc-46eb-8578-159e2c47da04','ccc44227-d4fc-46eb-8578-159e2c47da05',
'ccc44227-d4fc-46eb-8578-159e2c47da06','ccc44227-d4fc-46eb-8578-159e2c47da07','ccc44227-d4fc-46eb-8578-159e2c47da08']
# Edisio labo
#BTNS=['743034ca-c2f0-11e8-9485-a40074bcb601','743034ca-c2f0-11e8-9485-a40074bcb603','743034ca-c2f0-11e8-9485-a40074bcb605',
# '743034ca-c2f0-11e8-9485-a40074bcb607','743034ca-c2f0-11e8-9485-a40074bcb608']
# Edisio bureau
BTNS = ['c4b33536-c314-11e8-a5d6-000673742b01','c4b33536-c314-11e8-a5d6-000673742b03','c4b33536-c314-11e8-a5d6-000673742b05',
'c4b33536-c314-11e8-a5d6-000673742b07','c4b33536-c314-11e8-a5d6-000673742b08']
SHUTERS=['e4b05165-be5d-46d5-acd0-4da7be1158ed','2fe70f46-3ece-44d1-af34-2d82e10fb854']
LAMPS_A = [LAMPS[0], LAMPS[2], LAMPS[5]]
LAMPS_B = [LAMPS[1], LAMPS[3], LAMPS[4]]
mon = None
logger = logging.getLogger(PKG_NAME)
def send(targets,action,body=None):
logger.debug('%s => %s' % (targets,action) )
engine = mon.dev.engine
engine.send_request(dev,targets,action,body)
def search_for_light(lamps):
for l in lamps:
dev = mon.devices.get_with_addr(l)
if dev:
light = dev.attributes.get('light',None)
if light:
return True
return False
def on_off_light(lamps):
if search_for_light(lamps):
send(lamps,'off')
else:
send(lamps,'on')
def monitor_filter(msg):
if msg.source in LAMPS + SHUTERS:
return True
return False
def handle_msg(msg):
if not msg.is_notify():
return
# search for the buttons
if msg.action == 'click':
if msg.source == BTNS[0]:
on_off_light(LAMPS_A)
if msg.source == BTNS[1]:
on_off_light(LAMPS_B)
# btn du milieu / on éteint tout
if msg.source == BTNS[2]:
on_off_light(LAMPS)
#send(SHUTERS,'stop')
def setup(engine):
global dev
global mon
dev = devices.basic()
dev.info = '%s@%s' % (PKG_NAME,platform.node())
engine.add_device(dev)
engine.add_rx_handler(handle_msg)
mon = Monitor(dev,monitor_filter)
return True
if __name__ == '__main__':
helpers.run_package(PKG_NAME,setup)
\ No newline at end of file
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