projects
/
openhab-process.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Незначительные исправления в обработке строк
[openhab-process.git]
/
mqtt-bt
/
scan-beacons
diff --git
a/mqtt-bt/scan-beacons
b/mqtt-bt/scan-beacons
index 4f2a01cd31ed4ddb90ee4919a6ec3538cd3fd8a1..fd50f9d06acdbd83d3d93f78059b8bb5ca66f630 100644
(file)
--- 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", "")
function mqtt_encode(str)
if (str) then
str = string.gsub (str, "\n", "")
+ str = string.gsub (str, ":", "-")
str = string.gsub (str, "/", "-")
str = string.gsub (str, "/", "-")
+ str = string.gsub (str, " ", "_")
end
return str
end
function printLog(str)
if logging=="yes" then
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
else
print(str)
end
@@
-99,7
+101,7
@@
end
function mqtt_pub(path,value)
res=mqtt_client:publish(path,value)
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
return res
end
@@
-119,10
+121,14
@@
function process_packet(packet)
if type=='iBeacon' then
details=uuid
elseif name then
if type=='iBeacon' then
details=uuid
elseif name then
- type="name"
+ if not(type) then
+ type="name"
+ end
details=name
else
details=name
else
- type='unknown'
+ if not type then
+ type='unknown'
+ end
details=mac
end
details=mac
end
@@
-185,15
+191,21
@@
function read_loop()
value=split(value)[1]
end
packet[name]=value
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
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)
elseif starts(str,'RSSI:') then
inbound=false
process_packet(packet)
- packet={}
+ packet={}
end
end
end
end