diff --git a/dbus/dbuspassive.cpp b/dbus/dbuspassive.cpp
index 41047a1..a567e96 100644
--- a/dbus/dbuspassive.cpp
+++ b/dbus/dbuspassive.cpp
@@ -115,19 +115,26 @@
 {
     std::lock_guard<std::mutex> guard(_lock);
 
-    ReadReturn r = {_value, _updated};
+    ReadReturn r = {_value, _updated, _unscaled};
 
     return r;
 }
 
-void DbusPassive::setValue(double value)
+void DbusPassive::setValue(double value, double unscaled)
 {
     std::lock_guard<std::mutex> guard(_lock);
 
     _value = value;
+    _unscaled = unscaled;
     _updated = std::chrono::high_resolution_clock::now();
 }
 
+void DbusPassive::setValue(double value)
+{
+    // First param is scaled, second param is unscaled, assume same here
+    setValue(value, value);
+}
+
 bool DbusPassive::getFailed(void) const
 {
     if (redundancy)
@@ -253,7 +260,7 @@
         }
     }
 
-    setValue(value);
+    setValue(value, unscaled);
 }
 
 int handleSensorValue(sdbusplus::message_t& msg, DbusPassive* owner)
diff --git a/dbus/dbuspassive.hpp b/dbus/dbuspassive.hpp
index 72ad9a5..3813622 100644
--- a/dbus/dbuspassive.hpp
+++ b/dbus/dbuspassive.hpp
@@ -57,6 +57,7 @@
     bool getFailed(void) const override;
 
     void updateValue(double value, bool force);
+    void setValue(double value, double unscaled);
     void setValue(double value);
 
     void setFailed(bool value);
@@ -76,6 +77,7 @@
 
     std::mutex _lock;
     double _value = 0;
+    double _unscaled = 0;
     double _max = 0;
     double _min = 0;
     bool _failed = false;
