X-Git-Url: https://git.rvb.name/openhab-process.git/blobdiff_plain/b0a27fd834d3d715bef0947357fe908c3cad5ad7..f814617cb418b1557408bdd97eb265618a45b712:/mqtt-bt/scan-beacons diff --git a/mqtt-bt/scan-beacons b/mqtt-bt/scan-beacons index 4f2a01c..fd50f9d 100644 --- a/mqtt-bt/scan-beacons +++ b/mqtt-bt/scan-beacons @@ -55,14 +55,16 @@ end function mqtt_encode(str) if (str) then str = string.gsub (str, "\n", "") + str = string.gsub (str, ":", "-") str = string.gsub (str, "/", "-") + str = string.gsub (str, " ", "_") end return str end function printLog(str) if logging=="yes" then - capture("logger -t beaconmon "..str) + capture("logger -t beaconmon \""..str.."\"") else print(str) end @@ -99,7 +101,7 @@ end function mqtt_pub(path,value) res=mqtt_client:publish(path,value) - printLog("Pub "..path.." "..value.." returned "..res); + printLog("Pub "..path.." returned "..res); return res end @@ -119,10 +121,14 @@ function process_packet(packet) if type=='iBeacon' then details=uuid elseif name then - type="name" + if not(type) then + type="name" + end details=name else - type='unknown' + if not type then + type='unknown' + end details=mac end @@ -185,15 +191,21 @@ function read_loop() value=split(value)[1] end packet[name]=value + elseif #t==1 and name then + if not(packet[name..'.list']) then + packet[name..'.list']={} + end + table.insert(packet[name..'.list'],(trim(t[1]))) end end if starts(str,'> HCI Event: LE Meta Event (0x3e)') then inbound=true + name=nil elseif starts(str,'RSSI:') then inbound=false process_packet(packet) - packet={} + packet={} end end