diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 408e42f..bec96b1 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -425,6 +425,18 @@
                       var tempKeyParts = [];
                       var order = 0;
 
+                      function getScaledValue(value, scale){
+                        scale = scale + "";
+                        var power = parseInt(scale.replace(/[\s\t\+\-]/g,''),10);
+
+                        if(scale.indexOf("+") > -1){
+                          value = value * Math.pow(10, power);
+                        }else if(scale.indexOf("-") > -1){
+                          value = value / Math.pow(10, power);
+                        }
+                        return value;
+                      }
+
                       function getSensorStatus(reading){
                         var severityFlags = {critical: false, warning: false, normal: false}, severityText = '', order = 0;
 
@@ -483,6 +495,8 @@
                             return prev + " " + el;
                           });
 
+                          content.data[key].Value = getScaledValue(content.data[key].Value, content.data[key].Scale);
+
                           sensorData.push(Object.assign({
                             path: key,
                             selected: false,
