UNPKG

fibaro-beacon-scanner

Version:

Node.js beacon scanner based on noble that speaks to Fibaro

44 lines (34 loc) 1.12 kB
// Logger definition var winston = require('winston'); const logFormatter = function(options) { return options.timestamp() + ' [' + options.level.toUpperCase() + '] '+ (options.message ? options.message : '') + (options.meta && Object.keys(options.meta).length ? '\n\t'+ JSON.stringify(options.meta) : '' ); }; const timestamp = function() { return new Date().toLocaleString(); }; const logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)({ timestamp: timestamp, formatter: logFormatter, json: false, }) ] }); var noble = require('noble'); noble.on('stateChange', function(state) { if (state === 'poweredOn') { noble.startScanning([], true); } else { noble.stopScanning(); } }); var beaconToScan = {'name': 'Green', 'address':'d6feeec61549'}; noble.on('discover', function(beacon) { if (beacon.id === beaconToScan.address|| beacon.address === beaconToScan.address) { logger.log('info', beaconToScan.name + ' found - RSSI: ' + beacon.rssi); } });