Корректный под всеми системами отстрел всех лишних процессов при перезапуске. Требует...
[openhab-process.git] / mqtt-bt / scan-beacons
index fc11a48a28725831eed97366284b2ccf86be9716..210bcfbbf1c714cf37e8e4e69a10d1571d685696 100644 (file)
@@ -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,8 +113,8 @@ 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`")
+  run_command("/usr/bin/pkill btmon")
+  run_command("/usr/bin/pkill hcitool")
   f = assert(io.popen ("/usr/bin/stdbuf -o0 /usr/bin/btmon"))
   run_command("hciconfig hci0 down")
   run_command("hciconfig hci0 up")
@@ -149,6 +150,8 @@ function process_packet(packet)
   local type
   local name
 
+  packet['origin'] = hostname
+
   mac = packet['Address']
   uuid = packet['UUID']
   type = packet['Type']