@halsystems/red-bacnet 1.2.0 → 1.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.0]
4
+ ### Added
5
+ - WritePoint added concurrentTaskDelay config to control delay between concurrent tasks
6
+
7
+ ### Changed
8
+ - Default maxConcurrentDeviceRead to 1 for discover_point, read_point and write_point
9
+
3
10
  ## [1.2.0]
4
11
  ### Added
5
12
  - DiscoverPoint and ReadPoint added concurrentTaskDelay config to control delay between concurrent tasks
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halsystems/red-bacnet",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "NodeRED BACnet IP client",
5
5
  "email": "open_source@halsystems.com.au",
6
6
  "repository": {
@@ -8,9 +8,9 @@
8
8
  discoverMode: { value: 0, required: true, validate: RED.validators.number() },
9
9
  readMethod: { value: 2, required: true, validate: RED.validators.number() },
10
10
  groupExportDeviceCount: { value: 30000, required: true, validate: RED.validators.number() },
11
- maxConcurrentDeviceRead: { value: 3, required: true, validate: RED.validators.number() },
11
+ maxConcurrentDeviceRead: { value: 1, required: true, validate: RED.validators.number() },
12
12
  maxConcurrentSinglePointRead: { value: 10, required: true, validate: RED.validators.number() },
13
- concurrentTaskDelay: { value: 10, required: true, validate: RED.validators.number() },
13
+ concurrentTaskDelay: { value: 0, required: true, validate: RED.validators.number() },
14
14
  },
15
15
  inputs: 1,
16
16
  outputs: 1,
@@ -52,7 +52,7 @@
52
52
  </div>
53
53
  <div class="form-row">
54
54
  <label for="node-input-maxConcurrentDeviceRead"><i class="fa fa-tag"></i> Max Concurrent Device Read</label>
55
- <input type="number" id="node-input-maxConcurrentDeviceRead" placeholder="3" , min="1" , max="1000">
55
+ <input type="number" id="node-input-maxConcurrentDeviceRead" placeholder="1" , min="1" , max="1000">
56
56
  </div>
57
57
  <div class="form-row">
58
58
  <label for="node-input-maxConcurrentSinglePointRead"><i class="fa fa-tag"></i> Max Concurrent Single Point Read</label>
@@ -60,7 +60,7 @@
60
60
  </div>
61
61
  <div class="form-row">
62
62
  <label for="node-input-concurrentTaskDelay"><i class="fa fa-tag"></i> Concurrent Task Delay (ms)</label>
63
- <input type="number" id="node-input-concurrentTaskDelay" placeholder="10" min="0" max="10000">
63
+ <input type="number" id="node-input-concurrentTaskDelay" placeholder="0" min="0" max="10000">
64
64
  </div>
65
65
  </script>
66
66
 
@@ -6,9 +6,9 @@
6
6
  name: { value: "" },
7
7
  client: { type: "bacnet client", required: true },
8
8
  readMethod: { value: 1, required: true, validate: RED.validators.number() },
9
- maxConcurrentDeviceRead: { value: 3, required: true, validate: RED.validators.number() },
9
+ maxConcurrentDeviceRead: { value: 1, required: true, validate: RED.validators.number() },
10
10
  maxConcurrentSinglePointRead: { value: 10, required: true, validate: RED.validators.number() },
11
- concurrentTaskDelay: { value: 10, required: true, validate: RED.validators.number() },
11
+ concurrentTaskDelay: { value: 0, required: true, validate: RED.validators.number() },
12
12
  },
13
13
  inputs: 1,
14
14
  outputs: 1,
@@ -39,7 +39,7 @@
39
39
  </div>
40
40
  <div class="form-row">
41
41
  <label for="node-input-maxConcurrentDeviceRead"><i class="fa fa-tag"></i> Max Concurrent Device Read</label>
42
- <input type="number" id="node-input-maxConcurrentDeviceRead" placeholder="3" , min="1" , max="1000">
42
+ <input type="number" id="node-input-maxConcurrentDeviceRead" placeholder="1" , min="1" , max="1000">
43
43
  </div>
44
44
  <div class="form-row">
45
45
  <label for="node-input-maxConcurrentSinglePointRead"><i class="fa fa-tag"></i> Max Concurrent Single Point
@@ -48,7 +48,7 @@
48
48
  </div>
