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