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:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253require('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?