|  |  |  | 
|---|
|  |  |  | var p3 = this.toDec(fields[47]); | 
|---|
|  |  |  | var p4 = this.toDec(fields[48]); | 
|---|
|  |  |  | var fei = this.toDec(fields[58]); | 
|---|
|  |  |  | var ferval = this.toDec(fields[59]); | 
|---|
|  |  |  | //var ferval = this.toDec(fields[59]); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var feival = this.toDec(fields[71]) == 0 ? (this.toDec(fields[72]) * 256 + this.toDec(fields[73])) : -1 * (this.toDec(fields[72]) * 256 + this.toDec(fields[73])); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var t = this.toDec(fields[56]); | 
|---|
|  |  |  | var aqi = this.toDec(fields[60]) * 256 + this.toDec(fields[61]); //AQI | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var _config = global.configs[mac]; | 
|---|
|  |  |  | if(_config == null) { | 
|---|
|  |  |  | _config = { | 
|---|
|  |  |  | mac: mac, | 
|---|
|  |  |  | address: "江苏省昆山市摩瑞尔电器", | 
|---|
|  |  |  | location: { | 
|---|
|  |  |  | lat:31.430616, | 
|---|
|  |  |  | lng:120.988327 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | notice: { | 
|---|
|  |  |  | tel: "15950198162", | 
|---|
|  |  |  | email: "it01@moral.org.cn", | 
|---|
|  |  |  | open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU" | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | options: { | 
|---|
|  |  |  | 1: [1000, 2000, 3000], | 
|---|
|  |  |  | 2: [1000, 2000, 3000], | 
|---|
|  |  |  | 3: [1000, 2000, 3000], | 
|---|
|  |  |  | 4: [1000, 2000, 3000], | 
|---|
|  |  |  | 5: [1000, 2000, 3000] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | configs[mac] = _config; | 
|---|
|  |  |  | _config = config.ALARM_DEFAULTS; | 
|---|
|  |  |  | _config.mac = mac; | 
|---|
|  |  |  | global.configs[mac] = _config; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var current = moment(); | 
|---|
|  |  |  | 
|---|
|  |  |  | mac: mac, | 
|---|
|  |  |  | location: _config.location, | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | x0: ferval, | 
|---|
|  |  |  | x0: feival, | 
|---|
|  |  |  | x1: x1,  //PM2.5 - (单位:ppm) | 
|---|
|  |  |  | x2: x3,  //PM2.5 - 0.1升0.3um量 | 
|---|
|  |  |  | x3: x9,  //甲醛 | 
|---|
|  |  |  | x4: x11, //温度 | 
|---|
|  |  |  | x5: x10, //湿度 | 
|---|
|  |  |  | x6: x14  //光线强度 | 
|---|
|  |  |  | x6: x14,  //光线强度 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | mcu: mcu | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | options: _config.options, | 
|---|
|  |  |  | time: current.valueOf() | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var rank = 0; | 
|---|
|  |  |  | if(s > 0) { | 
|---|
|  |  |  | rank = this.random(1000, 99999);//this.random(1000, 99999999); | 
|---|
|  |  |  | rank = this.random(100200, 102000);//this.random(1000, 99999999); | 
|---|
|  |  |  | db.collection("device_ranks").insertOne({ | 
|---|
|  |  |  | mac: mac, | 
|---|
|  |  |  | rank: rank, | 
|---|
|  |  |  | 
|---|
|  |  |  | sensor_data.level = level; | 
|---|
|  |  |  | sensor_data.notice = _config.notice; | 
|---|
|  |  |  | sensor_data.address = _config.address; | 
|---|
|  |  |  | sensor_data.data = { 1: [x1, level1], 2: [x9, level2], 3: [x11, level3], 4: [x10, level4], 5: [x14, level5] }; | 
|---|
|  |  |  | sensor_data.data.levels = [level1, level2, level3, level4, level5]; | 
|---|
|  |  |  | queue.pushToMQ('ex_data_alarm', sensor_data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | module.exports.initConfigs = function(db) { | 
|---|
|  |  |  | var _address = config.ALARM_DEFAULTS.address; | 
|---|
|  |  |  | var _location = config.ALARM_DEFAULTS.location; | 
|---|
|  |  |  | var _options = config.ALARM_DEFAULTS.options; | 
|---|
|  |  |  | db.collection("devices").find().toArray(function(err, docs) { | 
|---|
|  |  |  | docs.forEach(function(doc) { | 
|---|
|  |  |  | var mac = doc.mac; | 
|---|
|  |  |  | var address = doc.address || ""; | 
|---|
|  |  |  | var location = doc.location || {}; | 
|---|
|  |  |  | var address = doc.address || _address; | 
|---|
|  |  |  | var location = doc.location || _location; | 
|---|
|  |  |  | var options = doc.options || _options; | 
|---|
|  |  |  | var notice = doc.notice; | 
|---|
|  |  |  | var options = doc.options; | 
|---|
|  |  |  | var config = { | 
|---|
|  |  |  | mac: mac, | 
|---|
|  |  |  | address: address, | 
|---|
|  |  |  | 
|---|
|  |  |  | var userID = doc.userID; | 
|---|
|  |  |  | db.collection("users").find({"_id": userID}).limit(1).next(function(err, user){ | 
|---|
|  |  |  | if(user) { | 
|---|
|  |  |  | config[notice] = { | 
|---|
|  |  |  | config["notice"] = { | 
|---|
|  |  |  | tel: user.username, | 
|---|
|  |  |  | email: user.email, | 
|---|
|  |  |  | open_id: user.open_id | 
|---|