From d80db46343bd57f9d7cff521480d6be2b827f3e8 Mon Sep 17 00:00:00 2001 From: jkerdreu <jkerdreu@b32b6428-25c9-4566-ad07-03861ab6144f> Date: Thu, 2 May 2019 13:27:50 +0000 Subject: [PATCH] Last version of the script git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/trunk@2185 b32b6428-25c9-4566-ad07-03861ab6144f --- scripts/btn_relay_labo.py | 51 ++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/scripts/btn_relay_labo.py b/scripts/btn_relay_labo.py index 2480ffef..a0891c76 100644 --- a/scripts/btn_relay_labo.py +++ b/scripts/btn_relay_labo.py @@ -1,8 +1,7 @@ -from xaal.lib import helpers +from xaal.lib import Engine from xaal.schemas import devices from xaal.monitor import Monitor import platform -import logging PKG_NAME = 'btn_relay_labo' @@ -10,12 +9,15 @@ LAMPS=['ccc44227-d4fc-46eb-8578-159e2c47da03','ccc44227-d4fc-46eb-8578-159e2c47d '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'] +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'] + +# Aquara sw1 +AQUARA=['1ec6bbd0-20b5-11e9-b352-a4badbf92500'] # 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'] +#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'] @@ -24,10 +26,9 @@ 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) ) + global mon engine = mon.dev.engine engine.send_request(dev,targets,action,body) @@ -43,14 +44,10 @@ def search_for_light(lamps): def on_off_light(lamps): if search_for_light(lamps): send(lamps,'off') + return False 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(): @@ -68,15 +65,35 @@ def handle_msg(msg): on_off_light(LAMPS) #send(SHUTERS,'stop') -def setup(engine): + if msg.source in AQUARA: + if on_off_light(LAMPS): + #send([SHUTERS[0],],'up') + #send([SHUTERS[1],],'up') + pass + else: + #send([SHUTERS[0],],'down') + #send([SHUTERS[1],],'down') + pass + + if msg.action == 'double_click': + if msg.source in AQUARA: + send([SHUTERS[0],],'stop') + send([SHUTERS[1],],'stop') + + +def main(): global dev global mon dev = devices.basic() dev.info = '%s@%s' % (PKG_NAME,platform.node()) + engine = Engine() engine.add_device(dev) engine.add_rx_handler(handle_msg) - mon = Monitor(dev,monitor_filter) - return True + mon = Monitor(dev) + engine.run() if __name__ == '__main__': - helpers.run_package(PKG_NAME,setup) \ No newline at end of file + try: + main() + except KeyboardInterrupt: + print('Bye bye') -- GitLab