diff --git a/cli.js b/cli.js index 2bad60f8519c7172ff0d05f1e782df5a9b24c61c..34b50feda1bae20ab6eb1f8c5d55210e11fc7153 100755 --- a/cli.js +++ b/cli.js @@ -6,7 +6,14 @@ var augustctl = require('./index'); var config = require(process.env.AUGUSTCTL_CONFIG || './config.json'); -var op = process.argv[2]; +var whichLock = process.argv[2]; +if ( config.hasOwnProperty(whichLock) ) { + config = config[whichLock]; +} else { + throw new Error('invalid lock specified:' + whichLock); +} + +var op = process.argv[3]; if (typeof augustctl.Lock.prototype[op] !== 'function') { throw new Error('invalid operation: ' + op); } diff --git a/config.json b/config.json new file mode 100644 index 0000000000000000000000000000000000000000..c296b1e5b30d9d5f59ab1588078b848177a63264 --- /dev/null +++ b/config.json @@ -0,0 +1,12 @@ +{ + "front": { + "lockUuid": "abcdef012345", + "offlineKey": "ABCDEF0123456789ABCDEF0123456789", + "offlineKeyOffset": 1 + }, + "rear": { + "lockUuid": "abcdef456789", + "offlineKey": "ABCDEF0123456789ABCDEF0123456789", + "offlineKeyOffset": 1 + } +} diff --git a/lib/scan.js b/lib/scan.js index e2247d88d978b1f8517bdd6f4b4cc27397dda931..08ac46cb5b93035fb8e5b27610019ecf4aa37da6 100644 --- a/lib/scan.js +++ b/lib/scan.js @@ -13,7 +13,7 @@ function scan(uuid) { noble.on('stateChange', function(state) { if (state === 'poweredOn') { - noble.startScanning([ Lock.BLE_COMMAND_SERVICE ]); + noble.startScanning([ Lock.BLE_COMMAND_SERVICE ], true); } else { noble.stopScanning(); } @@ -23,7 +23,6 @@ function scan(uuid) { return new Promise(function(resolve) { noble.on('discover', function(peripheral) { if (uuid === undefined || peripheral.uuid === uuid) { - noble.stopScanning(); resolve(peripheral); } });