diff --git a/src/nodeClass.js b/src/nodeClass.js index 59fba71..0e7c1cf 100644 --- a/src/nodeClass.js +++ b/src/nodeClass.js @@ -82,6 +82,7 @@ class nodeClass { }, functionality: { positionVsParent: uiConfig.positionVsParent || 'atEquipment', // Default to 'atEquipment' if not specified + distance: uiConfig.hasDistance ? uiConfig.distance : undefined } }; diff --git a/src/specificClass.js b/src/specificClass.js index d861c2f..8546f1e 100644 --- a/src/specificClass.js +++ b/src/specificClass.js @@ -498,7 +498,7 @@ class Measurement { updateOutputAbs(val) { //only update on change - if(val != this.outputAbs){ + if (val != this.outputAbs) { // Constrain value within process range if (val < this.config.scaling.absMin || val > this.config.scaling.absMax) { @@ -512,8 +512,13 @@ class Measurement { this.emitter.emit('mAbs', this.outputAbs);// DEPRECATED: Use measurements container instead // In the new method just update the measurement container and let the parent subscribe to it + if (typeof this.config.functionality.distance !== 'undefined') { + this.logger.debug(`Updating type: ${this.config.asset.type}, variant: ${"measured"}, postition : ${this.config.functionality.distance} container with new value: ${this.outputAbs}`); + this.measurements.type(this.config.asset.type).variant("measured").position(this.config.functionality.distance).value(this.outputAbs, Date.now(),this.config.asset.unit ); + return; + } this.logger.debug(`Updating type: ${this.config.asset.type}, variant: ${"measured"}, postition : ${this.config.functionality.positionVsParent} container with new value: ${this.outputAbs}`); - this.measurements.type(this.config.asset.type).variant("measured").position(this.config.functionality.positionVsParent).value(this.outputAbs, Date.now(),this.config.asset.unit ); // New method + this.measurements.type(this.config.asset.type).variant("measured").position(this.config.functionality.positionVsParent).value(this.outputAbs, Date.now(),this.config.asset.unit ); } }