node-red-contrib-mobius-flow-base 2.5.86-beta.105 → 2.5.86-beta.108

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,33 +237,47 @@ module.exports = function (RED) {
237
237
  */
238
238
  node.updateNodeStatus = function (mobiusNode) {
239
239
  node.users[mobiusNode.id] = mobiusNode;
240
- switch (node.users[mobiusNode.id].statusType) {
241
- case 'timeSinceLastActive':
242
- node.users[mobiusNode.id].status(
243
- node.buildLastActiveTimeStatus(node.users[mobiusNode.id].lastActiveTime)
244
- );
245
- case 'lastUri':
246
- const uri = node.users[mobiusNode.id].latestUri;
247
- if (uri !== '' && uri !== undefined) {
248
- node.users[mobiusNode.id].status({
249
- fill: 'green',
250
- shape: 'dot',
251
- text: uri,
252
- });
253
- }
254
- case 'lastValue':
255
- const value = node.users[mobiusNode.id].latestValue;
256
- if (value !== '' && value !== undefined) {
257
- node.users[mobiusNode.id].status({
258
- fill: 'green',
259
- shape: 'dot',
260
- text: value,
261
- });
262
- }
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
+ console.log(node.users[mobiusNode.id].statusType);
251
+ console.log('-');
252
+ const uri = node.users[mobiusNode.id].latestUri;
253
+ if (uri !== '' && uri !== undefined) {
254
+ node.users[mobiusNode.id].status({
255
+ fill: 'green',
256
+ shape: 'dot',
257
+ text: uri,
258
+ });
259
+ }
260
+ case 'lastValue':
261
+ const value = node.users[mobiusNode.id].latestValue;
262
+ if (value !== '' && value !== undefined) {
263
+ node.users[mobiusNode.id].status({
264
+ fill: 'green',
265
+ shape: 'dot',
266
+ text: value,
267
+ });
268
+ }
269
+ }
270
+ } else {
271
+ node.users[mobiusNode.id].status({
272
+ fill: 'green',
273
+ shape: 'dot',
274
+ text: node.users[mobiusNode.id].latestErrMessage,
275
+ });
263
276
  }
264
277
  };
265
278
 
266
279
  // Information update functions to be used by node status
280
+ // Calling any of these will update the node status
267
281
  node.update = {
268
282
  /**
269
283
  * Update a given node's node last active time
@@ -272,6 +286,7 @@ module.exports = function (RED) {
272
286
  lastActiveTime: (mobiusNode) => {
273
287
  node.users[mobiusNode.id] = mobiusNode;
274
288
  node.users[mobiusNode.id].lastActiveTime = Date.now();
289
+ node.users[mobiusNode.id].inError = false;
275
290
  node.updateNodeStatus(mobiusNode);
276
291
  },
277
292
  /**
@@ -282,16 +297,29 @@ module.exports = function (RED) {
282
297
  latestUri: (mobiusNode, uri) => {
283
298
  node.users[mobiusNode.id] = mobiusNode;
284
299
  node.users[mobiusNode.id].latestUri = uri;
300
+ node.users[mobiusNode.id].inError = false;
285
301
  node.updateNodeStatus(mobiusNode);
286
302
  },
287
303
  /**
288
- * Update a given node's node latest URI record
289
- * @param {Object} mobiusNode - The node whos last URI record is to be updated
304
+ * Update a given node's node latest sent value record
305
+ * @param {Object} mobiusNode - The node whos last value record is to be updated
290
306
  * @param {number} value - The latest value to be sent by the node
291
307
  */
292
308
  latestValue: (mobiusNode, value) => {
293
309
  node.users[mobiusNode.id] = mobiusNode;
294
310
  node.users[mobiusNode.id].latestValue = value;
311
+ node.users[mobiusNode.id].inError = false;
312
+ node.updateNodeStatus(mobiusNode);
313
+ },
314
+ /**
315
+ * Update a given node's node latest error message record
316
+ * @param {Object} mobiusNode - The node whos last error message record is to be updated
317
+ * @param {number} value - The node's latest error message
318
+ */
319
+ errMessage: (mobiusNode, message) => {
320
+ node.users[mobiusNode.id] = mobiusNode;
321
+ node.users[mobiusNode.id].latestErrMessage = message;
322
+ node.users[mobiusNode.id].inError = true;
295
323
  node.updateNodeStatus(mobiusNode);
296
324
  },
297
325
  };
@@ -302,6 +330,7 @@ module.exports = function (RED) {
302
330
  */
303
331
  node.register = function (mobiusNode) {
304
332
  node.users[mobiusNode.id] = mobiusNode;
333
+ node.users[mobiusNode.id].inError = false;
305
334
  if (node.connected) {
306
335
  node.users[mobiusNode.id].status({
307
336
  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: 140px;"><i class="fa fa-bars"></i> Status Display</label>
58
- <select type="text" id="node-input-statusType" style="display: inline-block; width: 282px; vertical-align: center;">
57
+ <label for="node-input-statusType" style="width: 135px;"><i class="fa fa-square; 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>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-mobius-flow-base",
3
- "version": "2.5.86-beta.105",
3
+ "version": "2.5.86-beta.108",
4
4
  "description": "Node-RED base nodes for Mobius Flow",
5
5
  "main": "index.js",
6
6
  "types": "dist/index.d.ts",