X-Git-Url: https://git.rvb.name/openhab-process.git/blobdiff_plain/5b22968fed23a6b2f4438fbe344c52bea5143be7..e510b8ef776ca591d62fb19203e98e19d3d4fcda:/mqtt-bt/scan-beacons diff --git a/mqtt-bt/scan-beacons b/mqtt-bt/scan-beacons index 1709e93..f91e59c 100644 --- a/mqtt-bt/scan-beacons +++ b/mqtt-bt/scan-beacons @@ -22,7 +22,11 @@ function getConfig(configname) mqtt_passwd = cur.get(config,"mqtt","password") if mqtt_host and not mqtt_id then - mqtt_id="beaconmon" + socket = require("socket") + posix = require("posix") + hostname = socket.dns.gethostname() + pid = posix.getpid() + mqtt_id="beaconmon-"..hostname.."-"..pid end if mqtt_host and not mqtt_port then @@ -72,11 +76,12 @@ end function open_dump() - f = assert(io.popen ("hcidump --raw")) - run_command("kill `pgrep hcitool`") - run_command("hciconfig hci0 down") - run_command("hciconfig hci0 up") - f_null = assert(io.popen ("hcitool lescan --duplicates")) + run_command("/bin/kill `/usr/bin/pgrep hcidump`") + run_command("/bin/kill `/usr/bin/pgrep hcitool`") + f = assert(io.popen ("/usr/bin/hcidump --raw")) + run_command("/usr/bin/hciconfig hci0 down") + run_command("/usr/bin/hciconfig hci0 up") + f_null = assert(io.popen ("/usr/bin/hcitool lescan --duplicates --passive")) return f @@ -101,8 +106,9 @@ function trim(s) end function mqtt_pub(path,value) - printLog("Pub "..path.." "..value) - return mqtt_client:publish(path,value) + res=mqtt_client:publish(path,value) + printLog("Pub "..path.." "..value.." returned "..res); + return res end function process_packet(packet) @@ -135,12 +141,19 @@ function process_packet(packet) type="" mac=bytes[13]..':'..bytes[12]..':'..bytes[11]..':'..bytes[10]..':'..bytes[9]..':'..bytes[8] flags=bytes[14] - power=tonumber("0x"..bytes[len-1])-256 - tx=tonumber("0x"..bytes[len])-256 local j = 15 + tx=tonumber("0x"..bytes[len])-256 while j