node-red-contrib-mobius-flow-base 3.1.0 → 3.1.2

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.
@@ -47,7 +47,10 @@ module.exports = function (RED) {
47
47
 
48
48
  node.on('input', function (msg) {
49
49
  let uri = node.mobject;
50
- if (msg.hasOwnProperty('topic') && require('./validateURI')(msg.topic, 4)) {
50
+ if (
51
+ msg.hasOwnProperty('topic') &&
52
+ require('./validateURI')(msg.topic, 4)
53
+ ) {
51
54
  uri = msg.topic;
52
55
  }
53
56
 
@@ -63,9 +66,17 @@ module.exports = function (RED) {
63
66
  shape: 'dot',
64
67
  text: 'Error: ' + JSON.stringify(err.code),
65
68
  });
66
- node.error('Mobius error reading object ' + JSON.stringify(err));
69
+ node.error(
70
+ `Mobius error reading object: ${err.code}, ${
71
+ err.message ? err.message : ''
72
+ }`
73
+ );
67
74
  if (node.detailedOutput === true) {
68
- node.send([null, null, { ...msg, topic: uri, payload: { error: true, response: err } }]);
75
+ node.send([
76
+ null,
77
+ null,
78
+ { ...msg, topic: uri, payload: { error: true, response: err } },
79
+ ]);
69
80
  }
70
81
  } else {
71
82
  node.status({
@@ -82,7 +93,11 @@ module.exports = function (RED) {
82
93
  node.send([
83
94
  { ...msg, topic: uri, payload: allResources },
84
95
  { ...msg, topic: uri, payload: response.data },
85
- { ...msg, topic: uri, payload: { error: false, response: response } },
96
+ {
97
+ ...msg,
98
+ topic: uri,
99
+ payload: { error: false, response: response },
100
+ },
86
101
  ]);
87
102
  } else {
88
103
  node.send({ ...msg, topic: uri, payload: allResources });
@@ -44,7 +44,10 @@ module.exports = function (RED) {
44
44
 
45
45
  node.on('input', function (msg) {
46
46
  let uri = node.resource;
47
- if (msg.hasOwnProperty('topic') && require('./validateURI')(msg.topic, 5)) {
47
+ if (
48
+ msg.hasOwnProperty('topic') &&
49
+ require('./validateURI')(msg.topic, 5)
50
+ ) {
48
51
  uri = msg.topic;
49
52
  }
50
53
 
@@ -60,7 +63,11 @@ module.exports = function (RED) {
60
63
  shape: 'dot',
61
64
  text: 'Error: ' + JSON.stringify(err.code),
62
65
  });
63
- node.error('Mobius error reading resource ' + JSON.stringify(err));
66
+ node.error(
67
+ `Mobius error reading resource : ${err.code}, ${
68
+ err.message ? err.message : ''
69
+ }`
70
+ );
64
71
  if (node.detailedOutput === true) {
65
72
  node.send([
66
73
  null,
@@ -78,14 +85,26 @@ module.exports = function (RED) {
78
85
  if (node.detailedOutput === true) {
79
86
  node.send([
80
87
  { ...msg, topic: uri, payload: response.data.pv },
81
- { ...msg, topic: uri, payload: { pv: response.data.pv, name: response.data.name } },
88
+ {
89
+ ...msg,
90
+ topic: uri,
91
+ payload: { pv: response.data.pv, name: response.data.name },
92
+ },
82
93
  { ...msg, topic: uri, payload: response.data },
83
- { ...msg, topic: uri, payload: { error: false, response: response } },
94
+ {
95
+ ...msg,
96
+ topic: uri,
97
+ payload: { error: false, response: response },
98
+ },
84
99
  ]);
85
100
  } else {
86
101
  node.send([
87
102
  { ...msg, topic: uri, payload: response.data.pv },
88
- { ...msg, topic: uri, payload: { pv: response.data.pv, name: response.data.name } },
103
+ {
104
+ ...msg,
105
+ topic: uri,
106
+ payload: { pv: response.data.pv, name: response.data.name },
107
+ },
89
108
  ]);
90
109
  }
91
110
  }
@@ -28,7 +28,7 @@
28
28
  'use strict';
29
29
 
30
30
  module.exports = function (RED) {
31
- function MobiusSendDCMDNode (n) {
31
+ function MobiusSendDCMDNode(n) {
32
32
  RED.nodes.createNode(this, n);
33
33
  this.cid = n.cid;
34
34
  this.uri = n.uri;
@@ -40,29 +40,53 @@ 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
  if (msg.hasOwnProperty('payload')) {
48
- node.serviceConn.sendDirectCommand(node.uri, node.cid, msg.payload, node.timeout, (err, response) => {
49
- if (err) {
50
- node.status({
51
- fill: 'yellow',
52
- shape: 'dot',
53
- text: 'Error: ' + JSON.stringify(err.code)
54
- });
55
- node.error('Mobius error sending DCMD command ' + JSON.stringify(err));
56
- node.send([null, { ...msg, topic: node.uri, payload: { error: true, response: err }}]);
57
- } else {
58
- node.status({
59
- fill: 'green',
60
- shape: 'dot',
61
- text: 'OK'
62
- });
63
- node.send([{ ...msg, topic: node.uri, payload: response.data}, { ...msg, topic: node.uri, payload: {error: false, response: response}}]);
48
+ node.serviceConn.sendDirectCommand(
49
+ node.uri,
50
+ node.cid,
51
+ msg.payload,
52
+ node.timeout,
53
+ (err, response) => {
54
+ if (err) {
55
+ node.status({
56
+ fill: 'yellow',
57
+ shape: 'dot',
58
+ text: 'Error: ' + JSON.stringify(err.code),
59
+ });
60
+ node.error(
61
+ `Mobius error sending DCMD command: ${err.code}, ${
62
+ err.message ? err.message : ''
63
+ }`
64
+ );
65
+ node.send([
66
+ null,
67
+ {
68
+ ...msg,
69
+ topic: node.uri,
70
+ payload: { error: true, response: err },
71
+ },
72
+ ]);
73
+ } else {
74
+ node.status({
75
+ fill: 'green',
76
+ shape: 'dot',
77
+ text: 'OK',
78
+ });
79
+ node.send([
80
+ { ...msg, topic: node.uri, payload: response.data },
81
+ {
82
+ ...msg,
83
+ topic: node.uri,
84
+ payload: { error: false, response: response },
85
+ },
86
+ ]);
87
+ }
64
88
  }
65
- });
89
+ );
66
90
  }
67
91
  });
68
92
 
@@ -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.0",
3
+ "version": "3.1.2",
4
4
  "description": "Node-RED base nodes for Mobius Flow",
5
5
  "main": "index.js",
6
6
  "types": "dist/index.d.ts",