@ncd-io/node-red-enterprise-sensors 1.0.10 → 1.1.0

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.
@@ -121,7 +121,6 @@ module.exports = class WirelessSensor{
121
121
 
122
122
  this._emitter.emit("link_info",msg_obj);
123
123
  }
124
-
125
124
  parse(frame){
126
125
  var type = this.payloadType[frame.data[0]];
127
126
  if(typeof this[type] == 'function'){
@@ -712,7 +711,7 @@ module.exports = class WirelessSensor{
712
711
  data: payload.slice(8)
713
712
  };
714
713
  // #OTF
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 == 110 || parsed.sensor_type == 111 || parsed.sensor_type == 112 || parsed.sensor_type == 114 || 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){
714
+ }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 == 110 || parsed.sensor_type == 111 || parsed.sensor_type == 112 || parsed.sensor_type == 114 || parsed.sensor_type == 180 || parsed.sensor_type == 181 || parsed.sensor_type == 202 || parsed.sensor_type == 515 || parsed.sensor_type == 519 || parsed.sensor_type == 531 || parsed.sensor_type == 537 || parsed.sensor_type == 538){
716
715
  parsed.sensor_data = this.sensor_types[parsed.sensor_type].parse(payload, parsed, frame.mac);
717
716
  if(!parsed.sensor_data){
718
717
  return;
@@ -1037,6 +1036,12 @@ module.exports = class WirelessSensor{
1037
1036
  console.log(packet);
1038
1037
  return this.config_send(sensor_mac, packet);
1039
1038
  }
1039
+ config_set_probe_boot_time_202(sensor_mac, value){
1040
+ console.log('config_set_probe_boot_time_202');
1041
+ var packet = [244, 83, 0, 0, 0, value];
1042
+ console.log(packet);
1043
+ return this.config_send(sensor_mac, packet);
1044
+ }
1040
1045
  config_get_sampling_interval_101(sensor_mac, sampling_interval){
1041
1046
  console.log('config_get_sampling_interval_101');
1042
1047
  var packet = [244, 79, 0, 0, 101, 7];
@@ -1406,6 +1411,20 @@ module.exports = class WirelessSensor{
1406
1411
  console.log(packet);
1407
1412
  return this.config_send(sensor_mac, packet);
1408
1413
  }
1414
+ config_set_auto_check_interval_88(sensor_mac, value){
1415
+ console.log('config_set_auto_check_interval_88');
1416
+ let packet = [244, 70, 0, 0, 88];
1417
+ let interval = int2Bytes((value), 2);
1418
+ packet.push(...interval);
1419
+ console.log(packet);
1420
+ return this.config_send(sensor_mac, packet);
1421
+ }
1422
+ config_set_auto_check_threshold_88(sensor_mac, value){
1423
+ console.log('config_set_auto_check_threshold_88');
1424
+ let packet = [244, 72, 0, 0, 88, 0, value];
1425
+ console.log(packet);
1426
+ return this.config_send(sensor_mac, packet);
1427
+ }
1409
1428
  config_set_stay_on_mode_539(sensor_mac, value){
1410
1429
  console.log('config_set_stay_on_mode_539');
1411
1430
  var packet = [247, 50, 0, 0, 0, value];
@@ -1641,24 +1660,6 @@ module.exports = class WirelessSensor{
1641
1660
  console.log(packet);
1642
1661
  return this.config_send(sensor_mac, packet);
1643
1662
  }
1644
- config_set_stop_sampling(sensor_mac){
1645
- console.log('config_set_stop_sampling');
1646
- var packet = [244, 37, 0, 2, 5];
1647
- console.log(packet);
1648
- return this.config_send(sensor_mac, packet);
1649
- }
1650
- config_set_extend_otf_timeout(sensor_mac){
1651
- console.log('config_set_extend_otf_timeout');
1652
- var packet = [244, 38, 0, 2, 5];
1653
- console.log(packet);
1654
- return this.config_send(sensor_mac, packet);
1655
- }
1656
- config_set_end_cfg(sensor_mac){
1657
- console.log('config_set_end_cfg');
1658
- var packet = [244, 39, 0, 2, 5];
1659
- console.log(packet);
1660
- return this.config_send(sensor_mac, packet);
1661
- }
1662
1663
  config_set_change_otf_interval(sensor_mac, value){
1663
1664
  console.log('config_set_change_otf_interval');
1664
1665
  var packet = [244, 40, 0, 2, 5];
@@ -1693,6 +1694,18 @@ module.exports = class WirelessSensor{
1693
1694
  console.log(packet);
1694
1695
  return this.config_send(sensor_mac, packet);
1695
1696
  }
1697
+ config_set_rtd_type_39(sensor_mac, value){
1698
+ console.log('config_set_rtd_type_39');
1699
+ var packet = [244, 64, 0, 0, 39, value];
1700
+ console.log(packet);
1701
+ return this.config_send(sensor_mac, packet);
1702
+ }
1703
+ config_set_rtd_range_39(sensor_mac, value){
1704
+ console.log('config_set_rtd_range_39');
1705
+ var packet = [244, 66, 0, 0, 39, value];
1706
+ console.log(packet);
1707
+ return this.config_send(sensor_mac, packet);
1708
+ }
1696
1709
  config_get_delay(sensor_mac){
1697
1710
  return new Promise((fulfill, reject) => {
1698
1711
  this.config_send(sensor_mac, [247, 21, 0, 0, 0]).then((res) => {
@@ -2117,6 +2130,53 @@ module.exports = class WirelessSensor{
2117
2130
  });
2118
2131
  });
2119
2132
  }
2133
+ remote_at_send(sensor_mac, parameter, value, opts, ctrl_timeout = 1000){
2134
+ var that = this;
2135
+ return new Promise((fulfill, reject) => {
2136
+ that.queue.add(() => {
2137
+ return new Promise((f, r) => {
2138
+ var failed = false;
2139
+ var retries = 0;
2140
+ var tO;
2141
+ function fail(packet){
2142
+ failed = true;
2143
+ clearTimeout(tO);
2144
+ that._emitter.removeListener('receive_packet-'+sensor_mac, pass);
2145
+ that._emitter.removeListener('transmit_status-'+sensor_mac, pass);
2146
+ reject({
2147
+ err: packet,
2148
+ sent: [sensor_mac, parameter, value]
2149
+ });
2150
+ r();
2151
+ }
2152
+ function pass(packet){
2153
+ if(failed) return;
2154
+ clearTimeout(tO);
2155
+ fulfill(packet);
2156
+ f();
2157
+ };
2158
+
2159
+ function send(){
2160
+ that.send.remote_at_command(mac2bytes(sensor_mac), parameter, value, true).then(function(frame){
2161
+ if(frame.status == 'OK'){
2162
+ pass(frame);
2163
+ }else{
2164
+ tO = setTimeout(() => {
2165
+ if(retries < 0){
2166
+ retries++;
2167
+ send();
2168
+ }else{
2169
+ fail('Remote AT response timeout');
2170
+ }
2171
+ }, ctrl_timeout);
2172
+ }
2173
+ }).catch(fail);
2174
+ }
2175
+ send();
2176
+ });
2177
+ });
2178
+ });
2179
+ }
2120
2180
  route_discover(sensor_mac, opts){
2121
2181
  var data = [85];
2122
2182
  var that = this;
@@ -2575,10 +2635,9 @@ function sensor_types(parent){
2575
2635
  parse: (payload, parsed, mac) => {
2576
2636
  if(parsed.firmware > 3){
2577
2637
  return {
2578
- input_1: payload[8],
2579
- current_detect: payload[9],
2580
- total_uptime: payload.slice(10, 14).reduce(msbLsb),
2581
- total_cycle_count: payload.slice(14, 18).reduce(msbLsb)
2638
+ current_detect: payload[8],
2639
+ total_uptime: payload.slice(9, 13).reduce(msbLsb),
2640
+ total_cycle_count: payload.slice(13, 17).reduce(msbLsb)
2582
2641
  };
2583
2642
  }else{
2584
2643
  return {
@@ -2828,19 +2887,35 @@ function sensor_types(parent){
2828
2887
  frame_data.fsr = "+-6.144 V";
2829
2888
  break;
2830
2889
  }
2831
- return {
2832
- 'firmware': frame[2],
2833
- 'report_rate': frame.slice(12, 16).reduce(msbLsb),
2834
- 'fsr':frame_data.fsr,
2835
- 'boot_up_time': frame[17],
2836
- 'adc_pin_reading': frame.slice(18, 20).reduce(msbLsb),
2837
- 'machine_values': {
2890
+ if(frame[2]>12){
2891
+ return {
2838
2892
  'firmware': frame[2],
2839
- 'report_rate': frame.slice(12, 16),
2840
- 'fsr':frame[16],
2893
+ 'report_rate': frame.slice(12, 16).reduce(msbLsb),
2894
+ 'fsr':frame_data.fsr,
2841
2895
  'boot_up_time': frame[17],
2842
- 'adc_pin_reading': frame.slice(18, 20),
2843
- 'frame': frame
2896
+ 'adc_pin_reading': frame.slice(18, 20).reduce(msbLsb),
2897
+ 'machine_values': {
2898
+ 'firmware': frame[2],
2899
+ 'report_rate': frame.slice(12, 16),
2900
+ 'fsr':frame[16],
2901
+ 'boot_up_time': frame[17],
2902
+ 'adc_pin_reading': frame.slice(18, 20),
2903
+ 'frame': frame
2904
+ }
2905
+ }
2906
+ }else{
2907
+ return {
2908
+ 'firmware': frame[2],
2909
+ 'report_rate': frame.slice(12, 16).reduce(msbLsb),
2910
+ 'fsr':frame_data.fsr,
2911
+ 'boot_up_time': frame[17],
2912
+ 'machine_values': {
2913
+ 'firmware': frame[2],
2914
+ 'report_rate': frame.slice(12, 16),
2915
+ 'fsr':frame[16],
2916
+ 'boot_up_time': frame[17],
2917
+ 'frame': frame
2918
+ }
2844
2919
  }
2845
2920
  }
2846
2921
  }
@@ -3041,15 +3116,16 @@ function sensor_types(parent){
3041
3116
  name: 'Wireless Temp Humidity Pressure Air quality Sensor',
3042
3117
  parse: (d) => {
3043
3118
  return {
3044
- temperature: signInt(d.slice(0, 2).reduce(msbLsb), 16) *100,
3045
- pressure: d.slice(2, 6).reduce(msbLsb) * 100,
3046
- humidity: d.slice(6, 10).reduce(msbLsb) * 1000,
3119
+ temperature: signInt(d.slice(0, 2).reduce(msbLsb), 16) / 100,
3120
+ pressure: d.slice(2, 6).reduce(msbLsb) / 100,
3121
+ humidity: d.slice(6, 10).reduce(msbLsb) / 1000,
3047
3122
  resistance: d.slice(10, 14).reduce(msbLsb),
3048
3123
  iaq: d.slice(14, 16).reduce(msbLsb),
3049
3124
  co2_eqv: d.slice(16, 18).reduce(msbLsb),
3050
- breath_voc: d.slice(18, 22).reduce(msbLsb)* 100,
3051
- static_iaq: d.slice(22, 26).reduce(msbLsb)* 100,
3052
- iaq_accuracy: d[27]
3125
+ breath_voc: d.slice(18, 22).reduce(msbLsb)/ 100,
3126
+ static_iaq: (d.slice(22, 26).reverse()).reduce(msbLsb)/ 100,
3127
+ // TODO Check if the iaq_accuracy should still be d[27]
3128
+ iaq_accuracy: d[26]
3053
3129
  };
3054
3130
  }
3055
3131
  },
@@ -8762,14 +8838,14 @@ function sensor_types(parent){
8762
8838
  },
8763
8839
  '202': {
8764
8840
  name: 'Wireless Weather Station',
8765
- parse: (d) => {
8841
+ parse: (payload, parsed, mac) => {
8766
8842
  return {
8767
- Temp: signInt(d.slice(0, 4).reduce(msbLsb), 32) / 100,
8768
- Humid: signInt(d.slice(4, 8).reduce(msbLsb), 32) / 100,
8769
- Pressure: signInt(d.slice(8, 12).reduce(msbLsb), 32) / 100,
8770
- WindSpd: signInt(d.slice(12, 16).reduce(msbLsb),32) / 100,
8771
- WindDir: signInt(d.slice(16, 20).reduce(msbLsb),32) / 100
8772
-
8843
+ Temp: signInt(payload.slice(8, 12).reduce(msbLsb), 32) / 100,
8844
+ Humid: signInt(payload.slice(12, 16).reduce(msbLsb), 32) / 100,
8845
+ Pressure: signInt(payload.slice(16, 20).reduce(msbLsb), 32) / 100,
8846
+ WindSpd: signInt(payload.slice(20, 24).reduce(msbLsb),32) / 100,
8847
+ WindDir: signInt(payload.slice(24, 28).reduce(msbLsb),32) / 100,
8848
+ reserve: payload[7]
8773
8849
  };
8774
8850
  }
8775
8851
  },
@@ -11112,7 +11188,7 @@ function sensor_types(parent){
11112
11188
  }
11113
11189
  },
11114
11190
  '539': {
11115
- name: 'RS-485 Modbus Wireless Converter',
11191
+ name: 'RS485 Modbus Wireless Converter',
11116
11192
  parse: (d) => {
11117
11193
  return {
11118
11194
  subdevice_type: d[0],
@@ -11140,6 +11216,22 @@ function sensor_types(parent){
11140
11216
  };
11141
11217
  }
11142
11218
  },
11219
+ '1010': {
11220
+ name: 'RS232 Wireless Converter',
11221
+ parse: (d) => {
11222
+ return {
11223
+ data: d
11224
+ };
11225
+ },
11226
+ },
11227
+ '1011': {
11228
+ name: 'RS485 Wireless Converter',
11229
+ parse: (d) => {
11230
+ return {
11231
+ data: d
11232
+ };
11233
+ },
11234
+ },
11143
11235
  '10000': {
11144
11236
  name: '4-Relay',
11145
11237
  parse: (d) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncd-io/node-red-enterprise-sensors",
3
- "version": "1.0.10",
3
+ "version": "1.1.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/wireless.html CHANGED
@@ -297,6 +297,11 @@
297
297
  deadband_80_active: {value: ""},
298
298
  deadband_80: {value: 0, validate: NCD_validators.number_range(0, 255)},
299
299
 
300
+ auto_check_interval_88_active: {value: ""},
301
+ auto_check_interval_88: {value: 60, validate: NCD_validators.number_range(0, 65535)},
302
+ auto_check_threshold_88_active: {value: ""},
303
+ auto_check_threshold_88: {value: 20, validate: NCD_validators.number_range(0, 100)},
304
+
300
305
  filter_80_active: {value: ""},
301
306
  filter_80: {value: 0},
302
307
 
@@ -350,6 +355,8 @@
350
355
  sampling_interval_101: {value: 1},
351
356
  sampling_interval_202_active: {value: ""},
352
357
  sampling_interval_202: {value: 1},
358
+ probe_boot_time_202_active: {value: ""},
359
+ probe_boot_time_202: {value: 30, validate: NCD_validators.number_range(0, 255)},
353
360
  full_scale_range_101_active: {value: ""},
354
361
  full_scale_range_101: {value: 1},
355
362
  full_scale_range_101_m2_active: {value: ""},
@@ -573,7 +580,13 @@
573
580
 
574
581
  stop_sampling:{value:0},
575
582
  extend_otf_timeout:{value:0},
576
- end_cfg:{value:0}
583
+ end_cfg:{value:0},
584
+
585
+ rtd_type_39_active:{value: ""},
586
+ rtd_type_39:{value:0},
587
+
588
+ rtd_range_39_active:{value: ""},
589
+ rtd_range_39:{value:0}
577
590
  },
578
591
  inputs: 0,
579
592
  outputs: 1,
@@ -695,10 +708,10 @@
695
708
  "535": "535 - Custom CO2 Sensor",
696
709
  "537": "537 - Custom Standalone Smart Vibration Sensor",
697
710
  "538": "538 - Custom One Channel Vibration Plus",
698
- "539": "539 - RS-485 Modbus Wireless Converter",
711
+ "539": "539 - RS485 Modbus Wireless Converter",
699
712
  "540": "540 - Wireless Ultrasonic Flow Meter FD-Q32C",
700
- "1010": "1010 - RS-232 Wireless Converter 1010",
701
- "1011": "1011 - RS-485 Wireless Converter 1011",
713
+ "1010": "1010 - RS232 Wireless Converter 1010",
714
+ "1011": "1011 - RS485 Wireless Converter 1011",
702
715
  "10000": "10000 - 4-Channel Relay",
703
716
  "10006": "10006 - 4-Channel 4-20 mA Input",
704
717
  "10007": "10007 - 4-Channel Current Monitor",
@@ -989,10 +1002,10 @@
989
1002
  <option value="535">535 - Custom CO2 Sensor</option>
990
1003
  <option value="537">537 - Custom Standalone Smart Vibration Sensor</option>
991
1004
  <option value="538">538 - Custom One Channel Vibration Plus</option>
992
- <option value="539">539 - RS-485 Modbus Wireless Converter</option>
1005
+ <option value="539">539 - RS485 Modbus Wireless Converter</option>
993
1006
  <option value="540">540 - Wireless Ultrasonic Flow Meter FD-Q32C</option>
994
- <option value="1010">1010 - RS-232 Wireless Converter 1010</option>
995
- <option value="1011">1011 - RS-485 Wireless Converter 1011</option>
1007
+ <option value="1010">1010 - RS232 Wireless Converter 1010</option>
1008
+ <option value="1011">1011 - RS485 Wireless Converter 1011</option>
996
1009
  <option value="10000">10000 - 4-Channel Relay</option>
997
1010
  <option value="10006">10006 - 4-Channel 4-20 mA Input</option>
998
1011
  <option value="10007">10007 - 4-Channel Current Monitor</option>
@@ -1735,6 +1748,17 @@
1735
1748
  <input type="checkbox" id="node-input-set_rtc_202" value="1">
1736
1749
  </div>
1737
1750
  </div>
1751
+ <div class="form-row ncd-active-check">
1752
+ <strong>Probe Boot Time</strong>
1753
+ <div>
1754
+ <label for="node-input-probe_boot_time_202_active">Active:</label>
1755
+ <input type="checkbox" id="node-input-probe_boot_time_202_active" class="ncd-config-toggle" data-target-id="node-input-probe_boot_time_202" value="1">
1756
+ </div>
1757
+ <div>
1758
+ <label for="node-input-probe_boot_time_202"><i class="icon-tag"></i>Value:</label>
1759
+ <input type="text" id="node-input-probe_boot_time_202">
1760
+ </div>
1761
+ </div>
1738
1762
  </div>
1739
1763
 
1740
1764
  <div class="ncd-dependent" data-sensor-81 data-sensor-111 data-sensor-181>
@@ -2114,7 +2138,7 @@
2114
2138
  </div>
2115
2139
  </div>
2116
2140
 
2117
- <div class="ncd-dependent" data-sensor-14 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-56 data-sensor-88 data-sensor-89 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-540>
2141
+ <div class="ncd-dependent" data-sensor-14 data-sensor-15 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-56 data-sensor-85 data-sensor-88 data-sensor-89 data-sensor-90 data-sensor-95 data-sensor-96 data-sensor-98 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-540>
2118
2142
  <div class="form-row ncd-active-check">
2119
2143
  <strong>Sensor Boot Time</strong>
2120
2144
  <p class="caption">
@@ -2132,6 +2156,38 @@
2132
2156
  </div>
2133
2157
  </div>
2134
2158
 
2159
+ <div class="ncd-dependent" data-sensor-14 data-sensor-15 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-56 data-sensor-75 data-sensor-76 data-sensor-85 data-sensor-88 data-sensor-89 data-sensor-90 data-sensor-95 data-sensor-96 data-sensor-98 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-540>
2160
+ <div class="form-row ncd-active-check">
2161
+ <strong>Auto Check Interval</strong>
2162
+ <p class="caption">
2163
+ <b>* To disable the auto check interval feature make this setting active and use a value of 0.</b>
2164
+ </p>
2165
+ <div>
2166
+ <label for="node-input-auto_check_interval_88_active">Active:</label>
2167
+ <input type="checkbox" id="node-input-auto_check_interval_88_active" class="ncd-config-toggle" data-target-id="node-input-auto_check_interval_88" value="1">
2168
+ </div>
2169
+ <div>
2170
+ <label for="node-input-auto_check_interval_88"><i class="icon-tag"></i>Value:</label>
2171
+ <input type="text" id="node-input-auto_check_interval_88" placeholder="60" value="60">
2172
+ </div>
2173
+ </div>
2174
+ <div class="form-row ncd-active-check">
2175
+ <strong>Auto Check Threshold</strong>
2176
+ <p class="caption">
2177
+ <b>This is a percent value. It will dictate a new transmission if the percentage change since last transmission exceeds the percentage set in this field.<br>
2178
+ Ex: Threshold set to 20% and last reading was 5. If Auto Check detects a value below 4 or above 6 a transmission will be sent.</b>
2179
+ </p>
2180
+ <div>
2181
+ <label for="node-input-auto_check_threshold_88_active">Active:</label>
2182
+ <input type="checkbox" id="node-input-auto_check_threshold_88_active" class="ncd-config-toggle" data-target-id="node-input-auto_check_threshold_88" value="1">
2183
+ </div>
2184
+ <div>
2185
+ <label for="node-input-auto_check_threshold_88"><i class="icon-tag"></i>Value:</label>
2186
+ <input type="text" id="node-input-auto_check_threshold_88" placeholder="20" value="20">
2187
+ </div>
2188
+ </div>
2189
+ </div>
2190
+
2135
2191
  <div class="ncd-dependent" data-sensor-78 data-sensor-79 data-sensor-91>
2136
2192
  <div class="form-row ncd-active-check">
2137
2193
  <strong>Sensor Boot Time</strong>
@@ -2149,7 +2205,7 @@
2149
2205
  </div>
2150
2206
  </div>
2151
2207
 
2152
- <div class="ncd-dependent" data-sensor-3 data-sensor-14 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-88 data-sensor-89 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-200 data-sensor-540>
2208
+ <div class="ncd-dependent" data-sensor-3 data-sensor-14 data-sensor-15 data-sensor-45 data-sensor-48 data-sensor-52 data-sensor-56 data-sensor-85 data-sensor-88 data-sensor-89 data-sensor-90 data-sensor-95 data-sensor-96 data-sensor-98 data-sensor-105 data-sensor-106 data-sensor-107 data-sensor-200 data-sensor-540>
2153
2209
  <div class="form-row ncd-active-check">
2154
2210
  <strong>Low Calibration Point</strong>
2155
2211
  <div>
@@ -2756,7 +2812,7 @@
2756
2812
  </div>
2757
2813
  </div>
2758
2814
  <div class="form-row ncd-active-check">
2759
- <strong>Set Baudrate</strong>
2815
+ <strong>Set Baud Rate</strong>
2760
2816
  <div>
2761
2817
  <label for="node-input-baudrate_539_active">Active:</label>
2762
2818
  <input type="checkbox" id="node-input-baudrate_539_active" class="ncd-config-toggle" data-target-id="node-input-baudrate_539" value="1">
@@ -3361,39 +3417,55 @@
3361
3417
  </select>
3362
3418
  </div>
3363
3419
  </div>
3364
- <div class="form-row ncd-active-check">
3365
- <strong>Set Sampling Rate</strong>
3366
- <p>
3367
- Valid Range: 30 - 20000 (Seconds).
3368
- </p>
3369
- <div>
3370
- <label for="node-input-sampling_rate_duration_active">Active:</label>
3371
- <input type="checkbox" id="node-input-sampling_rate_duration_active" class="ncd-config-toggle" data-target-id="node-input-sampling_rate_duration" value="1">
3420
+ <!--
3421
+ <div class="form-row ncd-active-check">
3422
+ <strong>Set Sampling Rate</strong>
3423
+ <p>
3424
+ Valid Range: 30 - 20000 (Seconds).
3425
+ </p>
3426
+ <div>
3427
+ <label for="node-input-sampling_rate_duration_active">Active:</label>
3428
+ <input type="checkbox" id="node-input-sampling_rate_duration_active" class="ncd-config-toggle" data-target-id="node-input-sampling_rate_duration" value="1">
3429
+ </div>
3430
+ <div>
3431
+ <label for="node-input-sampling_rate_duration"><i class="icon-tag"></i>Value:</label>
3432
+ <input type="text" id="node-input-sampling_rate_duration" placeholder="0" value="0">
3433
+ </div>
3372
3434
  </div>
3435
+ -->
3436
+ </div>
3437
+ <div class="ncd-dependent" data-sensor-39>
3438
+ <div class="form-row ncd-active-check">
3439
+ <strong>Set RTD Wire Type</strong>
3440
+ <p>The wire type of RTD Sensor Probe to be connected.</p>
3373
3441
  <div>
3374
- <label for="node-input-sampling_rate_duration"><i class="icon-tag"></i>Value:</label>
3375
- <input type="text" id="node-input-sampling_rate_duration" placeholder="0" value="0">
3442
+ <label for="node-input-rtd_type_39_active">Active:</label>
3443
+ <input type="checkbox" id="node-input-rtd_type_39_active" class="ncd-config-toggle" data-target-id="node-input-rtd_type_39" value="1">
3376
3444
  </div>
3377
- </div>
3378
- <div class="form-row ncd-active-check">
3379
- <strong>Stop Sampling</strong>
3380
3445
  <div>
3381
- <label for="node-input-stop_sampling"><i class="icon-tag"></i>Active:</label>
3382
- <input type="checkbox" id="node-input-stop_sampling" value="1">
3446
+ <label for="node-input-rtd_type_39"><i class="icon-tag"></i>Value:</label>
3447
+ <select id="node-input-rtd_type_39">
3448
+ <option selected="selected" value="0">2 Wires</option>
3449
+ <option value="1">3 Wires</option>
3450
+ <option value="2">4 Wires</option>
3451
+
3452
+ </select>
3383
3453
  </div>
3384
3454
  </div>
3385
3455
  <div class="form-row ncd-active-check">
3386
- <strong>Extend OTF Timeout</strong>
3456
+ <strong>Set RTD Range</strong>
3457
+ <p>Type of PT Sensor Probe to be connected.</p>
3387
3458
  <div>
3388
- <label for="node-input-extend_otf_timeout"><i class="icon-tag"></i>Active:</label>
3389
- <input type="checkbox" id="node-input-extend_otf_timeout" value="1">
3459
+ <label for="node-input-rtd_range_39_active">Active:</label>
3460
+ <input type="checkbox" id="node-input-rtd_range_39_active" class="ncd-config-toggle" data-target-id="node-input-rtd_range_39" value="1">
3390
3461
  </div>
3391
- </div>
3392
- <div class="form-row ncd-active-check">
3393
- <strong>End Configuration</strong>
3394
3462
  <div>
3395
- <label for="node-input-end_cfg"><i class="icon-tag"></i>Active:</label>
3396
- <input type="checkbox" id="node-input-end_cfg" value="1">
3463
+ <label for="node-input-rtd_range_39"><i class="icon-tag"></i>Value:</label>
3464
+ <select id="node-input-rtd_range_39">
3465
+ <option selected="selected" value="0">PT 100</option>
3466
+ <option value="1">PT 1000</option>
3467
+
3468
+ </select>
3397
3469
  </div>
3398
3470
  </div>
3399
3471
  </div>
package/wireless.js CHANGED
@@ -327,6 +327,9 @@ module.exports = function(RED) {
327
327
  this._gateway_node.open_comms();
328
328
  this.gateway = this._gateway_node.gateway;
329
329
 
330
+
331
+
332
+
330
333
  var node = this;
331
334
 
332
335
  node.on('close', function(){
@@ -344,6 +347,15 @@ module.exports = function(RED) {
344
347
  node.set_status = function(){
345
348
  node.status(statuses[node._gateway_node.is_config]);
346
349
  };
350
+ node.temp_send_1024 = function(frame){
351
+ console.log('TODO - Move to Emitter');
352
+ node.send({
353
+ topic: "remote_at_response",
354
+ payload: frame,
355
+ time: Date.now()
356
+ });
357
+ }
358
+
347
359
  node._gateway_node.on('send_manifest', (manifest_data) => {
348
360
  node.send({
349
361
  topic: 'sensor_manifest',
@@ -559,6 +571,9 @@ module.exports = function(RED) {
559
571
  // 'address': "00:13:a2:00:42:2c:d2:aa"
560
572
  // }
561
573
  break;
574
+ case "remote_at_send":
575
+ node.gateway.remote_at_send(msg.payload.address, msg.payload.parameter, msg.payload.value, msg.payload.options).then(node.temp_send_1024, console.log).catch(console.log);
576
+ break;
562
577
  default:
563
578
  const byteArrayToHexString = byteArray => Array.from(msg.payload.address, byte => ('0' + (byte & 0xFF).toString(16)).slice(-2)).join('');
564
579
  node.gateway.control_send(msg.payload.address, msg.payload.data, msg.payload.options).then().catch(console.log);
@@ -900,6 +915,32 @@ module.exports = function(RED) {
900
915
  if(config.high_calibration_420ma_active){
901
916
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
902
917
  }
918
+ if(config.auto_check_interval_88_active){
919
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
920
+ }
921
+ if(config.auto_check_threshold_88_active){
922
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
923
+ }
924
+ break;
925
+ case 15:
926
+ if(config.sensor_boot_time_420ma_active){
927
+ promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
928
+ }
929
+ if(config.low_calibration_420ma_active){
930
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
931
+ }
932
+ if(config.mid_calibration_420ma_active){
933
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
934
+ }
935
+ if(config.high_calibration_420ma_active){
936
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
937
+ }
938
+ if(config.auto_check_interval_88_active){
939
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
940
+ }
941
+ if(config.auto_check_threshold_88_active){
942
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
943
+ }
903
944
  break;
904
945
  case 19:
905
946
  if(config.current_calibration_13_active){
@@ -931,6 +972,7 @@ module.exports = function(RED) {
931
972
  if(config.thermocouple_type_23_active){
932
973
  promises.thermocouple_type_23 = node.config_gateway.config_set_thermocouple_type_23(mac, parseInt(config.thermocouple_type_23));
933
974
  }
975
+ break;
934
976
  case 24:
935
977
  if(config.impact_accel_active){
936
978
  promises.impact_accel = node.config_gateway.config_set_acceleration_range_24(mac, parseInt(config.impact_accel));
@@ -946,6 +988,7 @@ module.exports = function(RED) {
946
988
  }
947
989
  var interr = parseInt(config.activ_interr_x) | parseInt(config.activ_interr_y) | parseInt(config.activ_interr_z) | parseInt(config.activ_interr_op);
948
990
  promises.activity_interrupt = node.config_gateway.config_set_interrupt_24(mac, interr);
991
+ break;
949
992
  case 25:
950
993
  if(config.impact_accel_active){
951
994
  promises.impact_accel = node.config_gateway.config_set_acceleration_range_24(mac, parseInt(config.impact_accel));
@@ -961,6 +1004,7 @@ module.exports = function(RED) {
961
1004
  }
962
1005
  var interr = parseInt(config.activ_interr_x) | parseInt(config.activ_interr_y) | parseInt(config.activ_interr_z) | parseInt(config.activ_interr_op);
963
1006
  promises.activity_interrupt = node.config_gateway.config_set_interrupt_24(mac, interr);
1007
+ break;
964
1008
  case 28:
965
1009
  if(config.current_calibration_13_active){
966
1010
  var cali = parseInt(config.current_calibration_13);
@@ -1012,15 +1056,6 @@ module.exports = function(RED) {
1012
1056
  if(config.sps_skip_samples_32_active){
1013
1057
  promises.sps_skip_samples_32 = node.config_gateway.config_set_sps_skip_samples_32(mac, parseInt(config.sps_skip_samples_32));
1014
1058
  }
1015
- if(config.stop_sampling){
1016
- promises.stop_sampling = node.config_gateway.config_set_stop_sampling(mac);
1017
- }
1018
- if(config.extend_otf_timeout){
1019
- promises.extend_otf_timeout = node.config_gateway.config_set_extend_otf_timeout(mac);
1020
- }
1021
- if(config.end_cfg){
1022
- promises.end_cfg = node.config_gateway.config_set_end_cfg(mac);
1023
- }
1024
1059
  if(config.change_otf_interval_active){
1025
1060
  promises.change_otf_interval = node.config_gateway.config_set_change_otf_interval(mac, parseInt(config.change_otf_interval));
1026
1061
  }
@@ -1061,6 +1096,14 @@ module.exports = function(RED) {
1061
1096
  promises.config_set_debounce_time_35 = node.config_gateway.config_set_debounce_time_35(mac, parseInt(config.debounce_time_2));
1062
1097
  }
1063
1098
  break;
1099
+ case 39:
1100
+ if(config.rtd_type_39_active){
1101
+ promises.rtd_type_39 = node.config_gateway.config_set_rtd_type_39(mac, parseInt(config.rtd_type_39));
1102
+ }
1103
+ if(config.rtd_range_39_active){
1104
+ promises.rtd_range_39 = node.config_gateway.config_set_rtd_range_39(mac, parseInt(config.rtd_range_39));
1105
+ }
1106
+ break;
1064
1107
  case 40:
1065
1108
  promises.filtering = node.config_gateway.config_set_filtering(mac, parseInt(config.filtering));
1066
1109
  promises.data_rate = node.config_gateway.config_set_data_rate(mac, parseInt(config.data_rate));
@@ -1077,15 +1120,6 @@ module.exports = function(RED) {
1077
1120
  if(config.scd_skip_samples_44_active){
1078
1121
  promises.scd_skip_samples_44 = node.config_gateway.config_set_scd_skip_samples_44(mac, parseInt(config.scd_skip_samples_44));
1079
1122
  }
1080
- if(config.stop_sampling){
1081
- promises.stop_sampling = node.config_gateway.config_set_stop_sampling(mac);
1082
- }
1083
- if(config.extend_otf_timeout){
1084
- promises.extend_otf_timeout = node.config_gateway.config_set_extend_otf_timeout(mac);
1085
- }
1086
- if(config.end_cfg){
1087
- promises.end_cfg = node.config_gateway.config_set_end_cfg(mac);
1088
- }
1089
1123
  if(config.change_otf_interval_active){
1090
1124
  promises.change_otf_interval = node.config_gateway.config_set_change_otf_interval(mac, parseInt(config.change_otf_interval));
1091
1125
  }
@@ -1106,6 +1140,12 @@ module.exports = function(RED) {
1106
1140
  if(config.high_calibration_420ma_active){
1107
1141
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1108
1142
  }
1143
+ if(config.auto_check_interval_88_active){
1144
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1145
+ }
1146
+ if(config.auto_check_threshold_88_active){
1147
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1148
+ }
1109
1149
  break;
1110
1150
  case 46:
1111
1151
  if(config.motion_threshold_46_active){
@@ -1133,6 +1173,12 @@ module.exports = function(RED) {
1133
1173
  if(config.high_calibration_420ma_active){
1134
1174
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1135
1175
  }
1176
+ if(config.auto_check_interval_88_active){
1177
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1178
+ }
1179
+ if(config.auto_check_threshold_88_active){
1180
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1181
+ }
1136
1182
  break;
1137
1183
  case 52:
1138
1184
  if(config.sensor_boot_time_420ma_active){
@@ -1147,20 +1193,17 @@ module.exports = function(RED) {
1147
1193
  if(config.high_calibration_420ma_active){
1148
1194
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1149
1195
  }
1196
+ if(config.auto_check_interval_88_active){
1197
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1198
+ }
1199
+ if(config.auto_check_threshold_88_active){
1200
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1201
+ }
1150
1202
  break;
1151
1203
  case 53:
1152
1204
  if(config.scd_skip_samples_44_active){
1153
1205
  promises.scd_skip_samples_44 = node.config_gateway.config_set_scd_skip_samples_44(mac, parseInt(config.scd_skip_samples_44));
1154
1206
  }
1155
- if(config.stop_sampling){
1156
- promises.stop_sampling = node.config_gateway.config_set_stop_sampling(mac);
1157
- }
1158
- if(config.extend_otf_timeout){
1159
- promises.extend_otf_timeout = node.config_gateway.config_set_extend_otf_timeout(mac);
1160
- }
1161
- if(config.end_cfg){
1162
- promises.end_cfg = node.config_gateway.config_set_end_cfg(mac);
1163
- }
1164
1207
  if(config.change_otf_interval_active){
1165
1208
  promises.change_otf_interval = node.config_gateway.config_set_change_otf_interval(mac, parseInt(config.change_otf_interval));
1166
1209
  }
@@ -1172,7 +1215,22 @@ module.exports = function(RED) {
1172
1215
  if(config.sensor_boot_time_420ma_active){
1173
1216
  promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1174
1217
  }
1175
- break;
1218
+ if(config.low_calibration_420ma_active){
1219
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
1220
+ }
1221
+ if(config.mid_calibration_420ma_active){
1222
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
1223
+ }
1224
+ if(config.high_calibration_420ma_active){
1225
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1226
+ }
1227
+ if(config.auto_check_interval_88_active){
1228
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1229
+ }
1230
+ if(config.auto_check_threshold_88_active){
1231
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1232
+ }
1233
+ break;
1176
1234
  case 58:
1177
1235
  if(config.calibration_58){
1178
1236
  promises.calibration_58 = node.config_gateway.config_set_calibration_58(mac);
@@ -1183,7 +1241,15 @@ module.exports = function(RED) {
1183
1241
  if(config.set_max_range_58_active){
1184
1242
  promises.set_max_range_58 = node.config_gateway.config_set_max_range_58(mac, parseInt(config.set_max_range_58));
1185
1243
  }
1186
- break;
1244
+ break;
1245
+ case 75:
1246
+ if(config.auto_check_interval_88_active){
1247
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1248
+ }
1249
+ if(config.auto_check_threshold_88_active){
1250
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1251
+ }
1252
+ break;
1187
1253
  case 76:
1188
1254
  if(config.periodic_check_rate_76_active){
1189
1255
  promises.periodic_check_rate_76 = node.config_gateway.config_set_periodic_check_rate_76(mac, parseInt(config.periodic_check_rate_76));
@@ -1197,14 +1263,23 @@ module.exports = function(RED) {
1197
1263
  if(config.alert_duration_76_active){
1198
1264
  promises.alert_duration_76 = node.config_gateway.config_set_alert_duration_76(mac, parseInt(config.alert_duration_76));
1199
1265
  }
1266
+ if(config.auto_check_interval_88_active){
1267
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1268
+ }
1269
+ if(config.auto_check_threshold_88_active){
1270
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1271
+ }
1272
+ break;
1200
1273
  case 78:
1201
1274
  if(config.sensor_boot_time_78_active){
1202
1275
  promises.sensor_boot_time_78 = node.config_gateway.config_set_sensor_boot_time_78(mac, parseInt(config.sensor_boot_time_78));
1203
1276
  }
1277
+ break;
1204
1278
  case 79:
1205
1279
  if(config.sensor_boot_time_78_active){
1206
1280
  promises.sensor_boot_time_78 = node.config_gateway.config_set_sensor_boot_time_78(mac, parseInt(config.sensor_boot_time_78));
1207
1281
  }
1282
+ break;
1208
1283
  case 80:
1209
1284
  if(config.output_data_rate_101_active){
1210
1285
  promises.output_data_rate_101 = node.config_gateway.config_set_output_data_rate_101(mac, parseInt(config.output_data_rate_101));
@@ -1408,6 +1483,26 @@ module.exports = function(RED) {
1408
1483
  promises.set_rtc_101 = node.config_gateway.config_set_rtc_101(mac);
1409
1484
  }
1410
1485
  break;
1486
+ case 85:
1487
+ if(config.sensor_boot_time_420ma_active){
1488
+ promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1489
+ }
1490
+ if(config.low_calibration_420ma_active){
1491
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
1492
+ }
1493
+ if(config.mid_calibration_420ma_active){
1494
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
1495
+ }
1496
+ if(config.high_calibration_420ma_active){
1497
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1498
+ }
1499
+ if(config.auto_check_interval_88_active){
1500
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1501
+ }
1502
+ if(config.auto_check_threshold_88_active){
1503
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1504
+ }
1505
+ break;
1411
1506
  case 88:
1412
1507
  if(config.sensor_boot_time_420ma_active){
1413
1508
  promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
@@ -1421,6 +1516,12 @@ module.exports = function(RED) {
1421
1516
  if(config.high_calibration_420ma_active){
1422
1517
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1423
1518
  }
1519
+ if(config.auto_check_interval_88_active){
1520
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1521
+ }
1522
+ if(config.auto_check_threshold_88_active){
1523
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1524
+ }
1424
1525
  break;
1425
1526
  case 89:
1426
1527
  if(config.sensor_boot_time_420ma_active){
@@ -1435,12 +1536,98 @@ module.exports = function(RED) {
1435
1536
  if(config.high_calibration_420ma_active){
1436
1537
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1437
1538
  }
1539
+ if(config.auto_check_interval_88_active){
1540
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1541
+ }
1542
+ if(config.auto_check_threshold_88_active){
1543
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1544
+ }
1545
+ break;
1546
+ case 90:
1547
+ if(config.sensor_boot_time_420ma_active){
1548
+ promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1549
+ }
1550
+ if(config.low_calibration_420ma_active){
1551
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
1552
+ }
1553
+ if(config.mid_calibration_420ma_active){
1554
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
1555
+ }
1556
+ if(config.high_calibration_420ma_active){
1557
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1558
+ }
1559
+ if(config.auto_check_interval_88_active){
1560
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1561
+ }
1562
+ if(config.auto_check_threshold_88_active){
1563
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1564
+ }
1438
1565
  break;
1439
1566
  case 91:
1440
1567
  if(config.sensor_boot_time_78_active){
1441
1568
  promises.sensor_boot_time_78 = node.config_gateway.config_set_sensor_boot_time_78(mac, parseInt(config.sensor_boot_time_78));
1442
1569
  }
1443
1570
  break;
1571
+ case 95:
1572
+ if(config.sensor_boot_time_420ma_active){
1573
+ promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1574
+ }
1575
+ if(config.low_calibration_420ma_active){
1576
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
1577
+ }
1578
+ if(config.mid_calibration_420ma_active){
1579
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
1580
+ }
1581
+ if(config.high_calibration_420ma_active){
1582
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1583
+ }
1584
+ if(config.auto_check_interval_88_active){
1585
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1586
+ }
1587
+ if(config.auto_check_threshold_88_active){
1588
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1589
+ }
1590
+ break;
1591
+ case 96:
1592
+ if(config.sensor_boot_time_420ma_active){
1593
+ promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1594
+ }
1595
+ if(config.low_calibration_420ma_active){
1596
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
1597
+ }
1598
+ if(config.mid_calibration_420ma_active){
1599
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
1600
+ }
1601
+ if(config.high_calibration_420ma_active){
1602
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1603
+ }
1604
+ if(config.auto_check_interval_88_active){
1605
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1606
+ }
1607
+ if(config.auto_check_threshold_88_active){
1608
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1609
+ }
1610
+ break;
1611
+ case 98:
1612
+ if(config.sensor_boot_time_420ma_active){
1613
+ promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1614
+ }
1615
+ if(config.low_calibration_420ma_active){
1616
+ promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
1617
+ }
1618
+ if(config.mid_calibration_420ma_active){
1619
+ promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
1620
+ }
1621
+ if(config.high_calibration_420ma_active){
1622
+ promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1623
+ }
1624
+ if(config.auto_check_interval_88_active){
1625
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1626
+ }
1627
+ if(config.auto_check_threshold_88_active){
1628
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1629
+ }
1630
+ break;
1444
1631
  case 101:
1445
1632
  if(config.output_data_rate_101_m2_active){
1446
1633
  promises.output_data_rate_101_m2 = node.config_gateway.config_set_output_data_rate_101(mac, parseInt(config.output_data_rate_101_m2));
@@ -1489,6 +1676,12 @@ module.exports = function(RED) {
1489
1676
  if(config.high_calibration_420ma_active){
1490
1677
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1491
1678
  }
1679
+ if(config.auto_check_interval_88_active){
1680
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1681
+ }
1682
+ if(config.auto_check_threshold_88_active){
1683
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1684
+ }
1492
1685
  break;
1493
1686
  case 106:
1494
1687
  if(config.sensor_boot_time_420ma_active){
@@ -1503,6 +1696,12 @@ module.exports = function(RED) {
1503
1696
  if(config.high_calibration_420ma_active){
1504
1697
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1505
1698
  }
1699
+ if(config.auto_check_interval_88_active){
1700
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1701
+ }
1702
+ if(config.auto_check_threshold_88_active){
1703
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1704
+ }
1506
1705
  break;
1507
1706
  case 107:
1508
1707
  if(config.sensor_boot_time_420ma_active){
@@ -1517,6 +1716,12 @@ module.exports = function(RED) {
1517
1716
  if(config.high_calibration_420ma_active){
1518
1717
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1519
1718
  }
1719
+ if(config.auto_check_interval_88_active){
1720
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
1721
+ }
1722
+ if(config.auto_check_threshold_88_active){
1723
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
1724
+ }
1520
1725
  break;
1521
1726
  case 108:
1522
1727
  if(config.accelerometer_state_108_active){
@@ -1970,6 +2175,9 @@ module.exports = function(RED) {
1970
2175
  if(config.set_rtc_202){
1971
2176
  promises.set_rtc_202 = node.config_gateway.config_set_rtc_202(mac);
1972
2177
  }
2178
+ if(config.probe_boot_time_202_active){
2179
+ promises.probe_boot_time_202 = node.config_gateway.config_set_probe_boot_time_202(mac, parseInt(config.probe_boot_time_202));
2180
+ }
1973
2181
  break;
1974
2182
  case 505:
1975
2183
  if(config.current_calibration_c1_80_active){
@@ -2202,19 +2410,11 @@ module.exports = function(RED) {
2202
2410
  if(config.high_calibration_420ma_active){
2203
2411
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
2204
2412
  }
2205
- break;
2206
- case 540:
2207
- if(config.sensor_boot_time_420ma_active){
2208
- promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
2209
- }
2210
- if(config.low_calibration_420ma_active){
2211
- promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
2212
- }
2213
- if(config.mid_calibration_420ma_active){
2214
- promises.mid_calibration_420ma = node.config_gateway.config_set_mid_calibration_420ma(mac, parseInt(config.mid_calibration_420ma));
2413
+ if(config.auto_check_interval_88_active){
2414
+ promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_88(mac, parseInt(config.auto_check_interval_88));
2215
2415
  }
2216
- if(config.high_calibration_420ma_active){
2217
- promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
2416
+ if(config.auto_check_threshold_88_active){
2417
+ promises.auto_check_threshold_88 = node.config_gateway.config_set_auto_check_threshold_88(mac, parseInt(config.auto_check_threshold_88));
2218
2418
  }
2219
2419
  break;
2220
2420
  case 1010: