node-red-contrib-mobius-flow-base 2.5.86-beta.104 → 2.5.86-beta.107
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.
|
@@ -237,41 +237,88 @@ module.exports = function (RED) {
|
|
|
237
237
|
*/
|
|
238
238
|
node.updateNodeStatus = function (mobiusNode) {
|
|
239
239
|
node.users[mobiusNode.id] = mobiusNode;
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
240
|
+
if (!node.users[mobiusNode.id].inError) {
|
|
241
|
+
console.log(node.users[mobiusNode.id].statusType);
|
|
242
|
+
switch (node.users[mobiusNode.id].statusType) {
|
|
243
|
+
case 'timeSinceLastActive':
|
|
244
|
+
console.log('A');
|
|
245
|
+
node.users[mobiusNode.id].status(
|
|
246
|
+
node.buildLastActiveTimeStatus(node.users[mobiusNode.id].lastActiveTime)
|
|
247
|
+
);
|
|
248
|
+
case 'lastUri':
|
|
249
|
+
console.log('B');
|
|
250
|
+
const uri = node.users[mobiusNode.id].latestUri;
|
|
251
|
+
if (uri !== '' && uri !== undefined) {
|
|
252
|
+
node.users[mobiusNode.id].status({
|
|
253
|
+
fill: 'green',
|
|
254
|
+
shape: 'dot',
|
|
255
|
+
text: uri,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
case 'lastValue':
|
|
259
|
+
const value = node.users[mobiusNode.id].latestValue;
|
|
260
|
+
if (value !== '' && value !== undefined) {
|
|
261
|
+
node.users[mobiusNode.id].status({
|
|
262
|
+
fill: 'green',
|
|
263
|
+
shape: 'dot',
|
|
264
|
+
text: value,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
} else {
|
|
269
|
+
node.users[mobiusNode.id].status({
|
|
270
|
+
fill: 'green',
|
|
271
|
+
shape: 'dot',
|
|
272
|
+
text: node.users[mobiusNode.id].latestErrMessage,
|
|
273
|
+
});
|
|
254
274
|
}
|
|
255
275
|
};
|
|
256
276
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
277
|
+
// Information update functions to be used by node status
|
|
278
|
+
node.update = {
|
|
279
|
+
/**
|
|
280
|
+
* Update a given node's node last active time
|
|
281
|
+
* @param {Object} mobiusNode - The node whos last active time is to be updated
|
|
282
|
+
*/
|
|
283
|
+
lastActiveTime: (mobiusNode) => {
|
|
284
|
+
node.users[mobiusNode.id] = mobiusNode;
|
|
285
|
+
node.users[mobiusNode.id].lastActiveTime = Date.now();
|
|
286
|
+
node.users[mobiusNode.id].inError = false;
|
|
287
|
+
node.updateNodeStatus(mobiusNode);
|
|
288
|
+
},
|
|
289
|
+
/**
|
|
290
|
+
* Update a given node's node latest URI record
|
|
291
|
+
* @param {Object} mobiusNode - The node whos last URI record is to be updated
|
|
292
|
+
* @param {string} uri - The latest uri to be sent by the node
|
|
293
|
+
*/
|
|
294
|
+
latestUri: (mobiusNode, uri) => {
|
|
295
|
+
node.users[mobiusNode.id] = mobiusNode;
|
|
296
|
+
node.users[mobiusNode.id].latestUri = uri;
|
|
297
|
+
node.users[mobiusNode.id].inError = false;
|
|
298
|
+
node.updateNodeStatus(mobiusNode);
|
|
299
|
+
},
|
|
300
|
+
/**
|
|
301
|
+
* Update a given node's node latest URI record
|
|
302
|
+
* @param {Object} mobiusNode - The node whos last URI record is to be updated
|
|
303
|
+
* @param {number} value - The latest value to be sent by the node
|
|
304
|
+
*/
|
|
305
|
+
latestValue: (mobiusNode, value) => {
|
|
306
|
+
node.users[mobiusNode.id] = mobiusNode;
|
|
307
|
+
node.users[mobiusNode.id].latestValue = value;
|
|
308
|
+
node.users[mobiusNode.id].inError = false;
|
|
309
|
+
node.updateNodeStatus(mobiusNode);
|
|
310
|
+
},
|
|
311
|
+
/**
|
|
312
|
+
* Update a given node's node latest URI record
|
|
313
|
+
* @param {Object} mobiusNode - The node whos last URI record is to be updated
|
|
314
|
+
* @param {number} value - The latest value to be sent by the node
|
|
315
|
+
*/
|
|
316
|
+
errMessage: (mobiusNode, message) => {
|
|
317
|
+
node.users[mobiusNode.id] = mobiusNode;
|
|
318
|
+
node.users[mobiusNode.id].latestErrMessage = message;
|
|
319
|
+
node.users[mobiusNode.id].inError = true;
|
|
320
|
+
node.updateNodeStatus(mobiusNode);
|
|
321
|
+
},
|
|
275
322
|
};
|
|
276
323
|
|
|
277
324
|
/**
|
|
@@ -280,6 +327,7 @@ module.exports = function (RED) {
|
|
|
280
327
|
*/
|
|
281
328
|
node.register = function (mobiusNode) {
|
|
282
329
|
node.users[mobiusNode.id] = mobiusNode;
|
|
330
|
+
node.users[mobiusNode.id].inError = false;
|
|
283
331
|
if (node.connected) {
|
|
284
332
|
node.users[mobiusNode.id].status({
|
|
285
333
|
fill: 'green',
|
|
@@ -54,8 +54,8 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
54
54
|
</div>
|
|
55
55
|
<hr>
|
|
56
56
|
<div class="form-row">
|
|
57
|
-
<label for="node-input-statusType" style="width:
|
|
58
|
-
<select type="text" id="node-input-statusType" style="display: inline-block; width:
|
|
57
|
+
<label for="node-input-statusType" style="width: 135px;"><i class="fa fa-square" style="color:##55aa88"></i> Status Display</label>
|
|
58
|
+
<select type="text" id="node-input-statusType" style="display: inline-block; width: 287px; vertical-align: center;">
|
|
59
59
|
<option value="timeSinceLastActive">Show time since last active</option>
|
|
60
60
|
<option value="lastUri">Show last URI</option>
|
|
61
61
|
</select>
|
|
@@ -36,7 +36,6 @@ module.exports = function (RED) {
|
|
|
36
36
|
this.format = n.format;
|
|
37
37
|
this.include = n.include;
|
|
38
38
|
this.serviceConn = RED.nodes.getNode(n.connection);
|
|
39
|
-
this.latestUri = '';
|
|
40
39
|
this.statusType = n.statusType;
|
|
41
40
|
var node = this;
|
|
42
41
|
|
|
@@ -47,8 +46,8 @@ module.exports = function (RED) {
|
|
|
47
46
|
text: 'Disconnected',
|
|
48
47
|
});
|
|
49
48
|
node.serviceConn.subscribeToObjectCOV(node.object, this.id, (response) => {
|
|
50
|
-
node.serviceConn.
|
|
51
|
-
node.serviceConn.
|
|
49
|
+
node.serviceConn.update.latestUri(node, response.uri);
|
|
50
|
+
node.serviceConn.update.lastActiveTime(node);
|
|
52
51
|
let allResources = _.keyBy(
|
|
53
52
|
response.value.resources,
|
|
54
53
|
node.format === 'name' ? 'name' : 'rid'
|