49
49
  <div class="form-row">
50
50
  <label for="node-input-concurrentTaskDelay"><i class="fa fa-tag"></i> Concurrent Task Delay (ms)</label>
51
- <input type="number" id="node-input-concurrentTaskDelay" placeholder="10" , min="0" , max="10000">
51
+ <input type="number" id="node-input-concurrentTaskDelay" placeholder="0" , min="0" , max="10000">
52
52
  </div>
53
53
  </script>
54
54
 
@@ -5,8 +5,9 @@
5
5
  defaults: {
6
6
  name: { value: "" },
7
7
  client: { type: "bacnet client", required: true },
8
- maxConcurrentDeviceWrite: { value: 3, required: true, validate: RED.validators.number() },
8
+ maxConcurrentDeviceWrite: { value: 1, required: true, validate: RED.validators.number() },
9
9
  maxConcurrentPointWrite: { value: 5, required: true, validate: RED.validators.number() },
10
+ concurrentTaskDelay: { value: 0, required: true, validate: RED.validators.number() },
10
11
  },
11
12
  inputs: 1,
12
13
  outputs: 1,
@@ -29,12 +30,16 @@
29
30
  </div>
30
31
  <div class="form-row">
31
32
  <label for="node-input-maxConcurrentDeviceWrite"><i class="fa fa-tag"></i> Max Concurrent Device Write</label>
32
- <input type="number" id="node-input-maxConcurrentDeviceWrite" placeholder="3" , min="1" , max="1000">
33
+ <input type="number" id="node-input-maxConcurrentDeviceWrite" placeholder="1" , min="1" , max="1000">
33
34
  </div>
34
35
  <div class="form-row">
35
36
  <label for="node-input-maxConcurrentPointWrite"><i class="fa fa-tag"></i> Max Concurrent Point Write</label>
36
37
  <input type="number" id="node-input-maxConcurrentPointWrite" placeholder="5" , min="1" , max="1000">
37
38
  </div>
39
+ <div class="form-row">
40
+ <label for="node-input-concurrentTaskDelay"><i class="fa fa-tag"></i> Concurrent Task Delay</label>
41
+ <input type="number" id="node-input-concurrentTaskDelay" placeholder="0" , min="0" , max="10000">
42
+ </div>
38
43
  </script>
39
44
 
40
45
  <script type="text/html" data-help-name="write point">
@@ -52,6 +57,9 @@
52
57
  <dt>maxConcurrentPointWrite<span class="property-type">number</span></dt>
53
58
  <dd> Number of points to write simultaneously</dd>
54
59
  <dd> <b>USE WITH CAUTION!</b> Reduce to low value if field BACnet device is underpowered</dd>
60
+
61
+ <dt>concurrentTaskDelay<span class="property-type">number</span></dt>
62
+ <dd> Delay in milliseconds between delay writing</dd>
55
63
  </dl>
56
64
 
57
65
  <h3>Inputs</h3>
@@ -73,4 +81,4 @@
73
81
 
74
82
  <h3>Details</h3>
75
83
  <p>If node is triggered while existing job is running, new job will be coalesced if <code>msg.id</code> are identical, else new job will be put in queue until current job is completed.</p>
76
- </script>
84
+ </script>
@@ -23,6 +23,7 @@ module.exports = function (RED) {
23
23
  this.client = RED.nodes.getNode(config.client).instance;
24
24
  this.maxConcurrentDeviceWrite = +config.maxConcurrentDeviceWrite
25
25
  this.maxConcurrentPointWrite = +config.maxConcurrentPointWrite
26
+ this.concurrentTaskDelay = +config.concurrentTaskDelay
26
27
 
27
28
  // events
28
29
  this.#subscribeListeners();
@@ -45,7 +46,8 @@ module.exports = function (RED) {
45
46
  msg.points,
46
47
  msg.writePoints,
47
48
  this.maxConcurrentDeviceWrite,
48
- this.maxConcurrentPointWrite
49
+ this.maxConcurrentPointWrite,
50
+ this.concurrentTaskDelay
49
51
  );
50
52
 
51
53
  this.job.addJob({
@@ -81,4 +83,3 @@ module.exports = function (RED) {
81
83
  // ----- register node -----
82
84
  RED.nodes.registerType('write point', WritePoint);
83
85
  }
84
-