node-red-contrib-mobius-flow-base 3.1.1 → 3.1.3

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.
@@ -45,7 +45,10 @@ module.exports = function (RED) {
45
45
  node.on('input', function (msg) {
46
46
  let uri = node.mobject;
47
47
  let value = null;
48
- if (msg.hasOwnProperty('topic') && require('./validateURI')(msg.topic, 4)) {
48
+ if (
49
+ msg.hasOwnProperty('topic') &&
50
+ require('./validateURI')(msg.topic, 4)
51
+ ) {
49
52
  uri = msg.topic;
50
53
  }
51
54
  if (msg.hasOwnProperty('payload')) {
@@ -58,33 +61,52 @@ module.exports = function (RED) {
58
61
  text: 'Busy',
59
62
  });
60
63
 
61
- node.serviceConn.multiWriteResourceValue(uri, value, (err, response) => {
62
- if (err) {
63
- node.status({
64
- fill: 'yellow',
65
- shape: 'dot',
66
- text: 'Error: ' + JSON.stringify(err.code),
67
- });
68
- node.error('Mobius error writing multiple resources ' + JSON.stringify(err));
69
- if (node.detailedOutput === true) {
70
- node.send([null, { ...msg, topic: uri, payload: { error: true, response: err } }]);
71
- }
72
- } else {
73
- node.status({
74
- fill: 'green',
75
- shape: 'dot',
76
- text: 'OK',
77
- });
78
- if (node.detailedOutput === true) {
79
- node.send([
80
- { ...msg, topic: uri, payload: response.data },
81
- { ...msg, topic: uri, payload: { error: false, response: response } },
82
- ]);
64
+ node.serviceConn.multiWriteResourceValue(
65
+ uri,
66
+ value,
67
+ (err, response) => {
68
+ if (err) {
69
+ node.status({
70
+ fill: 'yellow',
71
+ shape: 'dot',
72
+ text: 'Error: ' + JSON.stringify(err.code),
73
+ });
74
+ node.error(
75
+ `Mobius error writing multiple resources: ${err.code}, ${
76
+ err.message ? err.message : ''
77
+ }`
78
+ );
79
+ if (node.detailedOutput === true) {
80
+ node.send([
81
+ null,
82
+ {
83
+ ...msg,
84
+ topic: uri,
85
+ payload: { error: true, response: err },
86
+ },
87
+ ]);
88
+ }
83
89
  } else {
84
- node.send([{ ...msg, topic: uri, payload: response.data }]);
90
+ node.status({
91
+ fill: 'green',
92
+ shape: 'dot',
93
+ text: 'OK',
94
+ });
95
+ if (node.detailedOutput === true) {
96
+ node.send([
97
+ { ...msg, topic: uri, payload: response.data },
98
+ {
99
+ ...msg,
100
+ topic: uri,
101
+ payload: { error: false, response: response },
102
+ },
103
+ ]);
104
+ } else {
105
+ node.send([{ ...msg, topic: uri, payload: response.data }]);
106
+ }
85
107
  }
86
108
  }
87
- });
109
+ );
88
110
  }
89
111
  });
90
112
 
@@ -98,5 +120,8 @@ module.exports = function (RED) {
98
120
  }
99
121
  }
100
122
 
101
- RED.nodes.registerType('mobius set multi-resource', MobiusSetMultiResourceNode);
123
+ RED.nodes.registerType(
124
+ 'mobius set multi-resource',
125
+ MobiusSetMultiResourceNode
126
+ );
102
127
  };
@@ -28,7 +28,7 @@
28
28
  'use strict';
29
29
 
30
30
  module.exports = function (RED) {
31
- function MobiusSetResourceNode (n) {
31
+ function MobiusSetResourceNode(n) {
32
32
  RED.nodes.createNode(this, n);
33
33
  this.detailedOutput = n.detailedOutput;
34
34
  this.resource = n.resource;
@@ -40,14 +40,17 @@ module.exports = function (RED) {
40
40
  node.status({
41
41
  fill: 'red',
42
42
  shape: 'ring',
43
- text: 'Disconnected'
43
+ text: 'Disconnected',
44
44
  });
45
45
 
46
46
  node.on('input', function (msg) {
47
47
  let uri = node.resource;
48
48
  let value = null;
49
49
  let pri = parseInt(node.priority);
50
- if (msg.hasOwnProperty('topic') && require('./validateURI')(msg.topic, 5)) {
50
+ if (
51
+ msg.hasOwnProperty('topic') &&
52
+ require('./validateURI')(msg.topic, 5)
53
+ ) {
51
54
  uri = msg.topic;
52
55
  }
53
56
  if (msg.hasOwnProperty('payload')) {
@@ -60,73 +63,144 @@ module.exports = function (RED) {
60
63
  node.status({
61
64
  fill: 'green',
62
65
  shape: 'ring',
63
- text: 'Busy'
66
+ text: 'Busy',
64
67
  });
65
68
 
66
69
  if (value === null) {
67
- node.serviceConn.clearResourcePriority(uri, pri, (err, response) => {
68
- if (err) {
69
- node.status({
70
- fill: 'yellow',
71
- shape: 'dot',
72
- text: 'Error: ' + JSON.stringify(err.code)
73
- });
74
- node.error('Mobius error clearing resource priority ' + JSON.stringify(err));
75
- if (node.detailedOutput === true) {
76
- node.send([null, null, null, { ...msg, topic: uri, payload: { error: true, response: err }}]);
77
- }
78
- } else {
79
- node.status({
80
- fill: 'green',
81
- shape: 'dot',
82
- text: JSON.stringify(response.data.pv)
83
- });
84
- if (node.detailedOutput === true) {
85
- node.send([
86
- { ...msg, topic: uri, payload: response.data.pv },
87
- { ...msg, topic: uri, payload: { pv: response.data.pv, name: response.data.name } },
88
- { ...msg, topic: uri, payload: response.data },
89
- { ...msg, topic: uri, payload: { error: false, response: response } }
90
- ]);
70
+ node.serviceConn.clearResourcePriority(
71
+ uri,
72
+ pri,
73
+ (err, response) => {
74
+ if (err) {
75
+ node.status({
76
+ fill: 'yellow',
77
+ shape: 'dot',
78
+ text: 'Error: ' + JSON.stringify(err.code),
79
+ });
80
+ node.error(
81
+ `Mobius error clearing resource priority: ${err.code}, ${
82
+ err.message ? err.message : ''
83
+ }`
84
+ );
85
+ if (node.detailedOutput === true) {
86
+ node.send([
87
+ null,
88
+ null,
89
+ null,
90
+ {
91
+ ...msg,
92
+ topic: uri,
93
+ payload: { error: true, response: err },
94
+ },
95
+ ]);
96
+ }
91
97
  } else {
92
- node.send([
93
- { ...msg, topic: uri, payload: response.data.pv },
94
- { ...msg, topic: uri, payload: { pv: response.data.pv, name: response.data.name } }
95
- ]);
98
+ node.status({
99
+ fill: 'green',
100
+ shape: 'dot',
101
+ text: JSON.stringify(response.data.pv),
102
+ });
103
+ if (node.detailedOutput === true) {
104
+ node.send([
105
+ { ...msg, topic: uri, payload: response.data.pv },
106
+ {
107
+ ...msg,
108
+ topic: uri,
109
+ payload: {
110
+ pv: response.data.pv,
111
+ name: response.data.name,
112
+ },
113
+ },
114
+ { ...msg, topic: uri, payload: response.data },
115
+ {
116
+ ...msg,
117
+ topic: uri,
118
+ payload: { error: false, response: response },
119
+ },
120
+ ]);
121
+ } else {
122
+ node.send([
123
+ { ...msg, topic: uri, payload: response.data.pv },
124
+ {
125
+ ...msg,
126
+ topic: uri,
127
+ payload: {
128
+ pv: response.data.pv,
129
+ name: response.data.name,
130
+ },
131
+ },
132
+ ]);
133
+ }
96
134
  }
97
135
  }
98
- });
136
+ );
99
137
  } else {
100
- node.serviceConn.writeResourceValue(uri, value, pri, (err, response) => {
101
- if (err) {
102
- node.status({
103
- fill: 'yellow',
104
- shape: 'dot',
105
- text: 'Error: ' + JSON.stringify(err.code)
106
- });
107
- node.error('Mobius error writing resource ' + JSON.stringify(err));
108
- node.send([null, null, null, { ...msg, topic: uri, payload: { error: true, response: err }}]);
109
- } else {
110
- node.status({
111
- fill: 'green',
112
- shape: 'dot',
113
- text: JSON.stringify(response.data.pv)
114
- });
115
- if (node.detailedOutput === true) {
138
+ node.serviceConn.writeResourceValue(
139
+ uri,
140
+ value,
141
+ pri,
142
+ (err, response) => {
143
+ if (err) {
144
+ node.status({
145
+ fill: 'yellow',
146
+ shape: 'dot',
147
+ text: 'Error: ' + JSON.stringify(err.code),
148
+ });
149
+ node.error(
150
+ `Mobius error writing resource: ${err.code}, ${
151
+ err.message ? err.message : ''
152
+ }`
153
+ );
116
154
  node.send([
117
- { ...msg, topic: uri, payload: response.data.pv },
118
- { ...msg, topic: uri, payload: { pv: response.data.pv, name: response.data.name } },
119
- { ...msg, topic: uri, payload: response.data },
120
- { ...msg, topic: uri, payload: { error: false, response: response } }
155
+ null,
156
+ null,
157
+ null,
158
+ {
159
+ ...msg,
160
+ topic: uri,
161
+ payload: { error: true, response: err },
162
+ },
121
163
  ]);
122
164
  } else {
123
- node.send([
124
- { ...msg, topic: uri, payload: response.data.pv },
125
- { ...msg, topic: uri, payload: { pv: response.data.pv, name: response.data.name } }
126
- ]);
165
+ node.status({
166
+ fill: 'green',
167
+ shape: 'dot',
168
+ text: JSON.stringify(response.data.pv),
169
+ });
170
+ if (node.detailedOutput === true) {
171
+ node.send([
172
+ { ...msg, topic: uri, payload: response.data.pv },
173
+ {
174
+ ...msg,
175
+ topic: uri,
176
+ payload: {
177
+ pv: response.data.pv,
178
+ name: response.data.name,
179
+ },
180
+ },
181
+ { ...msg, topic: uri, payload: response.data },
182
+ {
183
+ ...msg,
184
+ topic: uri,
185
+ payload: { error: false, response: response },
186
+ },
187
+ ]);
188
+ } else {
189
+ node.send([
190
+ { ...msg, topic: uri, payload: response.data.pv },
191
+ {
192
+ ...msg,
193
+ topic: uri,
194
+ payload: {
195
+ pv: response.data.pv,
196
+ name: response.data.name,
197
+ },
198
+ },
199
+ ]);
200
+ }
127
201
  }
128
202
  }
129
- });
203
+ );
130
204
  }
131
205
  }
132
206
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-mobius-flow-base",
3
- "version": "3.1.1",
3
+ "version": "3.1.3",
4
4
  "description": "Node-RED base nodes for Mobius Flow",
5
5
  "main": "index.js",
6
6
  "types": "dist/index.d.ts",