Избегаем "залипания" последнего сообщения в MQTT.
[openhab-process.git] / mqtt-bt / scan-beacons
index 0e0b701d483eab414041eafed53ad07d5bb2fec9..5512aa9a009aa3c03531ba19c217c41687e0e5a3 100644 (file)
@@ -98,10 +98,7 @@ end
 function printLog(str)
   if logging=="yes" then
     capture("logger -t beaconmon \""..str.."\"")
-    print(str)  
-  elseif logging=="syslog" then
-    capture("logger -t beaconmon \""..str.."\"")
-  elseif logging=="stdout" then 
+  else 
     print(str)  
   end 
 end
@@ -116,12 +113,10 @@ end
 
 function open_dump()
 
-  run_command("/usr/bin/pkill btmon")
-  run_command("/usr/bin/pkill hcitool")
-  f = assert(io.popen ("/usr/bin/stdbuf -o0 /usr/bin/btmon"))
+  f = assert(io.popen ("/usr/bin/btmon"))
   run_command("hciconfig hci0 down")
   run_command("hciconfig hci0 up")
-  f_null = assert(io.popen ("hcitool lescan --duplicates --passive"))
+  f_null = assert(io.popen ("hcitool lescan --duplicates"))
 
   return f
 
@@ -140,7 +135,7 @@ local function starts_with(str, start)
 end
 
 function mqtt_pub(path,value)
-  res=mqtt_client:publish(path,value)
+  res=mqtt_client:publish(path,value,0,false)
   printLog("Pub "..path.." returned "..res);
   return res
 end
@@ -188,7 +183,7 @@ function process_packet(packet)
         
     if not pcall(mqtt_pub,mqtt_path,dump(packet)) then
       printLog('Reconnecting MQTT...')
-      mqtt_client:connect(mqtt_id)
+      mqtt_client:connect(mqtt_host,mqtt_port)
     end
 
   end