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
Branches
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.
Please register or to comment