Добавлены варианты протоколирования.
[openhab-process.git] / mqtt-bt / scan-beacons
index fd50f9d06acdbd83d3d93f78059b8bb5ca66f630..fcd3c207ebe7242050927fb280d95c088b93e077 100644 (file)
@@ -65,7 +65,10 @@ end
 function printLog(str)
   if logging=="yes" then
     capture("logger -t beaconmon \""..str.."\"")
 function printLog(str)
   if logging=="yes" then
     capture("logger -t beaconmon \""..str.."\"")
-  else 
+    print(str)  
+  elseif logging=="syslog" then
+    capture("logger -t beaconmon \""..str.."\"")
+  elseif logging=="stdout" then 
     print(str)  
   end 
 end
     print(str)  
   end 
 end
@@ -99,6 +102,10 @@ function trim(s)
   return (s:gsub("^%s*(.-)%s*$", "%1"))
 end
 
   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.." returned "..res);
 function mqtt_pub(path,value)
   res=mqtt_client:publish(path,value)
   printLog("Pub "..path.." returned "..res);
@@ -114,11 +121,13 @@ function process_packet(packet)
   local name
 
   mac = packet['Address']
   local name
 
   mac = packet['Address']
-  uuid = packet['uuid']
+  uuid = packet['UUID']
   type = packet['Type']
   name = packet['Name (complete)']
 
   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
     details=uuid
   elseif name then
     if not(type) then