@ncd-io/node-red-enterprise-sensors 1.0.11 → 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,14 +1411,20 @@ module.exports = class WirelessSensor{
1406
1411
  console.log(packet);
1407
1412
  return this.config_send(sensor_mac, packet);
1408
1413
  }
1409
- config_set_auto_check_interval_check_88(sensor_mac, value){
1410
- console.log('config_set_disable_auto_check_88');
1414
+ config_set_auto_check_interval_88(sensor_mac, value){
1415
+ console.log('config_set_auto_check_interval_88');
1411
1416
  let packet = [244, 70, 0, 0, 88];
1412
1417
  let interval = int2Bytes((value), 2);
1413
1418
  packet.push(...interval);
1414
1419
  console.log(packet);
1415
1420
  return this.config_send(sensor_mac, packet);
1416
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
+ }
1417
1428
  config_set_stay_on_mode_539(sensor_mac, value){
1418
1429
  console.log('config_set_stay_on_mode_539');
1419
1430
  var packet = [247, 50, 0, 0, 0, value];
@@ -1649,24 +1660,6 @@ module.exports = class WirelessSensor{
1649
1660
  console.log(packet);
1650
1661
  return this.config_send(sensor_mac, packet);
1651
1662
  }
1652
- config_set_stop_sampling(sensor_mac){
1653
- console.log('config_set_stop_sampling');
1654
- var packet = [244, 37, 0, 2, 5];
1655
- console.log(packet);
1656
- return this.config_send(sensor_mac, packet);
1657
- }
1658
- config_set_extend_otf_timeout(sensor_mac){
1659
- console.log('config_set_extend_otf_timeout');
1660
- var packet = [244, 38, 0, 2, 5];
1661
- console.log(packet);
1662
- return this.config_send(sensor_mac, packet);
1663
- }
1664
- config_set_end_cfg(sensor_mac){
1665
- console.log('config_set_end_cfg');
1666
- var packet = [244, 39, 0, 2, 5];
1667
- console.log(packet);
1668
- return this.config_send(sensor_mac, packet);
1669
- }
1670
1663
  config_set_change_otf_interval(sensor_mac, value){
1671
1664
  console.log('config_set_change_otf_interval');
1672
1665
  var packet = [244, 40, 0, 2, 5];
@@ -1701,6 +1694,18 @@ module.exports = class WirelessSensor{
1701
1694
  console.log(packet);
1702
1695
  return this.config_send(sensor_mac, packet);
1703
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
+ }
1704
1709
  config_get_delay(sensor_mac){
1705
1710
  return new Promise((fulfill, reject) => {
1706
1711
  this.config_send(sensor_mac, [247, 21, 0, 0, 0]).then((res) => {
@@ -2125,6 +2130,53 @@ module.exports = class WirelessSensor{
2125
2130
  });
2126
2131
  });
2127
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
+ }
2128
2180
  route_discover(sensor_mac, opts){
2129
2181
  var data = [85];
2130
2182
  var that = this;
@@ -2583,10 +2635,9 @@ function sensor_types(parent){
2583
2635
  parse: (payload, parsed, mac) => {
2584
2636
  if(parsed.firmware > 3){
2585
2637
  return {
2586
- input_1: payload[8],
2587
- current_detect: payload[9],
2588
- total_uptime: payload.slice(10, 14).reduce(msbLsb),
2589
- 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)
2590
2641
  };
2591
2642
  }else{
2592
2643
  return {
@@ -2836,19 +2887,35 @@ function sensor_types(parent){
2836
2887
  frame_data.fsr = "+-6.144 V";
2837
2888
  break;
2838
2889
  }
2839
- return {
2840
- 'firmware': frame[2],
2841
- 'report_rate': frame.slice(12, 16).reduce(msbLsb),
2842
- 'fsr':frame_data.fsr,
2843
- 'boot_up_time': frame[17],
2844
- 'adc_pin_reading': frame.slice(18, 20).reduce(msbLsb),
2845
- 'machine_values': {
2890
+ if(frame[2]>12){
2891
+ return {
2846
2892
  'firmware': frame[2],
2847
- 'report_rate': frame.slice(12, 16),
2848
- 'fsr':frame[16],
2893
+ 'report_rate': frame.slice(12, 16).reduce(msbLsb),
2894
+ 'fsr':frame_data.fsr,
2849
2895
  'boot_up_time': frame[17],
2850
- 'adc_pin_reading': frame.slice(18, 20),
2851
- '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
+ }
2852
2919
  }
2853
2920
  }
2854
2921
  }
@@ -3049,15 +3116,16 @@ function sensor_types(parent){
3049
3116
  name: 'Wireless Temp Humidity Pressure Air quality Sensor',
3050
3117
  parse: (d) => {
3051
3118
  return {
3052
- temperature: signInt(d.slice(0, 2).reduce(msbLsb), 16) *100,
3053
- pressure: d.slice(2, 6).reduce(msbLsb) * 100,
3054
- 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,
3055
3122
  resistance: d.slice(10, 14).reduce(msbLsb),
3056
3123
  iaq: d.slice(14, 16).reduce(msbLsb),
3057
3124
  co2_eqv: d.slice(16, 18).reduce(msbLsb),
3058
- breath_voc: d.slice(18, 22).reduce(msbLsb)* 100,
3059
- static_iaq: d.slice(22, 26).reduce(msbLsb)* 100,
3060
- 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]
3061
3129
  };
3062
3130
  }
3063
3131
  },
@@ -8770,14 +8838,14 @@ function sensor_types(parent){
8770
8838
  },
8771
8839
  '202': {
8772
8840
  name: 'Wireless Weather Station',
8773
- parse: (d) => {
8841
+ parse: (payload, parsed, mac) => {
8774
8842
  return {
8775
- Temp: signInt(d.slice(0, 4).reduce(msbLsb), 32) / 100,
8776
- Humid: signInt(d.slice(4, 8).reduce(msbLsb), 32) / 100,
8777
- Pressure: signInt(d.slice(8, 12).reduce(msbLsb), 32) / 100,
8778
- WindSpd: signInt(d.slice(12, 16).reduce(msbLsb),32) / 100,
8779
- WindDir: signInt(d.slice(16, 20).reduce(msbLsb),32) / 100
8780
-
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]
8781
8849
  };
8782
8850
  }
8783
8851
  },
@@ -11120,7 +11188,7 @@ function sensor_types(parent){
11120
11188
  }
11121
11189
  },
11122
11190
  '539': {
11123
- name: 'RS-485 Modbus Wireless Converter',
11191
+ name: 'RS485 Modbus Wireless Converter',
11124
11192
  parse: (d) => {
11125
11193
  return {
11126
11194
  subdevice_type: d[0],
@@ -11148,6 +11216,22 @@ function sensor_types(parent){
11148
11216
  };
11149
11217
  }
11150
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
+ },
11151
11235
  '10000': {
11152
11236
  name: '4-Relay',
11153
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.11",
3
+ "version": "1.1.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/wireless.html CHANGED
@@ -299,6 +299,8 @@
299
299
 
300
300
  auto_check_interval_88_active: {value: ""},
301
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)},
302
304
 
303
305
  filter_80_active: {value: ""},
304
306
  filter_80: {value: 0},
@@ -353,6 +355,8 @@
353
355
  sampling_interval_101: {value: 1},
354
356
  sampling_interval_202_active: {value: ""},
355
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)},
356
360
  full_scale_range_101_active: {value: ""},
357
361
  full_scale_range_101: {value: 1},
358
362
  full_scale_range_101_m2_active: {value: ""},
@@ -576,7 +580,13 @@
576
580
 
577
581
  stop_sampling:{value:0},
578
582
  extend_otf_timeout:{value:0},
579
- 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}
580
590
  },
581
591
  inputs: 0,
582
592
  outputs: 1,
@@ -698,10 +708,10 @@
698
708
  "535": "535 - Custom CO2 Sensor",
699
709
  "537": "537 - Custom Standalone Smart Vibration Sensor",
700
710
  "538": "538 - Custom One Channel Vibration Plus",
701
- "539": "539 - RS-485 Modbus Wireless Converter",
711
+ "539": "539 - RS485 Modbus Wireless Converter",
702
712
  "540": "540 - Wireless Ultrasonic Flow Meter FD-Q32C",
703
- "1010": "1010 - RS-232 Wireless Converter 1010",
704
- "1011": "1011 - RS-485 Wireless Converter 1011",
713
+ "1010": "1010 - RS232 Wireless Converter 1010",
714
+ "1011": "1011 - RS485 Wireless Converter 1011",
705
715
  "10000": "10000 - 4-Channel Relay",
706
716
  "10006": "10006 - 4-Channel 4-20 mA Input",
707
717
  "10007": "10007 - 4-Channel Current Monitor",
@@ -992,10 +1002,10 @@
992
1002
  <option value="535">535 - Custom CO2 Sensor</option>
993
1003
  <option value="537">537 - Custom Standalone Smart Vibration Sensor</option>
994
1004
  <option value="538">538 - Custom One Channel Vibration Plus</option>
995
- <option value="539">539 - RS-485 Modbus Wireless Converter</option>
1005
+ <option value="539">539 - RS485 Modbus Wireless Converter</option>
996
1006
  <option value="540">540 - Wireless Ultrasonic Flow Meter FD-Q32C</option>
997
- <option value="1010">1010 - RS-232 Wireless Converter 1010</option>
998
- <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>
999
1009
  <option value="10000">10000 - 4-Channel Relay</option>
1000
1010
  <option value="10006">10006 - 4-Channel 4-20 mA Input</option>
1001
1011
  <option value="10007">10007 - 4-Channel Current Monitor</option>
@@ -1738,6 +1748,17 @@
1738
1748
  <input type="checkbox" id="node-input-set_rtc_202" value="1">
1739
1749
  </div>
1740
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>
1741
1762
  </div>
1742
1763
 
1743
1764
  <div class="ncd-dependent" data-sensor-81 data-sensor-111 data-sensor-181>
@@ -2117,7 +2138,7 @@
2117
2138
  </div>
2118
2139
  </div>
2119
2140
 
2120
- <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>
2121
2142
  <div class="form-row ncd-active-check">
2122
2143
  <strong>Sensor Boot Time</strong>
2123
2144
  <p class="caption">
@@ -2135,7 +2156,7 @@
2135
2156
  </div>
2136
2157
  </div>
2137
2158
 
2138
- <div class="ncd-dependent" data-sensor-88 data-sensor-89>
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>
2139
2160
  <div class="form-row ncd-active-check">
2140
2161
  <strong>Auto Check Interval</strong>
2141
2162
  <p class="caption">
@@ -2150,6 +2171,21 @@
2150
2171
  <input type="text" id="node-input-auto_check_interval_88" placeholder="60" value="60">
2151
2172
  </div>
2152
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>
2153
2189
  </div>
2154
2190
 
2155
2191
  <div class="ncd-dependent" data-sensor-78 data-sensor-79 data-sensor-91>
@@ -2169,7 +2205,7 @@
2169
2205
  </div>
2170
2206
  </div>
2171
2207
 
2172
- <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>
2173
2209
  <div class="form-row ncd-active-check">
2174
2210
  <strong>Low Calibration Point</strong>
2175
2211
  <div>
@@ -2776,7 +2812,7 @@
2776
2812
  </div>
2777
2813
  </div>
2778
2814
  <div class="form-row ncd-active-check">
2779
- <strong>Set Baudrate</strong>
2815
+ <strong>Set Baud Rate</strong>
2780
2816
  <div>
2781
2817
  <label for="node-input-baudrate_539_active">Active:</label>
2782
2818
  <input type="checkbox" id="node-input-baudrate_539_active" class="ncd-config-toggle" data-target-id="node-input-baudrate_539" value="1">
@@ -3381,39 +3417,55 @@
3381
3417
  </select>
3382
3418
  </div>
3383
3419
  </div>
3384
- <div class="form-row ncd-active-check">
3385
- <strong>Set Sampling Rate</strong>
3386
- <p>
3387
- Valid Range: 30 - 20000 (Seconds).
3388
- </p>
3389
- <div>
3390
- <label for="node-input-sampling_rate_duration_active">Active:</label>
3391
- <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>
3392
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>
3393
3441
  <div>
3394
- <label for="node-input-sampling_rate_duration"><i class="icon-tag"></i>Value:</label>
3395
- <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">
3396
3444
  </div>
3397
- </div>
3398
- <div class="form-row ncd-active-check">
3399
- <strong>Stop Sampling</strong>
3400
3445
  <div>
3401
- <label for="node-input-stop_sampling"><i class="icon-tag"></i>Active:</label>
3402
- <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>
3403
3453
  </div>
3404
3454
  </div>
3405
3455
  <div class="form-row ncd-active-check">
3406
- <strong>Extend OTF Timeout</strong>
3456
+ <strong>Set RTD Range</strong>
3457
+ <p>Type of PT Sensor Probe to be connected.</p>
3407
3458
  <div>
3408
- <label for="node-input-extend_otf_timeout"><i class="icon-tag"></i>Active:</label>
3409
- <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">
3410
3461
  </div>
3411
- </div>
3412
- <div class="form-row ncd-active-check">
3413
- <strong>End Configuration</strong>
3414
3462
  <div>
3415
- <label for="node-input-end_cfg"><i class="icon-tag"></i>Active:</label>
3416
- <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>
3417
3469
  </div>
3418
3470
  </div>
3419
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));
@@ -1422,7 +1517,10 @@ module.exports = function(RED) {
1422
1517
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1423
1518
  }
