@ncd-io/node-red-enterprise-sensors 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/WirelessGateway.js +73 -31
- package/package.json +1 -1
package/lib/WirelessGateway.js
CHANGED
|
@@ -367,17 +367,17 @@ module.exports = class WirelessSensor{
|
|
|
367
367
|
default:
|
|
368
368
|
en_axis_data.increment = 0;
|
|
369
369
|
}
|
|
370
|
-
var fsr_mult = .
|
|
370
|
+
var fsr_mult = .000019;
|
|
371
371
|
var fsr_text = "";
|
|
372
372
|
switch(globalDevices[deviceAddr].fsr){
|
|
373
373
|
case 0:
|
|
374
|
-
fsr_mult = 0.
|
|
374
|
+
fsr_mult = 0.000019;
|
|
375
375
|
break;
|
|
376
376
|
case 1:
|
|
377
|
-
fsr_mult = 0.
|
|
377
|
+
fsr_mult = 0.000038;
|
|
378
378
|
break;
|
|
379
379
|
case 2:
|
|
380
|
-
fsr_mult = 0.
|
|
380
|
+
fsr_mult = 0.000076;
|
|
381
381
|
break;
|
|
382
382
|
}
|
|
383
383
|
switch(globalDevices[deviceAddr].fsr){
|
|
@@ -405,13 +405,13 @@ module.exports = class WirelessSensor{
|
|
|
405
405
|
fft_concat[label] = {};
|
|
406
406
|
|
|
407
407
|
if('x_offset' in en_axis_data){
|
|
408
|
-
fft_concat[label].x = parseFloat((signInt(((raw_data[i+en_axis_data.x_offset]<<8)+(raw_data[i+en_axis_data.x_offset+1])), 16)
|
|
408
|
+
fft_concat[label].x = parseFloat((signInt(((raw_data[i+en_axis_data.x_offset]<<8)+(raw_data[i+en_axis_data.x_offset+1])), 16)*fsr_mult).toFixed(5));
|
|
409
409
|
}
|
|
410
410
|
if('y_offset' in en_axis_data){
|
|
411
|
-
fft_concat[label].y = parseFloat((signInt(((raw_data[i+en_axis_data.y_offset]<<8)+(raw_data[i+en_axis_data.y_offset+1])), 16)
|
|
411
|
+
fft_concat[label].y = parseFloat((signInt(((raw_data[i+en_axis_data.y_offset]<<8)+(raw_data[i+en_axis_data.y_offset+1])), 16)*fsr_mult).toFixed(5));
|
|
412
412
|
}
|
|
413
413
|
if('z_offset' in en_axis_data){
|
|
414
|
-
fft_concat[label].z = parseFloat((signInt(((raw_data[i+en_axis_data.z_offset]<<8)+(raw_data[i+en_axis_data.z_offset+1])), 16)
|
|
414
|
+
fft_concat[label].z = parseFloat((signInt(((raw_data[i+en_axis_data.z_offset]<<8)+(raw_data[i+en_axis_data.z_offset+1])), 16)*fsr_mult).toFixed(5));
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
|
|
@@ -432,6 +432,7 @@ module.exports = class WirelessSensor{
|
|
|
432
432
|
en_axis: globalDevices[deviceAddr].en_axis,
|
|
433
433
|
odr: globalDevices[deviceAddr].odr,
|
|
434
434
|
device_temp: globalDevices[deviceAddr].device_temp,
|
|
435
|
+
fsr: globalDevices[deviceAddr].fsr,
|
|
435
436
|
data: fft_concat
|
|
436
437
|
};
|
|
437
438
|
if(firmware > 0){
|
|
@@ -1034,6 +1035,24 @@ module.exports = class WirelessSensor{
|
|
|
1034
1035
|
console.log(packet);
|
|
1035
1036
|
return this.config_send(sensor_mac, packet);
|
|
1036
1037
|
}
|
|
1038
|
+
config_clear_stored_calibration_65(sensor_mac){
|
|
1039
|
+
console.log('config_clear_stored_calibration_65');
|
|
1040
|
+
var packet = [244, 88, 0, 0, 65, 1];
|
|
1041
|
+
console.log(packet);
|
|
1042
|
+
return this.config_send(sensor_mac, packet);
|
|
1043
|
+
}
|
|
1044
|
+
config_atmospheric_calibration_command_65(sensor_mac){
|
|
1045
|
+
console.log('config_send_atmospheric_calibration_command_65');
|
|
1046
|
+
var packet = [244, 88, 0, 0, 65, 2];
|
|
1047
|
+
console.log(packet);
|
|
1048
|
+
return this.config_send(sensor_mac, packet);
|
|
1049
|
+
}
|
|
1050
|
+
config_calibrate_zero_point_65(sensor_mac){
|
|
1051
|
+
console.log('config_calibrate_zero_point_65');
|
|
1052
|
+
var packet = [244, 88, 0, 0, 65, 3];
|
|
1053
|
+
console.log(packet);
|
|
1054
|
+
return this.config_send(sensor_mac, packet);
|
|
1055
|
+
}
|
|
1037
1056
|
config_set_payload_length_80(sensor_mac, value){
|
|
1038
1057
|
console.log('config_set_payload_length_80');
|
|
1039
1058
|
var packet = [244, 79, 0, 0, 80, 68, value];
|
|
@@ -2257,25 +2276,42 @@ function sensor_types(parent){
|
|
|
2257
2276
|
},
|
|
2258
2277
|
'78': {
|
|
2259
2278
|
name: 'Oil Particulate Counter Sensor',
|
|
2260
|
-
parse: (d) => {
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
+
parse: (d, original_payload) => {
|
|
2280
|
+
if(original_payload[1] <= 3){
|
|
2281
|
+
return {
|
|
2282
|
+
ferro_particles_30_50_um: d.slice(0, 4).reduce(msbLsb)/100,
|
|
2283
|
+
ferro_particles_50_100_um: d.slice(4, 8).reduce(msbLsb)/100,
|
|
2284
|
+
ferro_particles_100_200_um: d.slice(8, 12).reduce(msbLsb)/100,
|
|
2285
|
+
ferro_particles_200_400_um: d.slice(12, 16).reduce(msbLsb)/100,
|
|
2286
|
+
ferro_particles_400_800_um: d.slice(16, 20).reduce(msbLsb)/100,
|
|
2287
|
+
ferro_particles_gt_800_um: d.slice(20, 24).reduce(msbLsb)/100,
|
|
2288
|
+
ferro_particles_total: d.slice(24, 28).reduce(msbLsb)/100,
|
|
2289
|
+
non_ferro_particles_120_200_um: d.slice(28, 32).reduce(msbLsb)/100,
|
|
2290
|
+
non_ferro_particles_200_400_um: d.slice(32, 36).reduce(msbLsb)/100,
|
|
2291
|
+
non_ferro_particles_400_800_um: d.slice(36, 40).reduce(msbLsb)/100
|
|
2292
|
+
};
|
|
2293
|
+
}else{
|
|
2294
|
+
return {
|
|
2295
|
+
ferro_particles_30_50_um: d.slice(0, 4).reduce(msbLsb)/100,
|
|
2296
|
+
ferro_particles_50_100_um: d.slice(4, 8).reduce(msbLsb)/100,
|
|
2297
|
+
ferro_particles_100_200_um: d.slice(8, 12).reduce(msbLsb)/100,
|
|
2298
|
+
ferro_particles_200_400_um: d.slice(12, 16).reduce(msbLsb)/100,
|
|
2299
|
+
ferro_particles_400_800_um: d.slice(16, 20).reduce(msbLsb)/100,
|
|
2300
|
+
ferro_particles_gt_800_um: d.slice(20, 24).reduce(msbLsb)/100,
|
|
2301
|
+
ferro_particles_total: d.slice(24, 28).reduce(msbLsb)/100,
|
|
2302
|
+
non_ferro_particles_120_200_um: d.slice(28, 32).reduce(msbLsb)/100,
|
|
2303
|
+
non_ferro_particles_200_400_um: d.slice(32, 36).reduce(msbLsb)/100,
|
|
2304
|
+
non_ferro_particles_400_800_um: d.slice(36, 40).reduce(msbLsb)/100,
|
|
2305
|
+
non_ferro_particles_800_1600_um: d.slice(40, 44).reduce(msbLsb)/100,
|
|
2306
|
+
non_ferro_particles_gt_1600_um: d.slice(44, 48).reduce(msbLsb)/100,
|
|
2307
|
+
non_ferro_particles_total: d.slice(48, 52).reduce(msbLsb)/100,
|
|
2308
|
+
ferro_particles_total_24h: d.slice(52, 56).reduce(msbLsb)/100,
|
|
2309
|
+
non_ferro_particles_total_24h: d.slice(56, 60).reduce(msbLsb)/100,
|
|
2310
|
+
ferro_concentration: d.slice(60, 64).reduce(msbLsb)/100,
|
|
2311
|
+
non_ferro_concentration: d.slice(64, 68).reduce(msbLsb)/100,
|
|
2312
|
+
flow: d.slice(68, 72).reduce(msbLsb)/100,
|
|
2313
|
+
};
|
|
2314
|
+
}
|
|
2279
2315
|
}
|
|
2280
2316
|
},
|
|
2281
2317
|
'79': {
|
|
@@ -2287,8 +2323,8 @@ function sensor_types(parent){
|
|
|
2287
2323
|
dialectric_constant: signInt(d.slice(8, 12).reduce(msbLsb), 32) / 100,
|
|
2288
2324
|
temperature: signInt(d.slice(12, 16).reduce(msbLsb), 32) / 100,
|
|
2289
2325
|
saturability: signInt(d.slice(16, 20).reduce(msbLsb), 32) / 100,
|
|
2290
|
-
|
|
2291
|
-
|
|
2326
|
+
moisture_content: signInt(d.slice(20, 24).reduce(msbLsb), 32) / 100,
|
|
2327
|
+
water_content: signInt(d.slice(24, 28).reduce(msbLsb), 32) / 100,
|
|
2292
2328
|
kinematic_viscosity_40c: signInt(d.slice(28, 32).reduce(msbLsb), 32) / 100,
|
|
2293
2329
|
kinematic_viscosity_100c: signInt(d.slice(32, 36).reduce(msbLsb), 32) / 100
|
|
2294
2330
|
};
|
|
@@ -5890,12 +5926,18 @@ function sensor_types(parent){
|
|
|
5890
5926
|
}
|
|
5891
5927
|
},
|
|
5892
5928
|
'521': {
|
|
5893
|
-
name: 'Type
|
|
5929
|
+
name: 'Type 521 - 3 Channel Light Sensor',
|
|
5894
5930
|
parse: (payload, parsed) => {
|
|
5895
5931
|
return {
|
|
5896
5932
|
lux_1: payload.slice(0, 2).reduce(msbLsb)/100,
|
|
5897
|
-
|
|
5898
|
-
|
|
5933
|
+
temp_1: payload.slice(2, 4).reduce(msbLsb)/100,
|
|
5934
|
+
ext_temp_1: payload.slice(4, 6).reduce(msbLsb)/100,
|
|
5935
|
+
lux_2: payload.slice(6, 8).reduce(msbLsb)/100,
|
|
5936
|
+
temp_2: payload.slice(8, 10).reduce(msbLsb)/100,
|
|
5937
|
+
ext_temp_2: payload.slice(10, 12).reduce(msbLsb)/100,
|
|
5938
|
+
lux_3: payload.slice(12, 14).reduce(msbLsb)/100,
|
|
5939
|
+
temp_3: payload.slice(14, 16).reduce(msbLsb)/100,
|
|
5940
|
+
ext_temp_3: payload.slice(16, 18).reduce(msbLsb)/100
|
|
5899
5941
|
}
|
|
5900
5942
|
}
|
|
5901
5943
|
},
|