@ncd-io/node-red-enterprise-sensors 1.0.6 → 1.0.7

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.
@@ -142,7 +142,7 @@ module.exports = class WirelessSensor{
142
142
  }
143
143
  }
144
144
  // #OTF
145
- var otf_devices = [23,26,39,45,48,52,58,76,78,79,80,81,82,84,88,89,90,91,101,102,105,106,107,108,110,111,112,114,180,181,519,520,521,531,535,537,538,539,540,1010,1011];
145
+ var otf_devices = [23,26,33,39,45,48,52,58,74,76,78,79,80,81,82,84,88,89,90,91,101,102,105,106,107,108,110,111,112,114,180,181,519,520,521,531,535,537,538,539,540,1010,1011];
146
146
  var device_type = msbLsb(frame.data[6], frame.data[7]);
147
147
  // var device_type = frame.data[7];
148
148
 
@@ -294,7 +294,7 @@ module.exports = class WirelessSensor{
294
294
  };
295
295
 
296
296
  // #OTF
297
- var otf_devices = [23,26,39,45,48,52,58,76,78,79,80,81,82,84,88,89,90,91,101,102,105,106,107,108,110,111,112,114,180,181,519,520,521,531,535,537,538,539,540,1010,1011];
297
+ var otf_devices = [23,26,33,39,45,48,52,58,74,76,78,79,80,81,82,84,88,89,90,91,101,102,105,106,107,108,110,111,112,114,180,181,519,520,521,531,535,537,538,539,540,1010,1011];
298
298
  if(otf_devices.includes(parsed.sensor_type)){
299
299
  // If the message says FLY and there is not FLY timer in progress.
300
300
  if(payload[8] == 70 && payload[9] == 76 && payload[10] == 89) {
@@ -712,7 +712,7 @@ module.exports = class WirelessSensor{
712
712
  data: payload.slice(8)
713
713
  };
714
714
  // #OTF
715
- }else if(parsed.sensor_type == 80 || parsed.sensor_type == 81 || parsed.sensor_type == 82 || parsed.sensor_type == 84 || parsed.sensor_type == 180 || parsed.sensor_type == 181 || parsed.sensor_type == 515 || parsed.sensor_type == 519 || parsed.sensor_type == 531 || parsed.sensor_type == 537 || parsed.sensor_type == 538){
715
+ }else if(parsed.sensor_type == 33 || parsed.sensor_type == 80 || parsed.sensor_type == 81 || parsed.sensor_type == 82 || parsed.sensor_type == 84 || parsed.sensor_type == 180 || parsed.sensor_type == 181 || parsed.sensor_type == 515 || parsed.sensor_type == 519 || parsed.sensor_type == 531 || parsed.sensor_type == 537 || parsed.sensor_type == 538){
716
716
  parsed.sensor_data = this.sensor_types[parsed.sensor_type].parse(payload, parsed, frame.mac);
717
717
  if(!parsed.sensor_data){
718
718
  return;
@@ -795,11 +795,26 @@ module.exports = class WirelessSensor{
795
795
  return this.config_send(sensor_mac, packet);
796
796
  }
797
797
  config_set_change_detection(sensor_mac, enabled, perc, interval){
798
+ console.log('config_set_change_detection_ch1');
798
799
  if(!perc) perc = 0;
799
800
  if(!interval) interval = 0;
800
801
  var packet = [247, 7, 0, 0, 0, enabled, perc, interval >> 16, (interval >> 8) & 255, interval & 255];
801
802
  return this.config_send(sensor_mac, packet);
802
803
  }
804
+ config_set_change_detection_ch2(sensor_mac, enabled, perc, interval){
805
+ console.log('config_set_change_detection_ch2');
806
+ if(!perc) perc = 0;
807
+ if(!interval) interval = 0;
808
+ var packet = [247, 8, 0, 0, 0, enabled, perc, interval >> 16, (interval >> 8) & 255, interval & 255];
809
+ return this.config_send(sensor_mac, packet);
810
+ }
811
+ config_set_change_detection_ch3(sensor_mac, enabled, perc, interval){
812
+ console.log('config_set_change_detection_ch3');
813
+ if(!perc) perc = 0;
814
+ if(!interval) interval = 0;
815
+ var packet = [247, 9, 0, 0, 0, enabled, perc, interval >> 16, (interval >> 8) & 255, interval & 255];
816
+ return this.config_send(sensor_mac, packet);
817
+ }
803
818
  config_set_bp_altitude(sensor_mac, alt){
804
819
  var packet = [244, 1, 0, 0, 0, alt >> 8, alt & 255];
805
820
  return this.config_send(sensor_mac, packet);
@@ -1219,6 +1234,12 @@ module.exports = class WirelessSensor{
1219
1234
  console.log(packet);
1220
1235
  return this.config_send(sensor_mac, packet);
1221
1236
  }
1237
+ config_set_push_notification_108(sensor_mac, value){
1238
+ console.log('config_set_push_notification_108');
1239
+ var packet = [244, 45, 0, 0, 0, value];
1240
+ console.log(packet);
1241
+ return this.config_send(sensor_mac, packet);
1242
+ }
1222
1243
  config_set_sensor_boot_time_420ma(sensor_mac, value){
1223
1244
  console.log('sensor_boot_time_420ma');
1224
1245
  var packet = [244, 68, 0, 0, 45, value];
@@ -1419,7 +1440,6 @@ module.exports = class WirelessSensor{
1419
1440
  }
1420
1441
  config_set_current_calibration_13(sensor_mac, calib){
1421
1442
  console.log('config_set_current_calibration_13');
1422
- calib = calib * 100;
1423
1443
  var packet = [244, 1, 0, 0, 0];
1424
1444
  var cal_val = int2Bytes(calib, 4);
1425
1445
  packet.push(...cal_val);
@@ -1428,7 +1448,6 @@ module.exports = class WirelessSensor{
1428
1448
  }
1429
1449
  config_set_current_calibration_ch2_19(sensor_mac, calib){
1430
1450
  console.log('config_set_current_calibration_ch2_19');
1431
- calib = calib * 100;
1432
1451
  var packet = [244, 3, 0, 0, 0];
1433
1452
  var cal_val = int2Bytes(calib, 4);
1434
1453
  packet.push(...cal_val);
@@ -1437,13 +1456,36 @@ module.exports = class WirelessSensor{
1437
1456
  }
1438
1457
  config_set_current_calibration_ch3_28(sensor_mac, calib){
1439
1458
  console.log('cconfig_set_current_calibration_ch3_28');
1440
- calib = calib * 100;
1441
1459
  var packet = [244, 5, 0, 0, 0];
1442
1460
  var cal_val = int2Bytes(calib, 4);
1443
1461
  packet.push(...cal_val);
1444
1462
  console.log(packet);
1445
1463
  return this.config_send(sensor_mac, packet);
1446
1464
  }
1465
+ config_set_current_calibration_13_dep(sensor_mac, calib){
1466
+ console.log('config_set_current_calibration_13_dep');
1467
+ var packet = [244, 1, 0, 0, 0];
1468
+ var cal_val = int2Bytes(calib, 2);
1469
+ packet.push(...cal_val);
1470
+ console.log(packet);
1471
+ return this.config_send(sensor_mac, packet);
1472
+ }
1473
+ config_set_current_calibration_ch2_19_dep(sensor_mac, calib){
1474
+ console.log('config_set_current_calibration_ch2_19_dep');
1475
+ var packet = [244, 3, 0, 0, 0];
1476
+ var cal_val = int2Bytes(calib, 2);
1477
+ packet.push(...cal_val);
1478
+ console.log(packet);
1479
+ return this.config_send(sensor_mac, packet);
1480
+ }
1481
+ config_set_current_calibration_ch3_28_dep(sensor_mac, calib){
1482
+ console.log('cconfig_set_current_calibration_ch3_28_dep');
1483
+ var packet = [244, 5, 0, 0, 0];
1484
+ var cal_val = int2Bytes(calib, 2);
1485
+ packet.push(...cal_val);
1486
+ console.log(packet);
1487
+ return this.config_send(sensor_mac, packet);
1488
+ }
1447
1489
  config_set_rx485_timeout_1011(sensor_mac, value){
1448
1490
  console.log('config_set_Rx485_timeout_1011');
1449
1491
  var packet = [244, 48, 0, 0, 23, value];
@@ -1464,6 +1506,24 @@ module.exports = class WirelessSensor{
1464
1506
  console.log(packet);
1465
1507
  return this.config_send(sensor_mac, packet);
1466
1508
  }
1509
+ config_set_stop_bit_1011(sensor_mac, value){
1510
+ console.log('config_set_stop_bit_1011');
1511
+ var packet = [244, 34, 0, 0, 23, value];
1512
+ console.log(packet);
1513
+ return this.config_send(sensor_mac, packet);
1514
+ }
1515
+ config_set_parity_1011(sensor_mac, value){
1516
+ console.log('config_set_parity_1011');
1517
+ var packet = [244, 33, 0, 0, 23, value];
1518
+ console.log(packet);
1519
+ return this.config_send(sensor_mac, packet);
1520
+ }
1521
+ config_set_reboot_1011(sensor_mac){
1522
+ console.log('config_set_reboot_1011');
1523
+ var packet = [247, 64, 0, 0, 0, 5, 22, 23];
1524
+ console.log(packet);
1525
+ return this.config_send(sensor_mac, packet);
1526
+ }
1467
1527
  config_set_operation_mode_531(sensor_mac, mode){
1468
1528
  console.log('config_set_operation_mode_531');
1469
1529
  console.log(mode);
@@ -1471,6 +1531,38 @@ module.exports = class WirelessSensor{
1471
1531
  console.log(packet);
1472
1532
  return this.config_send(sensor_mac, packet);
1473
1533
  }
1534
+ config_set_calibration_58(sensor_mac){
1535
+ console.log('config_set_calibration_58');
1536
+ var packet = [244, 32, 0, 0, 23];
1537
+ console.log(packet);
1538
+ return this.config_send(sensor_mac, packet);
1539
+ }
1540
+ config_set_factory_reset_tank_probe_58(sensor_mac){
1541
+ console.log('config_set_factory_reset_tank_probe_58');
1542
+ var packet = [244, 33, 0, 0, 23];
1543
+ console.log(packet);
1544
+ return this.config_send(sensor_mac, packet);
1545
+ }
1546
+ config_set_max_range_58(sensor_mac, value){
1547
+ console.log('config_set_max_range_58');
1548
+ var packet = [244, 34, 0, 0, 23, 39, 16];
1549
+ var max = int2Bytes(value, 2);
1550
+ packet.push(...max);
1551
+ console.log(packet);
1552
+ return this.config_send(sensor_mac, packet);
1553
+ }
1554
+ config_set_clear_counter_33(sensor_mac){
1555
+ console.log('config_clear_counter_33');
1556
+ var packet = [244, 36, 0, 0, 0, 31];
1557
+ console.log(packet);
1558
+ return this.config_send(sensor_mac, packet);
1559
+ }
1560
+ config_set_push_notification_33(sensor_mac, value){
1561
+ console.log('config_set_push_notification_33');
1562
+ var packet = [244, 45, 0, 0, 0, value];
1563
+ console.log(packet);
1564
+ return this.config_send(sensor_mac, packet);
1565
+ }
1474
1566
  config_get_delay(sensor_mac){
1475
1567
  return new Promise((fulfill, reject) => {
1476
1568
  this.config_send(sensor_mac, [247, 21, 0, 0, 0]).then((res) => {
@@ -2350,9 +2442,18 @@ function sensor_types(parent){
2350
2442
  },
2351
2443
  '33': {
2352
2444
  name: 'AC Current Detect Sensor',
2353
- parse: (d) => {
2354
- return {
2355
- input_1: d[0]
2445
+ parse: (payload, parsed, mac) => {
2446
+ if(parsed.firmware > 3){
2447
+ return {
2448
+ input_1: payload[8],
2449
+ current_detect: payload[9],
2450
+ total_uptime: payload.slice(10, 14).reduce(msbLsb),
2451
+ total_cycle_count: payload.slice(14, 18).reduce(msbLsb)
2452
+ };
2453
+ }else{
2454
+ return {
2455
+ input_1: payload[8]
2456
+ };
2356
2457
  };
2357
2458
  }
2358
2459
  },
@@ -2673,12 +2774,13 @@ function sensor_types(parent){
2673
2774
  filtered_range: d.slice(0, 2).reduce(msbLsb),
2674
2775
  long_range_algorithm: d.slice(2, 4).reduce(msbLsb),
2675
2776
  second_chance: d.slice(4, 6).reduce(msbLsb),
2676
- copare_reading: d.slice(6, 8).reduce(msbLsb),
2677
- short_range_algorithm: d.slice(8, 10).reduce(msbLsb),
2678
- trusted_reading: d.slice(10, 12).reduce(msbLsb),
2679
- final_filter: d.slice(12, 14).reduce(msbLsb),
2680
- raw_final: d.slice(14, 16).reduce(msbLsb),
2681
- final_index: d.slice(16, 18).reduce(msbLsb),
2777
+ second_reading: d.slice(6, 8).reduce(msbLsb),
2778
+ compare_reading: d.slice(8, 10).reduce(msbLsb),
2779
+ short_range_algorithm: d.slice(10, 12).reduce(msbLsb),
2780
+ trusted_reading: d.slice(12, 14).reduce(msbLsb),
2781
+ final_filter: d.slice(14, 16).reduce(msbLsb),
2782
+ raw_final: d.slice(16, 18).reduce(msbLsb),
2783
+ final_index: d.slice(18, 20).reduce(msbLsb),
2682
2784
  };
2683
2785
  }
2684
2786
  },
@@ -2813,6 +2915,22 @@ function sensor_types(parent){
2813
2915
  };
2814
2916
  }
2815
2917
  },
2918
+ '74': {
2919
+ name: 'Wireless Temp Humidity Pressure Air quality Sensor',
2920
+ parse: (d) => {
2921
+ return {
2922
+ temperature: signInt(d.slice(0, 2).reduce(msbLsb), 16) *100,
2923
+ pressure: d.slice(2, 6).reduce(msbLsb) * 100,
2924
+ humidity: d.slice(6, 10).reduce(msbLsb) * 1000,
2925
+ resistance: d.slice(10, 14).reduce(msbLsb),
2926
+ iaq: d.slice(14, 16).reduce(msbLsb),
2927
+ co2_eqv: d.slice(16, 18).reduce(msbLsb),
2928
+ breath_voc: d.slice(18, 22).reduce(msbLsb)* 100,
2929
+ static_iaq: d.slice(22, 26).reduce(msbLsb)* 100,
2930
+ iaq_accuracy: d[27]
2931
+ };
2932
+ }
2933
+ },
2816
2934
  '75': {
2817
2935
  name: 'Siemens Air Velocity Probe',
2818
2936
  parse: (d) => {
@@ -4294,6 +4412,7 @@ function sensor_types(parent){
4294
4412
  'destination_address': toMac(frame.slice(12, 16)),
4295
4413
  'mode': frame_data.mode,
4296
4414
  'odr_1': frame_data.odr_1+'Hz',
4415
+ 'odr_2': frame_data.odr_2+'Hz',
4297
4416
  'sampling_duration_1': frame_data.sampling_duration_1,
4298
4417
  'sampling_duration_2': frame_data.sampling_duration_2,
4299
4418
  'filter_status': frame_data.filter_status,
@@ -4314,6 +4433,7 @@ function sensor_types(parent){
4314
4433
  'destination_address': toMac(frame.slice(12, 16), false),
4315
4434
  'mode': frame[16],
4316
4435
  'odr_1': frame[17],
4436
+ 'odr_2': frame[18],
4317
4437
  'sampling_duration_1': frame[19],
4318
4438
  'sampling_duration_2': frame[20],
4319
4439
  'filter_status': frame[21],
@@ -5704,7 +5824,8 @@ function sensor_types(parent){
5704
5824
  accelerometer_counter: d.slice(24, 28).reduce(msbLsb),
5705
5825
  accelerometer_uptime: d.slice(28, 32).reduce(msbLsb),
5706
5826
  magnetometer_counter: d.slice(32, 36).reduce(msbLsb),
5707
- magnetometer_uptime: d.slice(36, 40).reduce(msbLsb)
5827
+ magnetometer_uptime: d.slice(36, 40).reduce(msbLsb),
5828
+ io_states: d[40]
5708
5829
  };
5709
5830
  }
5710
5831
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncd-io/node-red-enterprise-sensors",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/wireless.html CHANGED
@@ -201,14 +201,31 @@
201
201
  change_pr: {value: "0", validate: NCD_validators.number_range(0, 255)},
202
202
  change_interval: {value: "0", validate: NCD_validators.number_range(0, 16712198)},
203
203
 
204
+ change_detection_ch2_active: {value: ""},
205
+ change_enabled_ch2: {value: ""},
206
+ change_pr_ch2: {value: "0", validate: NCD_validators.number_range(0, 255)},
207
+ change_interval_ch2: {value: "0", validate: NCD_validators.number_range(0, 16712198)},
208
+
209
+ change_detection_ch3_active: {value: ""},
210
+ change_enabled_ch3: {value: ""},
211
+ change_pr_ch3: {value: "0", validate: NCD_validators.number_range(0, 255)},
212
+ change_interval_ch3: {value: "0", validate: NCD_validators.number_range(0, 16712198)},
213
+
214
+
204
215
  current_calibration_13_active: {value: ""},
205
- current_calibration_13: {value: "606", validate: NCD_validators.number_range(0, 42949672)},
216
+ current_calibration_13: {value: "60600", validate: NCD_validators.number_range(0, 42949672)},
217
+ current_calibration_13_dep_active: {value: ""},
218
+ current_calibration_13_dep: {value: "60600", validate: NCD_validators.number_range(0, 65535)},
206
219
 
207
220
  current_calibration_ch2_19_active: {value: ""},
208
- current_calibration_ch2_19: {value: "606", validate: NCD_validators.number_range(0, 42949672)},
221
+ current_calibration_ch2_19: {value: "60600", validate: NCD_validators.number_range(0, 42949672)},
222
+ current_calibration_ch2_19_dep_active: {value: ""},
223
+ current_calibration_ch2_19_dep: {value: "60600", validate: NCD_validators.number_range(0, 65535)},
209
224
 
210
225
  current_calibration_ch3_28_active: {value: ""},
211
- current_calibration_ch3_28: {value: "606", validate: NCD_validators.number_range(0, 42949672)},
226
+ current_calibration_ch3_28: {value: "60600", validate: NCD_validators.number_range(0, 42949672)},
227
+ current_calibration_ch3_28_dep_active: {value: ""},
228
+ current_calibration_ch3_28_dep: {value: "60600", validate: NCD_validators.number_range(0, 65535)},
212
229
 
213
230
  bp_altitude: {value: "0", validate: NCD_validators.number_range(0, 65535)},
214
231
  bp_pressure: {value: "0", validate: NCD_validators.number_range(0, 14000)},
@@ -484,8 +501,26 @@
484
501
  auto_address_timeout_1011:{value:0, validate: NCD_validators.number_range(0, 65534)},
485
502
 
486
503
  mode_531_active: {value: ""},
487
- mode_531: {value: 0}
504
+ mode_531: {value: 0},
505
+
506
+ max_range_58_active:{value: ""},
507
+ max_range_58: {value: 0, validate: NCD_validators.number_range(0, 16500)},
508
+ calibration_58: {value: 0},
509
+ factory_reset_tank_probe_58:{value:0},
488
510
 
511
+ push_notification_108_active:{value: ""},
512
+ push_notification_108: {value: 0},
513
+ push_notification_33_active:{value: ""},
514
+ push_notification_33:{value: 0},
515
+ clear_counter_33:{value:0},
516
+
517
+ stop_bit_1011_active:{value: ""},
518
+ stop_bit_1011:{value:0},
519
+
520
+ set_parity_1011_active:{value: ""},
521
+ set_parity_1011:{value:0},
522
+
523
+ reboot_1011:{value:0}
489
524
  },
490
525
  inputs: 0,
491
526
  outputs: 1,
@@ -560,6 +595,7 @@
560
595
  // "70": "70 - 2 Channel Soil Moisture Temperature and EC Sensor",
561
596
  "71": "71 - 3 Channel Soil Moisture Temperature and EC Sensor",
562
597
  "72": "72 - SDI Soil Moisture Temperature Moisture Probe",
598
+ "74": "74 - Wireless Temp Humidity Pressure Air quality Sensor",
563
599
  "75": "75 - Siemens Air Velocity Probe",
564
600
  "76": "76 - Wireless CO Gas Sensor",
565
601
  "77": "77 - 3 Channel SDI Soil Moisture Temperature Moisture Probe",
@@ -635,7 +671,7 @@
635
671
  $('#node-input-number_of_regs_to_rd_539').change(function(){
636
672
  let registers = $(this).val();
637
673
  $('#register_list_539 > div:nth-child(-n+'+registers+')').show();
638
- $('#register_list_539 > div:nth-last-child(-n+'+(10-registers)+')').hide();
674
+ $('#register_list_539 > div:nth-last-child(-n+'+(32-registers)+')').hide();
639
675
  });
640
676
  // $('#node-input-number_of_regs_to_rd_539_active').change(function(){
641
677
  // if($(this).prop('checked')){
@@ -851,6 +887,7 @@
851
887
  -->
852
888
  <option value="71">71 - 3 Channel Soil Moisture Temperature and EC Sensor</option>
853
889
  <option value="72">72 - SDI-12 Wireless</option>
890
+ <option value="74">74 - Wireless Temp Humidity Pressure Air quality Sensor</option>
854
891
  <option value="75">75 - Siemens Air Velocity Probe</option>
855
892
  <option value="76">76 - Wireless CO Gas Sensor</option>
856
893
  <option value="77">77 - 3 Channel SDI Soil Moisture Temperature Moisture Probe</option>
@@ -912,7 +949,7 @@
912
949
  <label for="node-input-auto_config"><i class="icon-tag"></i> Auto Config</label>
913
950
  <input class="section-control" type="checkbox" id="node-input-auto_config" value="1">
914
951
  </div>
915
- <div class="form-row ncd-dependent" data-sensor-23 data-sensor-26 data-sensor-39 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-58 data-sensor-76 data-sensor-78 data-sensor-79 data-sensor-80 data-sensor-81 data-sensor-82 data-sensor-84 data-sensor-88 data-sensor-89 data-sensor-90 data-sensor-91 data-sensor-101 data-sensor-102 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-108 data-sensor-110 data-sensor-111 data-sensor-112 data-sensor-114 data-sensor-180 data-sensor-181 data-sensor-519 data-sensor-520 data-sensor-521 data-sensor-531 data-sensor-535 data-sensor-537 data-sensor-538 data-sensor-539 data-sensor-540 data-sensor-1010 data-sensor-1011>
952
+ <div class="form-row ncd-dependent" data-sensor-23 data-sensor-26 data-sensor-33 data-sensor-39 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-58 data-sensor-74 data-sensor-76 data-sensor-78 data-sensor-79 data-sensor-80 data-sensor-81 data-sensor-82 data-sensor-84 data-sensor-88 data-sensor-89 data-sensor-90 data-sensor-91 data-sensor-101 data-sensor-102 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-108 data-sensor-110 data-sensor-111 data-sensor-112 data-sensor-114 data-sensor-180 data-sensor-181 data-sensor-519 data-sensor-520 data-sensor-521 data-sensor-531 data-sensor-535 data-sensor-537 data-sensor-538 data-sensor-539 data-sensor-540 data-sensor-1010 data-sensor-1011>
916
953
  <hr>
917
954
  <label for="node-input-on_the_fly_enable"><i class="icon-tag"></i> OTF Config*</label>
918
955
  <input type="checkbox" id="node-input-on_the_fly_enable" value="1">
@@ -1006,69 +1043,168 @@
1006
1043
  <input type="text" id="node-input-retries">
1007
1044
  </div>
1008
1045
  </div>
1009
- <div class="ncd-dependent" data-sensor-3 data-sensor-10 data-sensor-13>
1010
- <div class="form-row ncd-active-check">
1011
- <strong>Percentage Change Detection</strong>
1012
- <div>
1013
- <label for="node-input-change_detection_t3_active">Active:</label>
1014
- <input type="checkbox" id="node-input-change_detection_t3_active" class="ncd-config-toggle" data-target-class="change_detection_t3" value="1">
1015
- </div>
1016
- <div class="form-row">
1017
- <label for="node-input-change_enabled"><i class="icon-tag"></i>Enable:</label>
1018
- <input type="checkbox" id="node-input-change_enabled" class="change_detection_t3" value="1">
1019
- </div>
1020
- <div class="form-row">
1021
- <label for="node-input-change_pr"><i class="icon-tag"></i>Percentage Change Threshold (0-255)</label>
1022
- <input type="text" id="node-input-change_pr" class="change_detection_t3">
1023
- </div>
1024
- <div class="form-row">
1025
- <label for="node-input-change_interval"><i class="icon-tag"></i>Percentage Change Interval (seconds)</label>
1026
- <input type="text" id="node-input-change_interval" class="change_detection_t3">
1027
- </div>
1028
- </div>
1029
- </div>
1030
1046
  <!-- Current Monitor Options -->
1031
1047
  <div class="ncd-dependent" data-sensor-13 data-sensor-19 data-sensor-28>
1032
1048
  <hr>
1033
1049
  <div class="form-row ncd-active-check">
1034
1050
  <strong>Channel 1 Current Calibration Value</strong>
1051
+ <p class="caption">
1052
+ New calibration value = ((current_read_by_meter/current_read_by_sensor)*last_stored_calibration_value)*100
1053
+ </p>
1035
1054
  <div>
1036
1055
  <label for="node-input-current_calibration_13_active">Active:</label>
1037
- <input type="checkbox" id="node-input-current_calibration_13_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_13_active" value="1">
1056
+ <input type="checkbox" id="node-input-current_calibration_13_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_13" value="1">
1038
1057
  </div>
1039
1058
  <div>
1040
1059
  <label for="node-input-current_calibration_13"><i class="icon-tag"></i> Value:</label>
1041
1060
  <input type="text" id="node-input-current_calibration_13">
1042
1061
  </div>
1043
1062
  </div>
1063
+ <!--
1064
+ <div class="form-row ncd-active-check">
1065
+ <strong>Deprecated: Channel 1 Current Calibration Value</strong>
1066
+ <p class="caption">
1067
+ Only for use with sensors with firmware versions 2 or lower.
1068
+ New calibration value = ((current_read_by_meter/current_read_by_sensor)*last_stored_calibration_value)*100
1069
+ </p>
1070
+ <div>
1071
+ <label for="node-input-current_calibration_13_dep_active">Active:</label>
1072
+ <input type="checkbox" id="node-input-current_calibration_13_dep_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_13_dep" value="1">
1073
+ </div>
1074
+ <div>
1075
+ <label for="node-input-current_calibration_13_dep"><i class="icon-tag"></i> Value:</label>
1076
+ <input type="text" id="node-input-current_calibration_13_dep">
1077
+ </div>
1078
+ </div>
1079
+ -->
1044
1080
  </div>
1045
1081
  <div class="ncd-dependent" data-sensor-19 data-sensor-28>
1046
1082
  <div class="form-row ncd-active-check">
1047
1083
  <strong>Channel 2 Current Calibration Value</strong>
1084
+ <p class="caption">
1085
+ New calibration value = ((current_read_by_meter/current_read_by_sensor)*last_stored_calibration_value)*100
1086
+ </p>
1048
1087
  <div>
1049
1088
  <label for="node-input-current_calibration_ch2_19_active">Active:</label>
1050
- <input type="checkbox" id="node-input-current_calibration_ch2_19_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_ch2_19_active" value="1">
1089
+ <input type="checkbox" id="node-input-current_calibration_ch2_19_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_ch2_19" value="1">
1051
1090
  </div>
1052
1091
  <div>
1053
1092
  <label for="node-input-current_calibration_ch2_19"><i class="icon-tag"></i> Value:</label>
1054
1093
  <input type="text" id="node-input-current_calibration_ch2_19">
1055
1094
  </div>
1056
1095
  </div>
1096
+ <!--
1097
+ <div class="form-row ncd-active-check">
1098
+ <strong>Deprecated: Channel 2 Current Calibration Value</strong>
1099
+ <p class="caption">
1100
+ Only for use with sensors with firmware versions 2 or lower.
1101
+ New calibration value = ((current_read_by_meter/current_read_by_sensor)*last_stored_calibration_value)*100
1102
+ </p>
1103
+ <div>
1104
+ <label for="node-input-current_calibration_ch2_19_dep_active">Active:</label>
1105
+ <input type="checkbox" id="node-input-current_calibration_ch2_19_dep_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_ch2_19_dep" value="1">
1106
+ </div>
1107
+ <div>
1108
+ <label for="node-input-current_calibration_ch2_19_dep"><i class="icon-tag"></i> Value:</label>
1109
+ <input type="text" id="node-input-current_calibration_ch2_19_dep">
1110
+ </div>
1111
+ </div>
1112
+ -->
1057
1113
  </div>
1058
1114
  <div class="ncd-dependent" data-sensor-28>
1059
1115
  <div class="form-row ncd-active-check">
1060
1116
  <strong>Channel 3 Current Calibration Value</strong>
1117
+ <p class="caption">
1118
+ New calibration value = ((current_read_by_meter/current_read_by_sensor)*last_stored_calibration_value)*100
1119
+ </p>
1061
1120
  <div>
1062
1121
  <label for="node-input-current_calibration_ch3_28_active">Active:</label>
1063
- <input type="checkbox" id="node-input-current_calibration_ch3_28_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_ch3_28_active" value="1">
1122
+ <input type="checkbox" id="node-input-current_calibration_ch3_28_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_ch3_28" value="1">
1064
1123
  </div>
1065
1124
  <div>
1066
1125
  <label for="node-input-current_calibration_ch3_28"><i class="icon-tag"></i> Value:</label>
1067
1126
  <input type="text" id="node-input-current_calibration_ch3_28">
1068
1127
  </div>
1069
1128
  </div>
1129
+ <!--
1130
+ <div class="form-row ncd-active-check">
1131
+ <strong>Deprecated: Channel 3 Current Calibration Value</strong>
1132
+ <p class="caption">
1133
+ Only for use with sensors with firmware versions 2 or lower.
1134
+ New calibration value = ((current_read_by_meter/current_read_by_sensor)*last_stored_calibration_value)*100
1135
+ </p>
1136
+ <div>
1137
+ <label for="node-input-current_calibration_ch3_28_dep_active">Active:</label>
1138
+ <input type="checkbox" id="node-input-current_calibration_ch3_28_dep_active" class="ncd-config-toggle" data-target-id="node-input-current_calibration_ch3_28_dep" value="1">
1139
+ </div>
1140
+ <div>
1141
+ <label for="node-input-current_calibration_ch3_28_dep"><i class="icon-tag"></i> Value:</label>
1142
+ <input type="text" id="node-input-current_calibration_ch3_28_dep">
1143
+ </div>
1144
+ </div>
1145
+ -->
1070
1146
  </div>
1071
-
1147
+ <div class="ncd-dependent" data-sensor-3 data-sensor-10 data-sensor-13 data-sensor-28>
1148
+ <div class="form-row ncd-active-check">
1149
+ <strong>Percentage Change Detection - Channel 1</strong>
1150
+ <div>
1151
+ <label for="node-input-change_detection_t3_active">Active:</label>
1152
+ <input type="checkbox" id="node-input-change_detection_t3_active" class="ncd-config-toggle" data-target-class="change_detection_t3" value="1">
1153
+ </div>
1154
+ <div class="form-row">
1155
+ <label for="node-input-change_enabled"><i class="icon-tag"></i>Enable:</label>
1156
+ <input type="checkbox" id="node-input-change_enabled" class="change_detection_t3" value="1">
1157
+ </div>
1158
+ <div class="form-row">
1159
+ <label for="node-input-change_pr"><i class="icon-tag"></i>Percentage Change Threshold (0-255)</label>
1160
+ <input type="text" id="node-input-change_pr" class="change_detection_t3">
1161
+ </div>
1162
+ <div class="form-row">
1163
+ <label for="node-input-change_interval"><i class="icon-tag"></i>Percentage Change Interval (seconds)</label>
1164
+ <input type="text" id="node-input-change_interval" class="change_detection_t3">
1165
+ </div>
1166
+ </div>
1167
+ </div>
1168
+ <div class="ncd-dependent" data-sensor-28>
1169
+ <div class="form-row ncd-active-check">
1170
+ <strong>Percentage Change Detection - Channel 2</strong>
1171
+ <div>
1172
+ <label for="node-input-change_detection_ch2_active">Active:</label>
1173
+ <input type="checkbox" id="node-input-change_detection_ch2_active" class="ncd-config-toggle" data-target-class="change_detection_ch2" value="1">
1174
+ </div>
1175
+ <div class="form-row">
1176
+ <label for="node-input-change_enabled_ch2"><i class="icon-tag"></i>Enable:</label>
1177
+ <input type="checkbox" id="node-input-change_enabled_ch2" class="change_detection_ch2" value="1">
1178
+ </div>
1179
+ <div class="form-row">
1180
+ <label for="node-input-change_pr_ch2"><i class="icon-tag"></i>Percentage Change Threshold (0-255)</label>
1181
+ <input type="text" id="node-input-change_pr_ch2" class="change_detection_ch2">
1182
+ </div>
1183
+ <div class="form-row">
1184
+ <label for="node-input-change_interval_ch2"><i class="icon-tag"></i>Percentage Change Interval (seconds)</label>
1185
+ <input type="text" id="node-input-change_interval_ch2" class="change_detection_ch2">
1186
+ </div>
1187
+ </div>
1188
+ <div class="form-row ncd-active-check">
1189
+ <strong>Percentage Change Detection - Channel 3</strong>
1190
+ <div>
1191
+ <label for="node-input-change_detection_ch3_active">Active:</label>
1192
+ <input type="checkbox" id="node-input-change_detection_ch3_active" class="ncd-config-toggle" data-target-class="change_detection_ch3" value="1">
1193
+ </div>
1194
+ <div class="form-row">
1195
+ <label for="node-input-change_enabled_ch3"><i class="icon-tag"></i>Enable:</label>
1196
+ <input type="checkbox" id="node-input-change_enabled_ch3" class="change_detection_ch3" value="1">
1197
+ </div>
1198
+ <div class="form-row">
1199
+ <label for="node-input-change_pr_ch3"><i class="icon-tag"></i>Percentage Change Threshold (0-255)</label>
1200
+ <input type="text" id="node-input-change_pr_ch3" class="change_detection_ch3">
1201
+ </div>
1202
+ <div class="form-row">
1203
+ <label for="node-input-change_interval_ch3"><i class="icon-tag"></i>Percentage Change Interval (seconds)</label>
1204
+ <input type="text" id="node-input-change_interval_ch3" class="change_detection_ch3">
1205
+ </div>
1206
+ </div>
1207
+ </div>
1072
1208
  <!-- Barometric Pressure Options -->
1073
1209
  <div class="ncd-dependent" data-sensor-6>
1074
1210
  <div class="form-row">
@@ -2039,6 +2175,14 @@
2039
2175
  </select>
2040
2176
  </div>
2041
2177
  </div>
2178
+ </div>
2179
+ <div class="ncd-dependent" data-sensor-33>
2180
+ <div class="form-row ncd-active-check">
2181
+ <label for="node-input-clear_counter_33"><i class="icon-tag"></i>Clear Counter Value</label>
2182
+ <input type="checkbox" id="node-input-clear_counter_33" value="1">
2183
+ </div>
2184
+ </div>
2185
+ <div class="ncd-dependent" data-sensor-108>
2042
2186
  <div class="form-row">
2043
2187
  <label for="node-input-clear_all_counters_108"><i class="icon-tag"></i>Clear All Counters</label>
2044
2188
  <input type="checkbox" id="node-input-clear_all_counters_108" value="1">
@@ -2057,6 +2201,8 @@
2057
2201
  <input type="text" id="node-input-accelerometer_threshold_108" placeholder="10" value="10">
2058
2202
  </div>
2059
2203
  </div>
2204
+ </div>
2205
+ <div class="ncd-dependent" data-sensor-108 data-sensor-33>
2060
2206
  <div class="form-row ncd-active-check">
2061
2207
  <strong>Set Input Debounce Time</strong>
2062
2208
  <p class="caption">
@@ -2071,6 +2217,38 @@
2071
2217
  <input type="text" id="node-input-debounce_time_108" placeholder="10" value="10">
2072
2218
  </div>
2073
2219
  </div>
2220
+ </div>
2221
+ <div class="ncd-dependent" data-sensor-33>
2222
+ <div class="form-row ncd-active-check">
2223
+ <strong>Set Contact Closure Detection</strong>
2224
+ <div>
2225
+ <label for="node-input-input_two_108_active">Active:</label>
2226
+ <input type="checkbox" id="node-input-input_two_108_active" class="ncd-config-toggle" data-target-id="node-input-input_two_108" value="1">
2227
+ </div>
2228
+ <div>
2229
+ <label for="node-input-input_two_108"><i class="icon-tag"></i>Value:</label>
2230
+ <select id="node-input-input_two_108">
2231
+ <option value="0">Falling Edge Trigger</option>
2232
+ <option value="1" selected>Rising Edge Trigger</option>
2233
+ </select>
2234
+ </div>
2235
+ </div>
2236
+ <div class="form-row ncd-active-check">
2237
+ <strong>Enable Push Notification</strong>
2238
+ <div>
2239
+ <label for="node-input-push_notification_33_active">Active:</label>
2240
+ <input type="checkbox" id="node-input-push_notification_33_active" class="ncd-config-toggle" data-target-id="node-input-push_notification_33" value="1">
2241
+ </div>
2242
+ <div>
2243
+ <label for="node-input-push_notification_33"><i class="icon-tag"></i>Value:</label>
2244
+ <select id="node-input-push_notification_33">
2245
+ <option value="0" selected>Disable</option>
2246
+ <option value="2">Enable</option>
2247
+ </select>
2248
+ </div>
2249
+ </div>
2250
+ </div>
2251
+ <div class="ncd-dependent" data-sensor-108>
2074
2252
  <div class="form-row ncd-active-check">
2075
2253
  <strong>Set Contact Closure Detection</strong>
2076
2254
  <div>
@@ -2113,6 +2291,8 @@
2113
2291
  </select>
2114
2292
  </div>
2115
2293
  </div>
2294
+ </div>
2295
+ <div class="ncd-dependent" data-sensor-108 data-sensor-33>
2116
2296
  <div class="form-row ncd-active-check">
2117
2297
  <strong>Counter Threshold</strong>
2118
2298
  <p class="caption">
@@ -2130,6 +2310,52 @@
2130
2310
  </div>
2131
2311
  </div>
2132
2312
  </div>
2313
+ <div class="ncd-dependent" data-sensor-108>
2314
+ <div class="form-row ncd-active-check">
2315
+ <strong>Enable Push Notification</strong>
2316
+ <div>
2317
+ <label for="node-input-push_notification_108_active">Active:</label>
2318
+ <input type="checkbox" id="node-input-push_notification_108_active" class="ncd-config-toggle" data-target-id="node-input-push_notification_108" value="1">
2319
+ </div>
2320
+ <div>
2321
+ <label for="node-input-push_notification_108"><i class="icon-tag"></i>Value:</label>
2322
+ <select id="node-input-push_notification_108">
2323
+ <option value="0" selected>Disable All</option>
2324
+ <option value="31">Enable All</option>
2325
+ <option value="1">Enable on IO 1</option>
2326
+ <option value="2">Enable on IO 2</option>
2327
+ <option value="3">Enable on IO 2 and 1</option>
2328
+ <option value="4">Enable on IO 3</option>
2329
+ <option value="5">Enable on IO 3 and 1</option>
2330
+ <option value="6">Enable on IO 3 and 2</option>
2331
+ <option value="7">Enable on IO 3 to 1</option>
2332
+ <option value="8">Enable on IO 4</option>
2333
+ <option value="9">Enable on IO 4 and 1</option>
2334
+ <option value="10">Enable on IO 4 and 2</option>
2335
+ <option value="11">Enable on IO 4, 1 and 2</option>
2336
+ <option value="12">Enable on IO 4 and 3</option>
2337
+ <option value="13">Enable on IO 4, 1 and 3</option>
2338
+ <option value="14">Enable on IO 4, 2 and 3</option>
2339
+ <option value="15">Enable on IO 4 to 1</option>
2340
+ <option value="16">Enable on IO 5</option>
2341
+ <option value="17">Enable on IO 5 and 1</option>
2342
+ <option value="18">Enable on IO 5 and 2</option>
2343
+ <option value="19">Enable on IO 5, 2 and 1</option>
2344
+ <option value="20">Enable on IO 5 and 3</option>
2345
+ <option value="21">Enable on IO 5, 3 and 1</option>
2346
+ <option value="22">Enable on IO 5, 3 and 2</option>
2347
+ <option value="23">Enable on IO 5, 3, 2 and 1</option>
2348
+ <option value="24">Enable on IO 5 and 4</option>
2349
+ <option value="25">Enable on IO 5, 4 and 1</option>
2350
+ <option value="26">Enable on IO 5, 4 and 2</option>
2351
+ <option value="27">Enable on IO 5, 4, 2 and 1</option>
2352
+ <option value="28">Enable on IO 5, 4 and 3</option>
2353
+ <option value="29">Enable on IO 5, 4, 3 and 1</option>
2354
+ <option value="30">Enable on IO 5, 4, 3, and 2</option>
2355
+ </select>
2356
+ </div>
2357
+ </div>
2358
+ </div>
2133
2359
  <div class="ncd-dependent" data-sensor-35 data-sensor-36>
2134
2360
  <hr>
2135
2361
  <div class="form-row ncd-active-check">
@@ -2256,22 +2482,38 @@
2256
2482
  </div>
2257
2483
  </div>
2258
2484
  </div>
2259
- <div class="ncd-dependent" data-sensor-539>
2485
+ <div class="ncd-dependent" data-sensor-1010 data-sensor-1011>
2260
2486
  <div class="form-row ncd-active-check">
2261
- <strong>Set Rx Timeout</strong>
2487
+ <strong>Set Stop Bit</strong>
2262
2488
  <div>
2263
- <label for="node-input-rx_timeout_539_active">Active:</label>
2264
- <input type="checkbox" id="node-input-rx_timeout_539_active" class="ncd-config-toggle" data-target-id="node-input-rx_timeout_539" value="1">
2489
+ <label for="node-input-stop_bit_1011_active">Active:</label>
2490
+ <input type="checkbox" id="node-input-stop_bit_1011_active" class="ncd-config-toggle" data-target-id="node-input-stop_bit_1011" value="1">
2265
2491
  </div>
2266
2492
  <div>
2267
- <label for="node-input-rx_timeout_539"><i class="icon-tag"></i>Value:</label>
2268
- <input type="text" id="node-input-rx_timeout_539" placeholder="10" value="10">
2493
+ <label for="node-input-stop_bit_1011"><i class="icon-tag"></i>Value:</label>
2494
+ <select id="node-input-stop_bit_1011">
2495
+ <option selected="selected" value="0">1</option>
2496
+ <option value="1">2</option>
2497
+ </select>
2498
+ </div>
2499
+ </div>
2500
+ <div class="form-row ncd-active-check">
2501
+ <strong>Set Parity</strong>
2502
+ <div>
2503
+ <label for="node-input-set_parity_1011_active">Active:</label>
2504
+ <input type="checkbox" id="node-input-set_parity_1011_active" class="ncd-config-toggle" data-target-id="node-input-set_parity_1011" value="1">
2505
+ </div>
2506
+ <div>
2507
+ <label for="node-input-set_parity_1011"><i class="icon-tag"></i>Value:</label>
2508
+ <select id="node-input-set_parity_1011">
2509
+ <option selected="selected" value="0">None</option>
2510
+ <option value="1">Even</option>
2511
+ <option value="2">Odd</option>
2512
+ </select>
2269
2513
  </div>
2270
2514
  </div>
2271
- </div>
2272
- <div class="ncd-dependent" data-sensor-1011>
2273
2515
  <div class="form-row ncd-active-check">
2274
- <strong>Set rs485 Timeout</strong>
2516
+ <strong>Set Timeout</strong>
2275
2517
  <div>
2276
2518
  <label for="node-input-rx485_timeout_1011_active">Active:</label>
2277
2519
  <input type="checkbox" id="node-input-rx485_timeout_1011_active" class="ncd-config-toggle" data-target-id="node-input-rx485_timeout_1011" value="1">
@@ -2281,6 +2523,23 @@
2281
2523
  <input type="text" id="node-input-rx485_timeout_1011" placeholder="10" value="10">
2282
2524
  </div>
2283
2525
  </div>
2526
+ <div class="form-row ncd-active-check">
2527
+ <strong>Set Auto Address Timeout</strong>
2528
+ <div>
2529
+ <label for="node-input-auto_address_timeout_1011_active">Active:</label>
2530
+ <input type="checkbox" id="node-input-auto_address_timeout_1011_active" class="ncd-config-toggle" data-target-id="node-input-rauto_address_timeout_1011" value="1">
2531
+ </div>
2532
+ <div>
2533
+ <label for="node-input-auto_address_timeout_1011"><i class="icon-tag"></i>Value:</label>
2534
+ <input type="text" id="node-input-auto_address_timeout_1011" placeholder="10" value="10">
2535
+ </div>
2536
+ </div>
2537
+ <div class="form-row ncd-active-check">
2538
+ <label for="node-input-reboot_1011"><i class="icon-tag"></i><strong>Reboot Device</strong></label>
2539
+ <input type="checkbox" id="node-input-reboot_1011" value="1">
2540
+ </div>
2541
+ </div>
2542
+ <div class="ncd-dependent" data-sensor-1011>
2284
2543
  <div class="form-row ncd-active-check">
2285
2544
  <strong>Set Mode</strong>
2286
2545
  <div>
@@ -2296,19 +2555,19 @@
2296
2555
  </select>
2297
2556
  </div>
2298
2557
  </div>
2558
+ </div>
2559
+ <div class="ncd-dependent" data-sensor-539>
2299
2560
  <div class="form-row ncd-active-check">
2300
- <strong>Set Auto Address Timeout</strong>
2561
+ <strong>Set Rx Timeout</strong>
2301
2562
  <div>
2302
- <label for="node-input-auto_address_timeout_1011_active">Active:</label>
2303
- <input type="checkbox" id="node-input-auto_address_timeout_1011_active" class="ncd-config-toggle" data-target-id="node-input-rauto_address_timeout_1011" value="1">
2563
+ <label for="node-input-rx_timeout_539_active">Active:</label>
2564
+ <input type="checkbox" id="node-input-rx_timeout_539_active" class="ncd-config-toggle" data-target-id="node-input-rx_timeout_539" value="1">
2304
2565
  </div>
2305
2566
  <div>
2306
- <label for="node-input-auto_address_timeout_1011"><i class="icon-tag"></i>Value:</label>
2307
- <input type="text" id="node-input-auto_address_timeout_1011" placeholder="10" value="10">
2567
+ <label for="node-input-rx_timeout_539"><i class="icon-tag"></i>Value:</label>
2568
+ <input type="text" id="node-input-rx_timeout_539" placeholder="10" value="10">
2308
2569
  </div>
2309
2570
  </div>
2310
- </div>
2311
- <div class="ncd-dependent" data-sensor-539>
2312
2571
  <div class="form-row ncd-active-check">
2313
2572
  <strong>Set Bootup Time</strong>
2314
2573
  <div>
@@ -2414,6 +2673,7 @@
2414
2673
  <option value="29">29</option>
2415
2674
  <option value="30">30</option>
2416
2675
  <option value="31">31</option>
2676
+ <option value="32">32</option>
2417
2677
  </select>
2418
2678
  </div>
2419
2679
  <hr>
@@ -2478,6 +2738,138 @@
2478
2738
  <input type="text" id="node-input-register_value_9_539" class="register_t539" placeholder="10" value="10">
2479
2739
  </div>
2480
2740
  </div>
2741
+ <div class="form-row">
2742
+ <div>
2743
+ <label for="node-input-register_value_10_539"><i class="icon-tag"></i>Register 11:</label>
2744
+ <input type="text" id="node-input-register_value_10_539" class="register_t539" placeholder="10" value="10">
2745
+ </div>
2746
+ </div>
2747
+ <div class="form-row">
2748
+ <div>
2749
+ <label for="node-input-register_value_11_539"><i class="icon-tag"></i>Register 12:</label>
2750
+ <input type="text" id="node-input-register_value_11_539" class="register_t539" placeholder="10" value="10">
2751
+ </div>
2752
+ </div>
2753
+ <div class="form-row">
2754
+ <div>
2755
+ <label for="node-input-register_value_12_539"><i class="icon-tag"></i>Register 13:</label>
2756
+ <input type="text" id="node-input-register_value_12_539" class="register_t539" placeholder="10" value="10">
2757
+ </div>
2758
+ </div>
2759
+ <div class="form-row">
2760
+ <div>
2761
+ <label for="node-input-register_value_13_539"><i class="icon-tag"></i>Register 14:</label>
2762
+ <input type="text" id="node-input-register_value_13_539" class="register_t539" placeholder="10" value="10">
2763
+ </div>
2764
+ </div>
2765
+ <div class="form-row">
2766
+ <div>
2767
+ <label for="node-input-register_value_14_539"><i class="icon-tag"></i>Register 15:</label>
2768
+ <input type="text" id="node-input-register_value_14_539" class="register_t539" placeholder="10" value="10">
2769
+ </div>
2770
+ </div>
2771
+ <div class="form-row">
2772
+ <div>
2773
+ <label for="node-input-register_value_15_539"><i class="icon-tag"></i>Register 16:</label>
2774
+ <input type="text" id="node-input-register_value_15_539" class="register_t539" placeholder="10" value="10">
2775
+ </div>
2776
+ </div>
2777
+ <div class="form-row">
2778
+ <div>
2779
+ <label for="node-input-register_value_16_539"><i class="icon-tag"></i>Register 17:</label>
2780
+ <input type="text" id="node-input-register_value_16_539" class="register_t539" placeholder="10" value="10">
2781
+ </div>
2782
+ </div>
2783
+ <div class="form-row">
2784
+ <div>
2785
+ <label for="node-input-register_value_17_539"><i class="icon-tag"></i>Register 18:</label>
2786
+ <input type="text" id="node-input-register_value_17_539" class="register_t539" placeholder="10" value="10">
2787
+ </div>
2788
+ </div>
2789
+ <div class="form-row">
2790
+ <div>
2791
+ <label for="node-input-register_value_18_539"><i class="icon-tag"></i>Register 19:</label>
2792
+ <input type="text" id="node-input-register_value_18_539" class="register_t539" placeholder="10" value="10">
2793
+ </div>
2794
+ </div>
2795
+ <div class="form-row">
2796
+ <div>
2797
+ <label for="node-input-register_value_19_539"><i class="icon-tag"></i>Register 20:</label>
2798
+ <input type="text" id="node-input-register_value_19_539" class="register_t539" placeholder="10" value="10">
2799
+ </div>
2800
+ </div>
2801
+ <div class="form-row">
2802
+ <div>
2803
+ <label for="node-input-register_value_20_539"><i class="icon-tag"></i>Register 21:</label>
2804
+ <input type="text" id="node-input-register_value_20_539" class="register_t539" placeholder="10" value="10">
2805
+ </div>
2806
+ </div>
2807
+ <div class="form-row">
2808
+ <div>
2809
+ <label for="node-input-register_value_21_539"><i class="icon-tag"></i>Register 22:</label>
2810
+ <input type="text" id="node-input-register_value_21_539" class="register_t539" placeholder="10" value="10">
2811
+ </div>
2812
+ </div>
2813
+ <div class="form-row">
2814
+ <div>
2815
+ <label for="node-input-register_value_22_539"><i class="icon-tag"></i>Register 23:</label>
2816
+ <input type="text" id="node-input-register_value_22_539" class="register_t539" placeholder="10" value="10">
2817
+ </div>
2818
+ </div>
2819
+ <div class="form-row">
2820
+ <div>
2821
+ <label for="node-input-register_value_23_539"><i class="icon-tag"></i>Register 24:</label>
2822
+ <input type="text" id="node-input-register_value_23_539" class="register_t539" placeholder="10" value="10">
2823
+ </div>
2824
+ </div>
2825
+ <div class="form-row">
2826
+ <div>
2827
+ <label for="node-input-register_value_24_539"><i class="icon-tag"></i>Register 25:</label>
2828
+ <input type="text" id="node-input-register_value_24_539" class="register_t539" placeholder="10" value="10">
2829
+ </div>
2830
+ </div>
2831
+ <div class="form-row">
2832
+ <div>
2833
+ <label for="node-input-register_value_25_539"><i class="icon-tag"></i>Register 26:</label>
2834
+ <input type="text" id="node-input-register_value_25_539" class="register_t539" placeholder="10" value="10">
2835
+ </div>
2836
+ </div>
2837
+ <div class="form-row">
2838
+ <div>
2839
+ <label for="node-input-register_value_26_539"><i class="icon-tag"></i>Register 27:</label>
2840
+ <input type="text" id="node-input-register_value_26_539" class="register_t539" placeholder="10" value="10">
2841
+ </div>
2842
+ </div>
2843
+ <div class="form-row">
2844
+ <div>
2845
+ <label for="node-input-register_value_27_539"><i class="icon-tag"></i>Register 28:</label>
2846
+ <input type="text" id="node-input-register_value_27_539" class="register_t539" placeholder="10" value="10">
2847
+ </div>
2848
+ </div>
2849
+ <div class="form-row">
2850
+ <div>
2851
+ <label for="node-input-register_value_28_539"><i class="icon-tag"></i>Register 29:</label>
2852
+ <input type="text" id="node-input-register_value_28_539" class="register_t539" placeholder="10" value="10">
2853
+ </div>
2854
+ </div>
2855
+ <div class="form-row">
2856
+ <div>
2857
+ <label for="node-input-register_value_29_539"><i class="icon-tag"></i>Register 30:</label>
2858
+ <input type="text" id="node-input-register_value_29_539" class="register_t539" placeholder="10" value="10">
2859
+ </div>
2860
+ </div>
2861
+ <div class="form-row">
2862
+ <div>
2863
+ <label for="node-input-register_value_30_539"><i class="icon-tag"></i>Register 31:</label>
2864
+ <input type="text" id="node-input-register_value_30_539" class="register_t539" placeholder="10" value="10">
2865
+ </div>
2866
+ </div>
2867
+ <div class="form-row">
2868
+ <div>
2869
+ <label for="node-input-register_value_31_539"><i class="icon-tag"></i>Register 32:</label>
2870
+ <input type="text" id="node-input-register_value_31_539" class="register_t539" placeholder="10" value="10">
2871
+ </div>
2872
+ </div>
2481
2873
  </div>
2482
2874
  </div>
2483
2875
  </div>
@@ -2570,6 +2962,33 @@
2570
2962
  </div>
2571
2963
  </div>
2572
2964
  </div>
2965
+ <div class="ncd-dependent" data-sensor-58>
2966
+ <hr>
2967
+ <div class="form-row ncd-active-check">
2968
+ <strong>Max Range</strong>
2969
+ <p>Valid Range: 0 - 16500 (mm)</p>
2970
+ <div>
2971
+ <label for="node-input-max_range_58_active">Active:</label>
2972
+ <input type="checkbox" id="node-input-max_range_58_active" class="ncd-config-toggle" data-target-id="node-input-max_range_58" value="1">
2973
+ </div>
2974
+ <div>
2975
+ <label for="node-input-max_range_58"><i class="icon-tag"></i> Value:</label>
2976
+ <input type="text" id="node-input-max_range_58">
2977
+ </div>
2978
+ </div>
2979
+ <div class="form-row ncd-active-check">
2980
+ <div>
2981
+ <label for="node-input-calibration_58"><i class="icon-tag"></i>Set Calibration:</label>
2982
+ <input type="checkbox" id="node-input-calibration_58" class="ncd-config-toggle" data-target-id="node-input-calibration_58" value="1">
2983
+ </div>
2984
+ </div>
2985
+ <div class="form-row ncd-active-check">
2986
+ <div>
2987
+ <label for="node-input-factory_reset_tank_probe_58"><i class="icon-tag"></i>Factory Reset Tank Probe:</label>
2988
+ <input type="checkbox" id="node-input-factory_reset_tank_probe_58" class="ncd-config-toggle" data-target-id="node-input-factory_reset_tank_probe_58" value="1">
2989
+ </div>
2990
+ </div>
2991
+ </div>
2573
2992
  </div>
2574
2993
  </div>
2575
2994
  </script>
package/wireless.js CHANGED
@@ -54,9 +54,17 @@ module.exports = function(RED) {
54
54
  this.gateway.digi.report_rssi = config.rssi;
55
55
 
56
56
  if(config.comm_type == 'serial'){
57
- setTimeout(()=>{node.gateway.digi.serial.setupSerial()}, 5000);
57
+ if(config.port !== ''){
58
+ setTimeout(()=>{node.gateway.digi.serial.setupSerial()}, 5000);
59
+ }else{
60
+ node.warn('No Port Selected for Serial Communications.')
61
+ }
58
62
  }else{
59
- setTimeout(()=>{node.gateway.digi.serial.setupClient()}, 5000);
63
+ if(config.tcp_port === '' || config.ip_address === ''){
64
+ node.warn('TCP Socket not configured for Network Communications. Please enter a Port and IP Address.');
65
+ }else{
66
+ setTimeout(()=>{node.gateway.digi.serial.setupClient()}, 5000);
67
+ }
60
68
  }
61
69
  node.gateway.digi.serial.on('ready', () => {
62
70
  node.gateway.digi.send.at_command('SL').then((res) => {
@@ -868,6 +876,12 @@ module.exports = function(RED) {
868
876
  promises.current_calibration_13 = node.config_gateway.config_set_current_calibration_13(mac, cali);
869
877
  }
870
878
  }
879
+ // if(config.current_calibration_13_dep_active){
880
+ // var cali = parseInt(config.current_calibration_13_dep);
881
+ // if(cali != 0){
882
+ // promises.current_calibration_13_dep = node.config_gateway.config_set_current_calibration_13_dep(mac, cali);
883
+ // }
884
+ // }
871
885
  if(config.change_detection_t3_active){
872
886
  promises.change_detection = node.config_gateway.config_set_change_detection(mac, config.change_enabled ? 1 : 0, parseInt(config.change_pr), parseInt(config.change_interval));
873
887
  }
@@ -899,6 +913,18 @@ module.exports = function(RED) {
899
913
  promises.current_calibration_ch2_19 = node.config_gateway.config_set_current_calibration_ch2_19(mac, cali);
900
914
  }
901
915
  }
916
+ // if(config.current_calibration_13_dep_active){
917
+ // var cali = parseInt(config.current_calibration_13_dep);
918
+ // if(cali != 0){
919
+ // promises.current_calibration_13_dep = node.config_gateway.config_set_current_calibration_13_dep(mac, cali);
920
+ // }
921
+ // }
922
+ // if(config.current_calibration_ch2_19_dep_active){
923
+ // var cali = parseInt(config.current_calibration_ch2_19_dep);
924
+ // if(cali != 0){
925
+ // promises.current_calibration_ch2_19_dep = node.config_gateway.config_set_current_calibration_ch2_19_dep(mac, cali);
926
+ // }
927
+ // }
902
928
  break;
903
929
  case 23:
904
930
  if(config.thermocouple_type_23_active){
@@ -953,7 +979,51 @@ module.exports = function(RED) {
953
979
  promises.current_calibration_ch3_28 = node.config_gateway.config_set_current_calibration_ch3_28(mac, cali);
954
980
  }
955
981
  }
982
+ // if(config.current_calibration_13_dep_active){
983
+ // var cali = parseInt(config.current_calibration_13_dep);
984
+ // if(cali != 0){
985
+ // promises.current_calibration_13_dep = node.config_gateway.config_set_current_calibration_13_dep(mac, cali);
986
+ // }
987
+ // }
988
+ // if(config.current_calibration_ch2_19_dep_active){
989
+ // var cali = parseInt(config.current_calibration_ch2_19_dep);
990
+ // if(cali != 0){
991
+ // promises.current_calibration_ch2_19_dep = node.config_gateway.config_set_current_calibration_ch2_19_dep(mac, cali);
992
+ // }
993
+ // }
994
+ // if(config.current_calibration_ch3_28_dep_active){
995
+ // var cali = parseInt(config.current_calibration_ch3_28_dep);
996
+ // if(cali != 0){
997
+ // promises.current_calibration_ch3_28_dep = node.config_gateway.config_set_current_calibration_ch3_28_dep(mac, cali);
998
+ // }
999
+ // }
1000
+ if(config.change_detection_t3_active){
1001
+ promises.change_detection = node.config_gateway.config_set_change_detection(mac, config.change_enabled ? 1 : 0, parseInt(config.change_pr), parseInt(config.change_interval));
1002
+ }
1003
+ if(config.change_detection_ch2_active){
1004
+ promises.change_detection_ch2 = node.config_gateway.config_set_change_detection_ch2(mac, config.change_enabled_ch2 ? 1 : 0, parseInt(config.change_pr_ch2), parseInt(config.change_interval_ch2));
1005
+ }
1006
+ if(config.change_detection_ch3_active){
1007
+ promises.change_detection_ch3 = node.config_gateway.config_set_change_detection_ch3(mac, config.change_enabled_ch3 ? 1 : 0, parseInt(config.change_pr_ch3), parseInt(config.change_interval_ch3));
1008
+ }
956
1009
  break;
1010
+ case 33:
1011
+ if(config.clear_counter_33){
1012
+ promises.clear_counter_33 = node.config_gateway.config_set_clear_counter_33(mac);
1013
+ }
1014
+ if(config.input_two_108_active){
1015
+ promises.input_two_108 = node.config_gateway.config_set_input_two_108(mac, parseInt(config.input_two_108));
1016
+ }
1017
+ if(config.counter_threshold_108_active){
1018
+ promises.counter_threshold_108 = node.config_gateway.config_set_counter_threshold_108(mac, parseInt(config.counter_threshold_108));
1019
+ }
1020
+ if(config.debounce_time_108_active){
1021
+ promises.debounce_time_108 = node.config_gateway.config_set_debounce_time_108(mac, parseInt(config.debounce_time_108));
1022
+ }
1023
+ if(config.push_notification_33_active){
1024
+ promises.push_notification_33 = node.config_gateway.config_set_push_notification_33(mac, parseInt(config.push_notification_33));
1025
+ }
1026
+ break;
957
1027
  case 35:
958
1028
  if(config.counter_threshold_35_active){
959
1029
  promises.config_set_counter_threshold_35 = node.config_gateway.config_set_counter_threshold_35(mac, parseInt(config.counter_threshold_35));
@@ -1044,6 +1114,17 @@ module.exports = function(RED) {
1044
1114
  promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1045
1115
  }
1046
1116
  break;
1117
+ case 58:
1118
+ if(config.calibration_58){
1119
+ promises.calibration_58 = node.config_gateway.config_set_calibration_58(mac);
1120
+ }
1121
+ if(config.factory_reset_tank_probe_58){
1122
+ promises.factory_reset_tank_probe_58 = node.config_gateway.config_set_factory_reset_tank_probe_58(mac);
1123
+ }
1124
+ if(config.set_max_range_58_active){
1125
+ promises.set_max_range_58 = node.config_gateway.config_set_max_range_58(mac, parseInt(config.set_max_range_58));
1126
+ }
1127
+ break;
1047
1128
  case 76:
1048
1129
  if(config.periodic_check_rate_76_active){
1049
1130
  promises.periodic_check_rate_76 = node.config_gateway.config_set_periodic_check_rate_76(mac, parseInt(config.periodic_check_rate_76));
@@ -1412,6 +1493,9 @@ module.exports = function(RED) {
1412
1493
  if(config.counter_threshold_108_active){
1413
1494
  promises.counter_threshold_108 = node.config_gateway.config_set_counter_threshold_108(mac, parseInt(config.counter_threshold_108));
1414
1495
  }
1496
+ if(config.push_notification_108_active){
1497
+ promises.push_notification_108 = node.config_gateway.config_set_push_notification_108(mac, parseInt(config.push_notification_108));
1498
+ }
1415
1499
  break;
1416
1500
  case 110:
1417
1501
  if(config.current_calibration_c1_80_active){
@@ -2064,6 +2148,15 @@ module.exports = function(RED) {
2064
2148
  if(config.rx_timeout_539_active){
2065
2149
  promises.rx_timeout_539 = node.config_gateway.config_set_rx_timeout_539(mac, parseInt(config.rx_timeout_539));
2066
2150
  }
2151
+ if(config.stop_bit_1011_active){
2152
+ promises.stop_bit_1011 = node.config_gateway.config_set_stop_bit_1011(mac, parseInt(config.stop_bit_1011));
2153
+ }
2154
+ if(config.set_parity_1011_active){
2155
+ promises.set_parity_1011 = node.config_gateway.config_set_set_parity_1011(mac, parseInt(config.set_parity_1011));
2156
+ }
2157
+ if(config.reboot_1011){
2158
+ promises.reboot_1011 = node.config_gateway.config_set_reboot_1011(mac);
2159
+ }
2067
2160
  break;
2068
2161
  case 1011:
2069
2162
  if(config.stay_on_mode_539_active){
@@ -2081,6 +2174,15 @@ module.exports = function(RED) {
2081
2174
  if(config.auto_address_timeout_1011_active){
2082
2175
  promises.auto_address_timeout_1011 = node.config_gateway.config_set_auto_address_timeout_1011(mac, parseInt(config.auto_address_timeout_1011));
2083
2176
  }
2177
+ if(config.stop_bit_1011_active){
2178
+ promises.stop_bit_1011 = node.config_gateway.config_set_stop_bit_1011(mac, parseInt(config.stop_bit_1011));
2179
+ }
2180
+ if(config.set_parity_1011_active){
2181
+ promises.set_parity_1011 = node.config_gateway.config_set_parity_1011(mac, parseInt(config.set_parity_1011));
2182
+ }
2183
+ if(config.reboot_1011){
2184
+ promises.reboot_1011 = node.config_gateway.config_set_reboot_1011(mac);
2185
+ }
2084
2186
  break;
2085
2187
  }
2086
2188
  }