sensorgauges
[svn42.git] / bridge-old-sensors-zmq.py
index 016c495..459d854 100755 (executable)
@@ -142,7 +142,8 @@ def trackSensorStatus(uwscfg, zmqsocket):
   global sshp, tracksensor_running
   RE_TEMP = re.compile(r'temp(\d): (\d+\.\d+)')
   RE_PHOTO = re.compile(r'photo(\d): [^0-9]*?(\d+)',re.I)
-  RE_MOVEMENT = re.compile(r'movement|button\d?|PanicButton',re.I)
+  RE_MOVEMENT = re.compile(r'movement',re.I)
+  RE_BUTTON = re.compile(r'button\d?|PanicButton',re.I)
   RE_ERROR = re.compile(r'Error: (.+)',re.I)
   while tracksensor_running:
     uwscfg.checkConfigUpdates()
@@ -170,6 +171,10 @@ def trackSensorStatus(uwscfg, zmqsocket):
         if len(line) < 1:
           raise Exception("EOF on Subprocess, daemon seems to have quit, returncode: %d",sshp.returncode)
         logging.debug("trackSensorStatus: Got Line: " + line)
+        m = RE_BUTTON.match(line)
+        if not m is None:
+          sendR3Message(zmqsocket, "BoreDoomButtonPressEvent", {"Ts":int(time.time())})
+          continue
         m = RE_MOVEMENT.match(line)
         if not m is None:
           sendR3Message(zmqsocket, "MovementSensorUpdate", {"Sensorindex":0, "Ts":int(time.time())})
@@ -217,7 +222,7 @@ def exitHandler(signum, frame):
     pass
   time.sleep(0.1)
   try:
-    zmqsub.close()
+    zmqpub.close()
     zmqctx.destroy()
   except:
     pass
@@ -245,7 +250,7 @@ zmqpub.connect("tcp://wuzzler.realraum.at:4243")
 #listen for sensor data and forward them
 trackSensorStatus(uwscfg, zmqpub)
 
-zmqsub.close()
+zmqpub.close()
 zmqctx.destroy()