1424
1519
  if(config.auto_check_interval_88_active){
1425
- promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_check_88(mac, parseInt(config.auto_check_interval_88));
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));
1426
1524
  }
1427
1525
  break;
1428
1526
  case 89:
@@ -1439,7 +1537,30 @@ module.exports = function(RED) {
1439
1537
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1440
1538
  }
1441
1539
  if(config.auto_check_interval_88_active){
1442
- promises.auto_check_interval_88 = node.config_gateway.config_set_auto_check_interval_check_88(mac, parseInt(config.auto_check_interval_88));
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));
1443
1564
  }
1444
1565
  break;
1445
1566
  case 91:
@@ -1447,6 +1568,66 @@ module.exports = function(RED) {
1447
1568
  promises.sensor_boot_time_78 = node.config_gateway.config_set_sensor_boot_time_78(mac, parseInt(config.sensor_boot_time_78));
1448
1569
  }
1449
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;
1450
1631
  case 101:
1451
1632
  if(config.output_data_rate_101_m2_active){
1452
1633
  promises.output_data_rate_101_m2 = node.config_gateway.config_set_output_data_rate_101(mac, parseInt(config.output_data_rate_101_m2));
@@ -1495,6 +1676,12 @@ module.exports = function(RED) {
1495
1676
  if(config.high_calibration_420ma_active){
1496
1677
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1497
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
+ }
1498
1685
  break;
1499
1686
  case 106:
1500
1687
  if(config.sensor_boot_time_420ma_active){
@@ -1509,6 +1696,12 @@ module.exports = function(RED) {
1509
1696
  if(config.high_calibration_420ma_active){
1510
1697
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1511
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
+ }
1512
1705
  break;
1513
1706
  case 107:
1514
1707
  if(config.sensor_boot_time_420ma_active){
@@ -1523,6 +1716,12 @@ module.exports = function(RED) {
1523
1716
  if(config.high_calibration_420ma_active){
1524
1717
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
1525
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
+ }
1526
1725
  break;
1527
1726
  case 108:
1528
1727
  if(config.accelerometer_state_108_active){
@@ -1976,6 +2175,9 @@ module.exports = function(RED) {
1976
2175
  if(config.set_rtc_202){
1977
2176
  promises.set_rtc_202 = node.config_gateway.config_set_rtc_202(mac);
1978
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
+ }
1979
2181
  break;
1980
2182
  case 505:
1981
2183
  if(config.current_calibration_c1_80_active){
@@ -2208,19 +2410,11 @@ module.exports = function(RED) {
2208
2410
  if(config.high_calibration_420ma_active){
2209
2411
  promises.high_calibration_420ma = node.config_gateway.config_set_high_calibration_420ma(mac, parseInt(config.high_calibration_420ma));
2210
2412
  }
2211
- break;
2212
- case 540:
2213
- if(config.sensor_boot_time_420ma_active){
2214
- promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
2215
- }
2216
- if(config.low_calibration_420ma_active){
2217
- promises.low_calibration_420ma = node.config_gateway.config_set_low_calibration_420ma(mac, parseInt(config.low_calibration_420ma));
2218
- }
2219
- if(config.mid_calibration_420ma_active){
2220
- 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));
2221
2415
  }
2222
- if(config.high_calibration_420ma_active){
2223
- 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));
2224
2418
  }
2225
2419
  break;
2226
2420
  case 1010: