X-Git-Url: https://git.rvb.name/openhab-process.git/blobdiff_plain/330b90fcb924e6fc6a25aef58ed1e56509709ada..refs/heads/master:/mqtt-bt/scan-beacons?ds=inline

diff --git a/mqtt-bt/scan-beacons b/mqtt-bt/scan-beacons
index fc11a48..5512aa9 100644
--- a/mqtt-bt/scan-beacons
+++ b/mqtt-bt/scan-beacons
@@ -1,6 +1,7 @@
 #!/usr/bin/lua
 
 json = require("json")
+socket = require("socket")
 
 function getConfig(configname)
 
@@ -55,10 +56,10 @@ function getConfig(configname)
   
   end
 
+  hostname = socket.dns.gethostname()
   if mqtt_host and not mqtt_id then
     socket = require("socket")
     posix = require("posix")
-    hostname = socket.dns.gethostname()
     pid = posix.getpid()
     mqtt_id="beaconmon-"..hostname.."-"..pid
   end
@@ -112,12 +113,10 @@ end
 
 function open_dump()
 
-  run_command("/usr/bin/pgrep btmon && /bin/kill `/usr/bin/pgrep btmon`")
-  run_command("/usr/bin/pgrep btmon && /bin/kill `/usr/bin/pgrep 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
 
@@ -136,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
@@ -149,6 +148,8 @@ function process_packet(packet)
   local type
   local name
 
+  packet['origin'] = hostname
+
   mac = packet['Address']
   uuid = packet['UUID']
   type = packet['Type']
@@ -182,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