@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.
@@ -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
- // parsed.data = {};
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 = 'Lb';
14522
+ unit = 'Kg';
14515
14523
  break;
14516
14524
  case 2:
14517
- unit = 'Kg';
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] > 4){
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).reduce(msbLsb),
14578
- 'tare_counter': frame.slice(16, 20).reduce(msbLsb),
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).reduce(msbLsb),
14584
- 'tx_life_counter': frame.slice(36, 40).reduce(msbLsb)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncd-io/node-red-enterprise-sensors",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
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){