@ncd-io/node-red-enterprise-sensors 1.6.2 → 1.6.4
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 +74 -9
- package/package.json +1 -1
- package/wireless.html +20 -1
- package/wireless.js +3 -0
package/lib/WirelessGateway.js
CHANGED
|
@@ -2622,6 +2622,14 @@ module.exports = class WirelessSensor{
|
|
|
2622
2622
|
console.log(packet);
|
|
2623
2623
|
return this.config_send(sensor_mac, packet);
|
|
2624
2624
|
}
|
|
2625
|
+
config_set_calibration_factor_217(sensor_mac, value){
|
|
2626
|
+
console.log('config_set_calibration_factor_217');
|
|
2627
|
+
var packet = [244, 48, 0, 0, 0];
|
|
2628
|
+
let value_ = int2Bytes(value, 4);
|
|
2629
|
+
packet.push(...value_);
|
|
2630
|
+
console.log(packet);
|
|
2631
|
+
return this.config_send(sensor_mac, packet);
|
|
2632
|
+
}
|
|
2625
2633
|
config_get_delay(sensor_mac){
|
|
2626
2634
|
return new Promise((fulfill, reject) => {
|
|
2627
2635
|
this.config_send(sensor_mac, [247, 21, 0, 0, 0]).then((res) => {
|
|
@@ -10892,7 +10900,7 @@ function sensor_types(parent){
|
|
|
10892
10900
|
'111': {
|
|
10893
10901
|
name: 'Two Channel Vibration Plus v4',
|
|
10894
10902
|
parse: (payload, parsed, mac) => {
|
|
10895
|
-
|
|
10903
|
+
parsed.data = {};
|
|
10896
10904
|
if(payload[7] & 2){
|
|
10897
10905
|
parsed.data['probe_1_error'] = true;
|
|
10898
10906
|
}
|
|
@@ -14511,16 +14519,17 @@ function sensor_types(parent){
|
|
|
14511
14519
|
let unit = 'Lb';
|
|
14512
14520
|
switch(d[12]){
|
|
14513
14521
|
case 1:
|
|
14514
|
-
unit = '
|
|
14522
|
+
unit = 'Kg';
|
|
14515
14523
|
break;
|
|
14516
14524
|
case 2:
|
|
14517
|
-
unit = '
|
|
14525
|
+
unit = 'Lb';
|
|
14518
14526
|
break;
|
|
14519
14527
|
}
|
|
14520
14528
|
return{
|
|
14521
14529
|
weight: signInt(d.slice(8, 12).reduce(msbLsb), 32) / 100,
|
|
14522
14530
|
unit: unit,
|
|
14523
|
-
raw_adc: signInt(d.slice(13, 17).reduce(msbLsb), 32)
|
|
14531
|
+
raw_adc: signInt(d.slice(13, 17).reduce(msbLsb), 32),
|
|
14532
|
+
weight_factor_mult: signInt(d.slice(17, 21).reduce(msbLsb), 32)
|
|
14524
14533
|
}
|
|
14525
14534
|
}
|
|
14526
14535
|
else {
|
|
@@ -14530,7 +14539,63 @@ function sensor_types(parent){
|
|
|
14530
14539
|
}
|
|
14531
14540
|
},
|
|
14532
14541
|
'parse_fly': (frame) => {
|
|
14533
|
-
if(frame[2] >
|
|
14542
|
+
if(frame[2] > 5){
|
|
14543
|
+
let date = [
|
|
14544
|
+
String(frame.slice(20, 22).reduce(msbLsb)),
|
|
14545
|
+
String(frame[22]).padStart(2, '0'),
|
|
14546
|
+
String(frame[23]).padStart(2, '0')
|
|
14547
|
+
].join('-');
|
|
14548
|
+
let time = [
|
|
14549
|
+
String(frame[24]).padStart(2, '0'),
|
|
14550
|
+
String(frame[25]).padStart(2, '0'),
|
|
14551
|
+
String(frame[26]).padStart(2, '0')
|
|
14552
|
+
].join(':');
|
|
14553
|
+
let screen_on_time = "always_off";
|
|
14554
|
+
switch(frame[27]){
|
|
14555
|
+
case 0:
|
|
14556
|
+
screen_on_time = "always_off";
|
|
14557
|
+
break;
|
|
14558
|
+
case 255:
|
|
14559
|
+
screen_on_time = "always_on";
|
|
14560
|
+
break;
|
|
14561
|
+
default:
|
|
14562
|
+
screen_on_time = frame[27] + "Sec";
|
|
14563
|
+
break;
|
|
14564
|
+
}
|
|
14565
|
+
let unit = "Lb";
|
|
14566
|
+
switch(frame[28]){
|
|
14567
|
+
case 1:
|
|
14568
|
+
unit = "Lb";
|
|
14569
|
+
break;
|
|
14570
|
+
case 2:
|
|
14571
|
+
unit = "Kg";
|
|
14572
|
+
break;
|
|
14573
|
+
}
|
|
14574
|
+
return {
|
|
14575
|
+
'firmware': frame[2],
|
|
14576
|
+
'calibration_tare': frame.slice(12, 16).reduce(msbLsb),
|
|
14577
|
+
'tare_counter': frame.slice(16, 20).reduce(msbLsb),
|
|
14578
|
+
'timestamp': date + "T" + time,
|
|
14579
|
+
'screen_on_time': screen_on_time,
|
|
14580
|
+
'weight_unit': unit,
|
|
14581
|
+
'calibration_factor': frame.slice(29, 33).reduce(msbLsb),
|
|
14582
|
+
'hardware_id': frame.slice(33, 36),
|
|
14583
|
+
'report_rate': frame.slice(36, 40).reduce(msbLsb) + "Sec",
|
|
14584
|
+
'tx_life_counter': frame.slice(40, 44).reduce(msbLsb),
|
|
14585
|
+
'machine_values': {
|
|
14586
|
+
'firmware': frame[2],
|
|
14587
|
+
'calibration_tare': frame.slice(12, 16),
|
|
14588
|
+
'tare_counter': frame.slice(16, 20),
|
|
14589
|
+
'timestamp': date + "T" + time,
|
|
14590
|
+
'screen_on_time': screen_on_time,
|
|
14591
|
+
'weight_unit': unit,
|
|
14592
|
+
'calibration_factor': frame.slice(29, 33),
|
|
14593
|
+
'hardware_id': frame.slice(33, 36),
|
|
14594
|
+
'report_rate': frame.slice(36, 40),
|
|
14595
|
+
'tx_life_counter': frame.slice(40, 44)
|
|
14596
|
+
}
|
|
14597
|
+
}
|
|
14598
|
+
} else if(frame[2] > 4){
|
|
14534
14599
|
let date = [
|
|
14535
14600
|
String(frame.slice(20, 22).reduce(msbLsb)),
|
|
14536
14601
|
String(frame[22]).padStart(2, '0'),
|
|
@@ -14574,14 +14639,14 @@ function sensor_types(parent){
|
|
|
14574
14639
|
'tx_life_counter': frame.slice(36, 40).reduce(msbLsb),
|
|
14575
14640
|
'machine_values': {
|
|
14576
14641
|
'firmware': frame[2],
|
|
14577
|
-
'calibration_tare': frame.slice(12, 16)
|
|
14578
|
-
'tare_counter': frame.slice(16, 20)
|
|
14642
|
+
'calibration_tare': frame.slice(12, 16),
|
|
14643
|
+
'tare_counter': frame.slice(16, 20),
|
|
14579
14644
|
'timestamp': date + "T" + time,
|
|
14580
14645
|
'screen_on_time': screen_on_time,
|
|
14581
14646
|
'weight_unit': unit,
|
|
14582
14647
|
'hardware_id': frame.slice(29, 32),
|
|
14583
|
-
'report_rate': frame.slice(32, 36)
|
|
14584
|
-
'tx_life_counter': frame.slice(36, 40)
|
|
14648
|
+
'report_rate': frame.slice(32, 36),
|
|
14649
|
+
'tx_life_counter': frame.slice(36, 40)
|
|
14585
14650
|
}
|
|
14586
14651
|
}
|
|
14587
14652
|
}else if(frame[2] == 4){
|
package/package.json
CHANGED
package/wireless.html
CHANGED
|
@@ -967,7 +967,10 @@
|
|
|
967
967
|
threshold_under_strength_99: {value: 1, validate: NCD_validators.number_range(0, 65535)},
|
|
968
968
|
clean_sensor_99_active: {value:""},
|
|
969
969
|
reset_sensor_99_active: {value:""},
|
|
970
|
-
factory_reset_sensor_99_active: {value:""}
|
|
970
|
+
factory_reset_sensor_99_active: {value:""},
|
|
971
|
+
|
|
972
|
+
calibration_factor_217_active: {value:""},
|
|
973
|
+
calibration_factor_217: {value: 135, validate: NCD_validators.number_range(0, 500000)}
|
|
971
974
|
},
|
|
972
975
|
inputs: 0,
|
|
973
976
|
outputs: 1,
|
|
@@ -5526,6 +5529,22 @@
|
|
|
5526
5529
|
Default value: 5 seconds.
|
|
5527
5530
|
</p>
|
|
5528
5531
|
</div>
|
|
5532
|
+
<div class="form-row ncd-active-check">
|
|
5533
|
+
<div>
|
|
5534
|
+
<strong>Set Calibration Factor</strong>
|
|
5535
|
+
</div>
|
|
5536
|
+
<div>
|
|
5537
|
+
<label for="node-input-calibration_factor_217_active"><i class="icon-tag"></i>Active:</label>
|
|
5538
|
+
<input type="checkbox" id="node-input-calibration_factor_217_active" class="ncd-config-toggle" data-target-id="node-input-calibration_factor_217" value="1">
|
|
5539
|
+
</div>
|
|
5540
|
+
<div>
|
|
5541
|
+
<label for="node-input-calibration_factor_217"><i class="icon-tag"></i> Value</label>
|
|
5542
|
+
<input type="text" id="node-input-calibration_factor_217" placeholder="255" value="255">
|
|
5543
|
+
</div>
|
|
5544
|
+
<p class="caption">
|
|
5545
|
+
Default value: 135.
|
|
5546
|
+
</p>
|
|
5547
|
+
</div>
|
|
5529
5548
|
</div>
|
|
5530
5549
|
<div class="ncd-dependent" data-sensor-26>
|
|
5531
5550
|
<div class="form-row ncd-active-check">
|
package/wireless.js
CHANGED
|
@@ -3523,6 +3523,9 @@ module.exports = function(RED) {
|
|
|
3523
3523
|
if(config.weight_unit_217_active){
|
|
3524
3524
|
promises.weight_unit_217 = node.config_gateway.config_set_weight_unit_217(mac, parseInt(config.weight_unit_217));
|
|
3525
3525
|
}
|
|
3526
|
+
if(config.calibration_factor_217_active){
|
|
3527
|
+
promises.calibration_factor_217 = node.config_gateway.config_set_calibration_factor_217(mac, parseInt(config.calibration_factor_217));
|
|
3528
|
+
}
|
|
3526
3529
|
break;
|
|
3527
3530
|
case 270:
|
|
3528
3531
|
// if(config.do_read_rate_270_active){
|