projects
/
openhab-process.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Избегаем "залипания" последнего сообщения в MQTT.
[openhab-process.git]
/
mqtt-bt
/
scan-beacons
diff --git
a/mqtt-bt/scan-beacons
b/mqtt-bt/scan-beacons
index fc11a48a28725831eed97366284b2ccf86be9716..5512aa9a009aa3c03531ba19c217c41687e0e5a3 100644
(file)
--- a/
mqtt-bt/scan-beacons
+++ b/
mqtt-bt/scan-beacons
@@
-1,6
+1,7
@@
#!/usr/bin/lua
json = require("json")
#!/usr/bin/lua
json = require("json")
+socket = require("socket")
function getConfig(configname)
function getConfig(configname)
@@
-55,10
+56,10
@@
function getConfig(configname)
end
end
+ hostname = socket.dns.gethostname()
if mqtt_host and not mqtt_id then
socket = require("socket")
posix = require("posix")
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
pid = posix.getpid()
mqtt_id="beaconmon-"..hostname.."-"..pid
end
@@
-112,12
+113,10
@@
end
function open_dump()
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")
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
return f
@@
-136,7
+135,7
@@
local function starts_with(str, start)
end
function mqtt_pub(path,value)
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
printLog("Pub "..path.." returned "..res);
return res
end
@@
-149,6
+148,8
@@
function process_packet(packet)
local type
local name
local type
local name
+ packet['origin'] = hostname
+
mac = packet['Address']
uuid = packet['UUID']
type = packet['Type']
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...')
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
end
end