diff --git a/include/PSUSensor.hpp b/include/PSUSensor.hpp
index d6717cd..9bc2e83 100644
--- a/include/PSUSensor.hpp
+++ b/include/PSUSensor.hpp
@@ -20,7 +20,8 @@
               std::vector<thresholds::Threshold>&& thresholds,
               const std::string& sensorConfiguration,
               const std::string& sensorUnits, unsigned int factor, double max,
-              double min, const std::string& label, size_t tSize);
+              double min, const std::string& label, size_t tSize,
+              double pollRate);
     ~PSUSensor() override;
     void setupRead(void);
 
@@ -36,10 +37,15 @@
     void handleResponse(const boost::system::error_code& err);
     void checkThresholds(void) override;
     void updateMinMaxValues(void);
+    unsigned int sensorPollMs = defaultSensorPollMs;
 
     int fd;
-    static constexpr unsigned int sensorPollMs = 1000;
     static constexpr size_t warnAfterErrorCount = 10;
+
+  public:
+    static constexpr double defaultSensorPoll = 1.0;
+    static constexpr unsigned int defaultSensorPollMs =
+        static_cast<unsigned int>(defaultSensorPoll * 1000);
 };
 
 class PSUProperty
