07.08.2018, 11:46
(26.08.2016, 06:14)edgars Wrote: Here is Bluetooth device presence script which changes value of respective grp addresses based on Bluetooth device appearance.
Code:require('ble')
-- enable ble
ble.up()
list = {}
-- mac -> group address mapping
known = {
['88:0F:10:10:F2:8A'] = '1/1/1',
['88:0F:10:4A:2C:36'] = '1/1/2',
}
ctime = os.time()
function callback(addr)
local now, delta
now = os.time()
delta = now - ctime
if addr then
if not list[ addr ] then
log('BLE found ' .. addr)
if known[ addr ] then
grp.write(known[ addr ], true, dt.bool)
end
end
list[ addr ] = now
end
-- check for missing devices each 5 seconds
if delta < 0 or delta > 5 then
for addr, time in pairs(list) do
delta = now - time
if delta < 0 or delta > 60 then
log('BLE missing ' .. addr)
list[ addr ] = nil
if known[ addr ] then
grp.write(known[ addr ], false, dt.bool)
end
end
end
ctime = now
end
end
ble.scan(callback)
Where should i put that code? In Common Functions or in Resident script?
This code is executed once or like resident script?