From: Roman Bazalevskiy Date: Wed, 17 Oct 2018 17:51:53 +0000 (+0300) Subject: Исправлена обработка параметров для iBeacon X-Git-Url: https://git.rvb.name/openhab-process.git/commitdiff_plain/7eec805bc0dd0e4c880f05cd176b3670e4ad3579?ds=inline Исправлена обработка параметров для iBeacon --- diff --git a/mqtt-bt/scan-beacons b/mqtt-bt/scan-beacons index a574f66..192539e 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 @@ -97,9 +99,13 @@ function trim(s) return (s:gsub("^%s*(.-)%s*$", "%1")) end +local function starts_with(str, start) + return str:sub(1, #start) == start +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 @@ -112,11 +118,13 @@ function process_packet(packet) local name mac = packet['Address'] - uuid = packet['uuid'] + uuid = packet['UUID'] type = packet['Type'] name = packet['Name (complete)'] - if type=='iBeacon' then + print(dump(packet)) + + if type and starts_with(type,'iBeacon') then details=uuid elseif name then if not(type) then