@halsystems/red-bacnet 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.4]
4
+ ### Added
5
+ - DiscoverPoint added new discover mode: Analog and Binary only
6
+
7
+ ## [1.1.3]
8
+ ### Change
9
+ - ReadPoint and WritePoint input schema to strip unknown properties instead of rejecting them
10
+
3
11
  ## [1.1.2]
4
12
  ### Change
5
13
  - WritePoint to not fail if point not found in points config, only raise error
@@ -38,6 +38,10 @@ const multiStateObjectTypes = [
38
38
  // const scheduleObjectTypes = [
39
39
  // baEnum.ObjectType.SCHEDULE,
40
40
  // ];
41
+ const analogBinaryObjectTypes = [
42
+ ...analogObjectTypes,
43
+ ...binaryObjectTypes,
44
+ ]
41
45
  const supportedObjectTypes = [
42
46
  ...analogObjectTypes,
43
47
  ...binaryObjectTypes,
@@ -189,9 +193,10 @@ module.exports = {
189
193
  .filter(obj => {
190
194
  if (this.discoverMode == 0) // basic
191
195
  return obj && supportedObjectTypes.includes(obj.value.type);
192
-
193
- // all
194
- return obj !== null;
196
+ else if (this.discoverMode == 2) // analog and binary
197
+ return obj !== null && analogBinaryObjectTypes.includes(obj.value.type);
198
+ else // all
199
+ return obj !== null;
195
200
  });
196
201
 
197
202
  return await readPoints(
@@ -96,7 +96,11 @@ module.exports = {
96
96
 
97
97
  this.devices.forEach(d => {
98
98
  // validate device schema
99
- const { error } = bacnetDeviceSchema.validate(d);
99
+ const { error } = bacnetDeviceSchema.validate(
100
+ d,
101
+ { stripUnknown: true }
102
+ );
103
+
100
104
  if (error) {
101
105
  deviceSchemaErrList.push(error);
102
106
  return
@@ -132,7 +136,10 @@ module.exports = {
132
136
  const dupPointNames = [];
133
137
  this.points.forEach(p => {
134
138
  // validate point schema
135
- const { error } = bacnetPointSchema.validate(p);
139
+ const { error } = bacnetPointSchema.validate(
140
+ p,
141
+ { stripUnknown: true }
142
+ );
136
143
  if (error) {
137
144
  pointSchemaErrList.push(error);
138
145
  return
@@ -116,7 +116,10 @@ module.exports = {
116
116
  const dupDeviceNames = [];
117
117
  this.devices.forEach(d => {
118
118
  // validate device schema
119
- const { error } = bacnetDeviceSchema.validate(d);
119
+ const { error } = bacnetDeviceSchema.validate(
120
+ d,
121
+ { stripUnknown: true }
122
+ );
120
123
  if (error) {
121
124
  deviceSchemaErrList.push(error);
122
125
  return
@@ -152,7 +155,10 @@ module.exports = {
152
155
  const dupPointNames = [];
153
156
  this.points.forEach(p => {
154
157
  // validate point schema
155
- const { error } = bacnetPointSchema.validate(p);
158
+ const { error } = bacnetPointSchema.validate(
159
+ p,
160
+ { stripUnknown: true }
161
+ );
156
162
  if (error) {
157
163
  pointSchemaErrList.push(error);
158
164
  return
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halsystems/red-bacnet",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "NodeRED BACnet IP client",
5
5
  "email": "open_source@halsystems.com.au",
6
6
  "repository": {
@@ -35,6 +35,7 @@
35
35
  <select id="node-input-discoverMode">
36
36
  <option value="0">Supported Objects Only</option>
37
37
  <option value="1">All Objects</option>
38
+ <option value="2">Analog and Binary Only</option>
38
39
  </select>
39
40
  </div>
40
41
  <div class="form-row">
@@ -69,6 +70,7 @@
69
70
  <dt>discoverMode<span class="property-type">number</span></dt>
70
71
  <dd> <b>Supported Objects Only</b>: AI, AO, AV, BI, BO, BV, MSI, MSO, MSV</dd>
71
72
  <dd> <b>All Objects</b>: All object types</dd>
73
+ <dd> <b>Analog and Binary Only</b>: AI, AO, AV, BI, BO, BV</dd>
72
74
 
73
75
  <dt>readMethod<span class="property-type">number</span></dt>
74
76
  <dd> <b>Read Single Only</b>: use <code>readProperty</code></dd>