X-Git-Url: https://git.rvb.name/openhab-process.git/blobdiff_plain/330b90fcb924e6fc6a25aef58ed1e56509709ada..HEAD:/mqtt-bt/scan-beacons 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